[ABANDONED] Issue happened when JLink load axf file to MCU

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [ABANDONED] Issue happened when JLink load axf file to MCU

    Hello!
    MCU supplier provide flash driver under KEIL MDK. I am developing open flash driver of it. Code of open flash driver completed. During testing, I found one strange thing when JLink load axf file.
    1. I load file under KEIL MDK, using Download button(F8) function.
    2. I load axf which generated under KEIL MDK using my open flash driver. JLink will verify code inside MCU's flash first. My open flash driver verify most part successfully. But in the end, driver reported some data not match.
    3. I checked address . Address start from 0x1009464, JLink sent 0xFF for verification, data of MCU's flash is loaded using KEIL MDK.

    Source Code

    1. FUNC:yc_flash_verify LINE:1753 ADDR:1009460 Verify Error
    2. VERIFY DATA:
    3. 4e 8e 00 01 ff ff ff ff ff ff ff ff ff ff ff ff
    4. READ DATA:
    5. 4e 8e 00 01 00 00 00 00 3f 3f 00 00 00 00 00 00
    6. FUNC:yc_flash_verify LINE:1753 ADDR:1009470 Verify Error
    7. VERIFY DATA:
    8. ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    9. READ DATA:
    10. 00 12 14 24 28 30 35 3f 11 0b 06 04 03 02 02 02
    11. FUNC:yc_flash_verify LINE:1753 ADDR:1009480 Verify Error
    12. VERIFY DATA:
    13. ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    14. READ DATA:
    15. 00 01 07 0a 11 12 13 13 00 00 80 3f 00 00 80 3f
    16. FUNC:yc_flash_verify LINE:1753 ADDR:1009490 Verify Error
    17. VERIFY DATA:
    18. ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    19. READ DATA:
    20. 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 80 3f
    21. FUNC:yc_flash_verify LINE:1753 ADDR:10094a0 Verify Error
    22. VERIFY DATA:
    23. ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    24. READ DATA:
    25. 1c 00 00 00 00 80 07 01 01 3f 04 00 6a 01 02 a0
    Display All


    4. Map of axf file, address start from 0x1009464 is:

    Source Code

    1. Load Region LR_IROM4 (Base: 0x01000400, Size: 0x00009110, Max: 0x01000000, ABSOLUTE)
    2. Execution Region RW_IRAM2 (Exec base: 0x00020000, Load base: 0x01009464, Size: 0x00000bb0, Max: 0x00010000, ABSOLUTE)
    3. Exec Addr Load Addr Size Type Attr Idx E Section Name Object
    4. 0x00020000 0x01009464 0x00000003 Data RW 59 .data main.o
    5. 0x00020003 0x01009467 0x00000001 PAD
    6. 0x00020004 0x01009468 0x000000a6 Data RW 145 .data yc_emv_contactless_l1.o
    7. 0x000200aa 0x0100950e 0x00000002 PAD
    8. 0x000200ac - 0x000000ff Zero RW 58 .bss main.o
    9. 0x000201ab - 0x00000800 Zero RW 126 .bss yc_uart.o
    10. 0x000209ab 0x0100950e 0x00000001 PAD
    11. 0x000209ac - 0x00000201 Zero RW 142 .bss yc_emv_contactless_l1.o
    Display All

    Mean 0x01009464 is initialized data need load to RAM during system startup.
    5. I attached axf file, please rename YC3121_Keil.elf to YC3121_Keil.axf.
    6. Update:
    I load hex file which generated by KEIL MDK, verification of my open flash driver passed!
    So problem is JLink not load data of Load region??

    Source Code

    1. FUNC:yc_flash_init LINE:1024
    2. FUNC:yc_flash_verify LINE:1702 ADDR:1000000 SIZE:4096
    3. FUNC:yc_flash_verify LINE:1702 ADDR:1001000 SIZE:4096
    4. FUNC:yc_flash_verify LINE:1702 ADDR:1002000 SIZE:4096
    5. FUNC:yc_flash_verify LINE:1702 ADDR:1003000 SIZE:4096
    6. FUNC:yc_flash_verify LINE:1702 ADDR:1004000 SIZE:4096
    7. FUNC:yc_flash_verify LINE:1702 ADDR:1005000 SIZE:4096
    8. FUNC:yc_flash_verify LINE:1702 ADDR:1006000 SIZE:4096
    9. FUNC:yc_flash_verify LINE:1702 ADDR:1007000 SIZE:4096
    10. FUNC:yc_flash_verify LINE:1702 ADDR:1008000 SIZE:4096
    11. FUNC:yc_flash_verify LINE:1702 ADDR:1009000 SIZE:4096
    12. FUNC:yc_flash_uninit LINE:1906
    Display All

    My question is:
    JLink not send correct data of axf or not process Load region of axf?
    Another question is:
    This MCU's flash not support sector erase, chip erase only. How to let JLink send erase chip command when end of sector verify failed?
    Thanks all!
    Files
    • YC3121_Keil.elf

      (226.25 kB, downloaded 114 times, last: )

    The post was edited 1 time, last by jinzhanhua ().