洒长春菩网站建设丹东建设监督网站
用STCubeIDE进行标准库开发
1、CubeIDE介绍
https://www.stmcu.com.cn/ecosystem/Cube/STM32CubeIDE
2、CubeIDE下载
点击上面的链接,登录即可下载
3、搭建Demo工程
新建一个工作空间

创建一个工程

选择芯片-STM32F103C8T6

填写工程信息

添加标准库到工程
标注库文件

添加到工程中
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XEwoOXrn-1685184951806)(C:\Users\23206\AppData\Roaming\Typora\typora-user-images\image-20230527161703375.png)]](https://img-blog.csdnimg.cn/eccb67905d8f4bab974e8af02265044d.png)
配置工程属性
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o3PBkYPd-1685184951806)(C:\Users\23206\AppData\Roaming\Typora\typora-user-images\image-20230527162009980.png)]](https://img-blog.csdnimg.cn/8ab953c9ffbf452ab49a441f87103379.png)
添加效果如下

添加标准库头文件路径
这次可以直接使用快捷键AlL+Enter调出配置界面,添加头文件路径

添加后如下

添加标准库的源文件到工程中

再次确认添加的头文件跟源文件

添加全局宏定义用于工程属性

移除重复的启动文件
把库文件自带的删除
修改内核文件
修改三行代码 每个加一个取地址符号
uint32_t __STREXB(uint8_t value, uint8_t *addr)
{uint32_t result=0;//__ASM volatile ("strexb %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );__ASM volatile ("strexb %0, %2, [%1]" : "=&r" (result) : "r" (addr), "r" (value) );return(result);
}/*** @brief  STR Exclusive (16 bit)** @param  value  value to store* @param  *addr  address pointer* @return        successful / failed** Exclusive STR command for 16 bit values*/
uint32_t __STREXH(uint16_t value, uint16_t *addr)
{uint32_t result=0;//__ASM volatile ("strexh %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );__ASM volatile ("strexh %0, %2, [%1]" : "=&r" (result) : "r" (addr), "r" (value) );return(result);
}/*** @brief  STR Exclusive (32 bit)** @param  value  value to store* @param  *addr  address pointer* @return        successful / failed** Exclusive STR command for 32 bit values*/
uint32_t __STREXW(uint32_t value, uint32_t *addr)
{uint32_t result=0;//__ASM volatile ("strex %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );__ASM volatile ("strex %0, %2, [%1]" : "=&r" (result) : "r" (addr), "r" (value) );return(result);
}
 
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-936QY4ai-1685184951808)(C:\Users\23206\AppData\Roaming\Typora\typora-user-images\image-20230527170332383.png)]](https://img-blog.csdnimg.cn/624cd57bff07456fb5db550e0e702861.png)
编写用户自定义的LED代码编译发现了错误
原因:缺少文件
处理:漏加的文件

编译下载
编译通过:

用stlink下载

注意事项:
第一次下载使用STLINK可能需要更新以下固件,重新插拔几次点击更新即可。
后记:如果不小心改动了IED默认布局可以这样重新恢复默认
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lrjIY4Za-1685184951809)(C:\Users\23206\AppData\Roaming\Typora\typora-user-images\image-20230527185016884.png)]](https://img-blog.csdnimg.cn/f9efe9aaa82a425fa5390468be905bc3.png)
参考博客:
STM32CubeIDE移植标准库_cubeide 标准库_white_loong的博客-CSDN博客
http://t.csdn.cn/dS2OP
