• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

iap在flash写入时卡死的问题

万里追牛 2019-08-21 浏览量:1812
iap在flash写入时卡死的问题:
     iap_write_appbin(FLASH_APP1_ADDRUSB_USART_RX_BUFapplenth);//更新FLASH代码   
执行只一句是将进入void HardFault_Handler(void)硬件错误请问原子哥这可能是什么原因造成的,我是用的是stm32f1c8t6,64kb ROM,地址设置为0x08008000,bootloader大小为23kb左右


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 单纯你那一句函数来看是没有问题的,那一句函数就是将串口接收到的程序数据复制到flash的应用程序块中,这个操作是没问题的,如果一旦执行这一句就出现硬件错误,建议你先保证能够安全的把数据写到内部flash中,然后再去做IAP串口升级这个功能。要想将数据写入内部flash,需要解除锁定,然后利用固件库提供的函数进行写数据,要注意的是内部flash不支持字节操作,只能半字(16位)或字(32位)的形式写入数据。

    • 发布于 2019-08-22
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 首先,你先查下都什么可以导致void HardFault_Handler(void)。

    其次,是不是写保护了。

    • 发布于2019-08-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 是不是写入的地址有问题,超过flash空间,或者 第0位不是0?单步仿真一下看看
    • 发布于2019-08-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 是不是写的位置有程序在运行?看看现有程序在ROM里面的占用情况,读写的时候尽量关闭中断。
    • 发布于2019-09-11
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

iap在flash写入时卡死的问题