我自己写了一个手机端类似的烧录工具代替pc端的工具,负责把bin文件写到stm32f4 flash中。但是写完数据后,重新上电不启动。我通过STM32 ST-LINK Utility工具烧录对应的bin文件,是可以启动的,同时把对应flash数据读出来与不能启动情况下写进去的数据比较发现完全一样。为啥我写bin文件到flash中不能启动,而STM32 ST-LINK Utility工具写的bin 文件可以启动?不知道还有什么特殊操作吗? |
stm32f407进入boot里,通过DFU更新程序,没有识别到usb设备
STM32F4作为SPI从机,主机发送完数据后,从机没有正确进入中断
STM32F407 USB怎么测试接口的极限速度
大佬们,请教有关串口通信问题
STM32F407ZGT6物料表面丝印问题
stm32cubeide如何修改芯片型号和启动文件
CDC_Transmit_HS 卡死
修改stm32f407 tim14的ccr1,但是占空比不变?
修改stm32f407 tim14的ccr1,但是占空比不变
STM32IDE工程内如何访问、计算得到当前程序flash已经使用的情况?
我现在就是写bin文件到flash中呀,在写的过程中同时边写边读,把读出来的数据与bin文件原始数据比较是一样的。但是就是无法运行。
发现一个奇怪的现象,我再写bin文件到flash过程中,我每写完512字节后,再从flash读512字节回来比较都能读到数据,并且数据比较也完全对。为啥我整个写完后,再重新从0x8000000开始回读整个数据,发现开头部分或中间有些部分都是FF,感觉没有写进去似的。这是啥回事呀,写完数据还需要发送什么命令保证数据完整写入吗?
知道原因了,谢谢大家
什么原因
我估计是写擦的问题,楼主,建议写之前就都擦除了,后面就直接写,不进行擦除操作了。或者是内部地址增加的时候,发生了地址计算错误或者溢出的情况。