采用RSK T2M例程下载调试,在初始化堆栈就出错,发生复位。

你好,我用IAR下载例程,调试RZT2M芯片,使用的是J-LINK V11,发现程序在启动文件初始化堆栈就出错,然后就执行这条语句 BSP_CFG_HANDLE_UNRECOVERABLE_ERROR(0);请问怎么解决这个问题呢?

Parents
  • 请问你用的是我们RSK 吗?还是你们自己的板子?我们的RSK 按照你的配置可以正常调试。

  • 我用的是CN032板子,用CN032下载调试也是有问题的。我们公司是世强先进。

  • 官网上的开发例程(Example Program)在调试的时间,默认都是(RAM execution without flash memory)的模式,但是当片外flash中烧入过程序后,如果客户想要调试其它例程时,选择(RAM execution without flash memory)模式时,无法进行正常的调试。原因是如果flash里面有程序,并且使用了中断处理函数。板子上电后,CPU被 Flash的代码初始化并开启了中断。面在RAM模式调试时,由于下载程序后不能执行Reset操作(如果ResetRAM里的数据会丢失),此时RAM里的程序运行后,Flash初始化开启的中断产生了,而此时RAM程序里并没有相应的处理函数,代码会跳到不存在的中断向量执行,因此CPU出现异常。

    问题可以参考以下几点:

      • 断开RSK板的CN8 跳线(断开Flash简单直接)
      • 使用flash 模式调试例程
      • 擦除flash里面的内容

                 

    • 另外客户对FSP的工程做调试的时候,并且是flash 模式,如果调试的时候仍然无法停留在程序入口,解决这个问题,可以在程序进入hal_entry之前加

    一段等待时间, 具体办法可以参考FSP getting started manual的P74页的说明

  • 哈喽,这个启动模式有什么说明文档吗?

  • 这个结合r01an6434ej0103-rzt2-rzn2-fsp-getting-started.pdf应该好理解:MPU启动的过程,需要从外部flash加载代码。那么不同的Flash类型就对应上面的选项。RAM模式主要是调试用的。Custome 是强调客户自己的板子。RSK是我们的开发板。

  • MPU启动不能直接通过对内部flash擦除写入启动吗?必须要从外部flash加载代码吗?

  • MPU 架构决定内部没有开放应用的FLASH,全部的应用代码/数据都是放在外部FLASH 上的; 这一点与MCU 不同;

Reply Children