This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SMJ320F2812: DSP外扩FLASH,无法从片外FLASH启动

Part Number: SMJ320F2812
  1. 将程序烧写至外部FLASH后,发现并不能启动起来,链接JTAG后检查发现程序一直在boot28.inc中循环,并没有跳至main函数,这是什么原因

  • 你好,从外部flash启动的话相应的启动地址等等也需要更改,不知道你对程序有做过相应修改吗?

  • 3FFFC0地址里填写的内容就是程序的入口地址

  • 你好,你是通过哪个外设外扩flash的?对应的boot mode pin有没有修改?以及,cmd文件具体是如何修改的?

  • 我是直接用zone7,外扩的flash,从外部flash启动应该不需要修改pin脚吧?

    1.map

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    MEMORY
    {
    PAGE 0: /* Program Memory */
    /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */
    ZONE0 : origin = 0x002000, length = 0x002000 /* XINTF zone 0 */
    ZONE1 : origin = 0x004000, length = 0x002000 /* XINTF zone 1 */
    // RAML0 : origin = 0x008000, length = 0x001000 /* on-chip RAM block L0 */
    ZONE2 : origin = 0x080000, length = 0x080000 /* XINTF zone 2 */
    ZONE6 : origin = 0x100000, length = 0x001000 /* XINTF zone 6 allocated for code */
    OTP : origin = 0x3D7800, length = 0x000800 /* on-chip OTP */
    CSM_RSVD : origin = 0x3F7F80, length = 0x000076 /* Part of FLASHA. Program with all 0x0000 when CSM is in use. */
    BEGIN : origin = 0x3F8000, length = 0x000002
    // BEGIN : origin = 0x3F8000, length = 0x000002 /* Part of FLASHA. Used for "boot to Flash" bootloader mode. */
    CSM_PWL : origin = 0x3F7FF8, length = 0x000008 /* Part of FLASHA. CSM password locations in FLASHA */
    RAMH0 : origin = 0x3F8002, length = 0x001FFD /* on-chip RAM block H0 */
    // RAML1 : origin = 0x009000, length = 0x001000 /* on-chip RAM block L1 */
    ZONE7 : origin = 0x3FC002, length = 0x001FFE /* XINTF zone 7 available if MP/MCn=1 */
    //ZONE7 : origin = 0x3FC000, length = 0x001000 /* XINTF zone 7 available if MP/MCn=1 */
    ROM : origin = 0x3FF000, length = 0x000FC0 /* Boot ROM available if MP/MCn=0 */
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • 目前看不是程序没跑起来 而是进不去中断,在主程序内的程序都是正常运行的,但是中断的程序就是进不去,但若是连上仿真器,全速运行,又是没问题的。

    这个是哪不对了