STM32 开发环境搭建

STM32 开发环境搭建

STM32 偶尔用一下子,但总是环境搭建搭建三四天,代码开发5分钟,备忘。

系统环境

Amd64 处理器,64位 win10 专业版系统

烧录程序
  1. 安装 ST-LINKV2+USB+driver1.0+for+Windows8,+32+and+64+bits(stlink 驱动程序)
  2. Stlink 与单片机开发板连接,stlink 连接电脑,单片机开发板通电
  3. 运行 STM32 ST-LINK Utility.exe
  4. 点击 target->connect,成功读取单片机数据
  5. 点击 setings 设置 SWG/connect under reset
  6. 点击 File->open file 打开 test.hex
  7. 点击 Target->program verify 烧录新的程序,运行成功
IDE
  1. 下载keiluvision5(MDK526) https://www.7down.com/soft/222421.html
  2. 安装与破解 https://www.7down.com/article/144157.html
    a. 双击“mdk526.exe”开始安装
    b. 输入任意Name等信息
    c. 安装完成后,点击“finish”
    d. 双击运行桌面自动生成的“Keil uVision5”快捷方式,点击“File”,选择“License Management”,进入安装密钥。
    e. 此时打开解压文件中的“keygen.exe”注册机,将注册界面的“CID”复制到注册机中,然后点击“Target”修改为"ARM",点击Generate,生成注册码
    f. 将注册码复制到注册界面,点击“AddLIC”,出现如下界面说明破解完成。
    g. 进入 pack installer,device-STMicroelectronics-STM32F103RC,下载对应的 pack,可以打开shadowsocks 提速(实操中貌似用处不大)
参数配置与编译
  1. 下载标准外设库 STM32F10x_StdPeriph_Lib
  2. 新建project DEMO_STM32F10x,设备选择 STM32F103RC
  3. 工程内部分组:
    a. CORE 核心,从 STM32F10x_StdPeriph_Lib 的 Libraries\CMSIS\CM3 中获得
    b. HARDWARE 外设驱动
    c. OBJ 编译输出
    d. STM32F10x_FWLib 标准外设库,从 STM32F10x_StdPeriph_Lib 的Libraries\STM32F10x_StdPeriph_Driver中获得
    e. SYSTEM 内部功能驱动
    f. USER 业务逻辑相关
  4. 编译设置project->options for target->c/c++
    a. Define 添加 STM32F10X_HD,USE_STDPERIPH_DRIVER
    b. Include path 添加 所有相关头文件的目录
  5. 输出设置
    a. 更改编译输出的路径 select folder for objects
    b. 选择 create hex file
  6. 从测试用例中添加 SYSTEM文件夹和main.c
  7. 编译遇到两个错误:
    a. stm32f10x_type.h(23): error: #256: invalid redeclaration of type name “s32”
    b. …\SYSTEM\sys\sys.c(75): error: #136: struct “” has no field “IPR” (NVIC->IPR[IPRADDR]|= temp<<IPROFFSET; //设置响应优先级和抢断优先级)
  8. 错误的原因和解决:
    a. invalid redeclaration 是因为从测试用例中添加的SYSTEM是比较旧的工程,其中stm32f10x_map.h/stm32f10x_type.h 和新的头文件stm32f10x.h有冲突,stm32f10x.h包含前面两个头文件,把它们替换掉即可。
    b. (NVIC_Type *)类型的NVIC 中没有IPR变量,有IP变量用于中断优先级设置,修改即可。
  9. 解决乱码问题,Edit – Configuration-Encoding 选择 GB2312 即可
参考文档

https://blog.csdn.net/ybhuangfugui/article/details/51510482
https://www.jianshu.com/p/01acf59a97a3

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值