keil未指定 PY32F0 具体芯片型号导致编译报错及无法烧录问题
今天使用新的电脑编译了原本在另一台电脑上创建的一个工程,结果报如下错误:
这个报错不是代码错误,是必须给工程指定具体的 PY32F0 芯片型号,编译器才知道用哪套寄存器定义。
py32f0xx.h第 133 行强制检查:必须定义一个芯片型号宏,否则直接报错。
最快解决方法:工程全局宏定义
Keil 操作步骤
- 工程 →Options for Target...(魔术棒)
- 切换到C/C++选项卡
- 找到Define输入框,添加下面的宏(用逗号分隔)
USE_HAL_DRIVER_PY32F002xx,PY32F002xx,PY32F002Ax5重新编译即可。
编译成功后,烧录固件的时候又报了如下错误:
这个报错和代码无关,是Keil 没有给你的 PY32F002 芯片设置正确的 Flash 烧录算法,导致无法下载程序。
设置 Flash 烧录算法
- 切换到Utilities选项卡
- 选择Use Debug Driver
- 点击Settings
- 切换到Flash Download
- 点击Add
添加如上两项后,即可成功烧录。
