开发环境搭建-stm32CubeIDE进行标准库开发
stm32CubeIDE介绍
https://www.stmcu.com.cn/ecosystem/Cube/STM32CubeIDE
stm32CubeIDE下载
点击上面的链接,登录即可下载。
搭建demo工程
- 新建工作空间
- 创建一个工程
- 选择芯片-STM32F103C8T6
- 点击“Next”
- 点击“Finish ”
- 添加标准库到项目工程文件目录下
- 配置工程属性
- 按F5刷新工程文件,添加的效果如下:
- 添加标准库头文件路径,直接使用快捷键AlL+Enter调出配置界面,添加头文件路径
添加后如下:
注意:头文件如果是灰色,则说明添加失败。 - 添加标准库的源文件到工程中
- 添加全局宏定义用于工程属性
- 删除重复的启动文件
删除的是除GCC编译器之外的启动文件 - 修改内核文件 core_cm3.c文件
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);
}
/**
1. @brief STR Exclusive (32 bit)
2. 3. @param value value to store
3. @param *addr address pointer
4. @return successful / failed
5. 7. 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);
}
- 调试器选择
- 编译下载
注意事项:
如果不小心改动了IED默认布局可以这样重新恢复默认
IDE配置gitee
-
快捷键AlL+Enter调出配置界面
注意:第2步骤:先选中仓库,再点击“Create Repository”。
-
推送至本地
第2步骤中:提交本地说明 -
远程仓库信息的填写
-
填写gitee创建的仓库路径,账号和密码使用gitee的账号,账号不要使用gitee邮箱,使用你的gitee用户名。
-
点击Next
-
一路确认。。
提示代码已经合并到Gitee.com。