stm32 bootloader(一)

现在工作一直做的汇编,不想把以前学的c和stm32丢了。于是决定利用下班的时间写个bootloader。整天思路:从串口接收数据,可以利用ESP8266等透传模块和stm32串口连接。在应用层即APP里接受串口来的数据,把数据写到外部spi flash,并且写入相关需要升级的标志。在mcu重启时检测标志位,如果需要升级就读取升级数据,写到内部flash里。升级成功后将需要升级的标志去除。
flash使用W25Q32,关于它的驱动不想重复造轮子,于是移植安福莱的spi flash驱动,先简单验证,驱动是否有问题。由于我的芯片是c8t6系列,所以把例程里的头文件都换了,然后测试的时候。。。。。。
一度怀疑→_→串口有bug,查了一个小时发现不是,然后怀疑spi驱动bug,查了半天确实我移植的地方没注意到,改了还是不行。发现每次在子函数里写一个4k的零时数组老是进入硬件问题中断里,突然意识到堆栈小了,栈内存改到8k,测试通过。

你可能感兴趣的:(d,f)