
一.问题 近来项目需要用低成本STM32F042G6开发。遇到下面问题: 1.J-FLASH下载找不到stm32f0芯片。 2.做IAP升级程序,需要重新设定中断偏移量,但F0和F1及F4的中断偏移量设置相当不同。 3.IAP程序的移植及注意事项。 二.解决 1.J-FLASH找不到F0芯片,很好解决,重新下载安装一个J-flash即可。 2.STM32F0中断偏移量的设置 你需要这样搞: (1)main函数开头部分加入这两行代码: ![]() 0x20000000不需要更改; 0x8003000是APP程序的偏移地址; 0xC0是这样计算出的:打开startup_stm32f042.s文件,从_Vectors往下数,总共48个中断向量入口; ![]() 48 *4 = 192 = 0xC0; (2)然后MDK魔术棒这样设置: ![]() Start中设置0x200000C0就是0x2000000+0xC0; Size中这样设置,就是0x1800(6Kbytes的Sram)-0xC0 = 0x1740; 好了,对于STM32F0的中断偏移就设置好了。 3.IAP程序的移植及注意事项 移植过程中,发现进入升级程序中,开始擦除Flash的对应页时,直接擦除了IAP程序的本身; 通过已通查找,发现这里要修改为对应芯片Flash的对应值: ![]() 否则会因为Flash不匹配而误擦除; 议,转载请附上原文出处链接及本声明。 |