Clion开发STM32正点原子例程移植过程
硬件:STM32F103zet6战舰v3开发板,stlink下载器
软件:Clion,STM32CubeMX
移植过程
1.Clion创建STM32CubeMX项目,记住项目名称
2.进入STM32CubeMX进行配置。选择芯片信号,配置相关硬件资源。
GPIO配置参考例程代码:
初始置位保留,在CubeMX配置IO时加入用户便签可以方面输入,不需要记录端口号
.h文件的定义根据自己需要进行注释,用HAL库实现
当时钟选择外部晶振时,时钟树可以选择最大72M,如果是内部时钟,则最大为64M
项目管理如下,项目名称要和Clion创建的项目名称对应
生成.c.h文件
点击GENERATE CODE,复写创建的项目内容
加入stlink.cfg
# choose st-link/j-link/dap-link etc.
#adapter driver cmsis-dap
#transport select swd
source [find interface/stlink-v2.cfg]
transport select hla_swd
source [find target/stm32f1x.cfg]
# download speed = 10MHz
adapter speed 10000
配置编译器,加入stlink.cfg文件路径及上面的名称,涉及程序下载。
外设.c.h文件从例程复制到Clion,Inc加入.h文件;Src加入.c文件。
在.c文件包含#include"gpio.h",注释掉相关引脚配置,如图。保留初始置位。
之后在主函数内包含相关外设的头文件
HAL库取反操作代码
HAL_GPIO_TogglePin(BEEP_GPIO_Port,BEEP_Pin);
锤子编译,三角箭头为下载,虫子为调试。硬件要接好stlink
链图片转存中…(img-IIIJzutV-1676878883893)]
锤子编译,三角箭头为下载,虫子为调试。硬件要接好stlink
原例程的sys.h的引用可以删除,不影响功能实现。
小白一个,学习记录。有任何问题欢迎讨论交流。
具体参考链接:
https://zhuanlan.zhihu.com/p/145801160
https://www.bilibili.com/video/BV1FG4y1g7BN/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=4fa353312941159b5c6ebc5e138936cd