STM32F042G6芯片开发-相关问题及解决

一.问题

近来项目需要用低成本STM32F042G6开发。遇到下面问题:

1.J-FLASH下载找不到stm32f0芯片。

2.做IAP升级程序,需要重新设定中断偏移量,但F0和F1及F4的中断偏移量设置相当不同。

3.IAP程序的移植及注意事项。

二.解决

1.J-FLASH找不到F0芯片,很好解决,重新下载安装一个J-flash即可,软件见链接。

链接:https://pan.baidu.com/s/1i4j-jokrlyC7ToREVROgPA 
提取码:pu13

2.STM32F0中断偏移量的设置,参考如下博主,写的很好:

http://www.51hei.com/bbs/dpj-40235-1.html

你需要这样搞:

(1)main函数开头部分加入这两行代码:

0x20000000不需要更改;

0x8003000是APP程序的偏移地址;

0xC0是这样计算出的:打开startup_stm32f042.s文件,从_Vectors往下数,总共48个中断向量入口;

STM32F042G6芯片开发-相关问题及解决_第1张图片

48 *4 = 192 = 0xC0;

(2)然后MDK魔术棒这样设置:

STM32F042G6芯片开发-相关问题及解决_第2张图片

Start中设置0x200000C0就是0x2000000+0xC0;

Size中这样设置,就是0x1800(6Kbytes的Sram)-0xC0 = 0x1740;

好了,对于STM32F0的中断偏移就设置好了。

 

3.IAP程序的移植及注意事项

从网上找的官方的STM32F051的IAP程序,地址在这里:

http://www.openedv.com/forum.php?mod=viewthread&tid=47346&highlight=STM32F0%2BIAP

移植过程中,发现进入升级程序中,开始擦除Flash的对应页时,直接擦除了IAP程序的本身;

通过已通查找,发现这里要修改为对应芯片Flash的对应值:

STM32F042G6芯片开发-相关问题及解决_第3张图片

否则会因为Flash不匹配而误擦除;

-----------------------------------------------

最后,由于规定,真的不能传源码,各位谅解。。。

 

 

 

你可能感兴趣的:(STM32,IAP升级)