本人在做这款MCU中,踩了几个坑
1.编写MCU FLASH,给的demo是有误的,没有加载到RAM中(可能官方已更新),这个解决方式 在上篇文中已提过,但在F4XX库中,这个问题是解决了,这几个函数加载到了ram中,建议大家用这个库,剩的给自己埋坑。
2.在app部分中,需要特别注意这个ICG(删除掉就好了),如果不去掉这个C文件,编译出来的文件总是BIN文件夹,不是一个.BIN文件,因为在ICG文件中,定义了一个0X400地址。mu'q
3.SCB->VTOR 这个,照之前ST的经验,是放在main里面重置一下就好了,但是给的开发文档完全没提到,以为不要也没关系,加上自己也挖了不少坑,这个BOOT跳转APP,经常性出现问题,在后来偶然文件比较时,发现大华把这个东西,加载在一个system_hc32f46x.c里面,而这个函数是在mian之前就调用了, 见startup_hc32f46x.s
EXPORT Reset_Handler [WEAK]
IMPORT SystemInit
IMPORT __main
终于找到问题的根源,顺利跳转了。
4.USB-BOOT升级,用了USB通讯口,按照代理商的技术说法,在boot中使用了的资源,跳转前最好全部释放还原,这点不知道STM32F4也是这个操作吗(没实际用过,不好评论),在M3核上没见过。
总感觉这款片子的demo没低功耗系列做的好,不知道是功能强大还是其它原因,坑位不少,希望对类似的朋友又帮助。