ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

STM32-CubeMX学习笔记

2021-06-17 15:52:13  阅读:245  来源: 互联网

标签:__ 函数 weak 笔记 msp STM32 CubeMX packed


例程参考链接:http://bbs.elecfans.com/jishu_714935_1_1.html

1、首次使用参见文档:http://blog.csdn.net/tq384998430/article/details/53466263

2、CubeMX使用的HAL库中宏函数都是使用两个下划线加上全大写字母构成,因此程序中看见双下划线全大写的函数基本都是宏函数。普通宏替换则没有双下划线,但是是由全大写字母组成。

3、CubeMX生成的工程需要修改仿真器件,默认是使用ST_link,同时在Utilities选项卡中选择下载后执行,否则下载完需要复位才能执行,并且选择正确的芯片FLASH型号。

4、CubeMX生成的工程中更有很多msp函数,msp的全称是MCU Specific Package,没太明白这个的意思,但是在实际程序中是用来初始化外设对应管脚、时钟等的函数,通常HAL库中都有一个msp init和msp deinit函数,但是这些函数都加上了前缀:__weak,这个前缀的解释引用:http://blog.csdn.net/adaptiver/article/details/6695637

__weak是一个宏,和__packed是同一种东西都是gcc的扩展属性:
#define __packed __attribute__((packed))
#define __weak __attribute__((weak))
如果这个关键字用在函数定义上面,一般情况下和一般函数没有两样。但是当有一个同名函数但是不带__weak被定义时,所有对这个函数的调用都是指向后者(不带__weak那个), 如果有两个一样的函数都用了__weak,那么真正调用那个,就要看连接器了。

5、

标签:__,函数,weak,笔记,msp,STM32,CubeMX,packed
来源: https://blog.51cto.com/u_12956289/2917173

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有