Failing to Erase RA6M1

Hello!

I currently face a problem, in which I'm unable to flash my EK-RA6M1. Im currently trying to develop a USBFS-interface but cant really test my code, since flashing is not possible. What I try to do is erasing my Device via the j-Link Commander V7.94. When using the Erase command i get the following Error:

Type "connect" to establish a target connection, '?' for help
J-Link>connect
Please specify device / core. <Default>: R7FA6M1AD
Type '?' for selection dialog
Device>
Please specify target interface:
  J) JTAG (Default)
  S) SWD
  T) cJTAG
TIF>S
Specify target interface speed [kHz]. <Default>: 4000 kHz
Speed>
Device "R7FA6M1AD" selected.


Connecting to target via SWD
InitTarget() start
Identifying target device...
SWD selected. Executing JTAG -> SWD switching sequence...
Initializing DAP...
DAP initialized successfully.
Low power mode detected. Waking device from low power mode.
InitTarget() end - Took 10.8ms
Found SW-DP with ID 0x5BA02477
DPIDR: 0x5BA02477
CoreSight SoC-400 or earlier
Scanning AP map to find all available APs
AP[2]: Stopped AP scan as end of AP map has been reached
AP[0]: AHB-AP (IDR: 0x24770011)
AP[1]: APB-AP (IDR: 0x44770002)
Iterating through AP map to find AHB-AP to use
AP[0]: Core found
AP[0]: AHB-AP ROM base: 0xE00FF000
CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
Found Cortex-M4 r0p1, Little endian.
FPUnit: 6 code (BP) slots and 2 literal slots
CoreSight components:
ROMTbl[0] @ E00FF000
[0][0]: E000E000 CID B105E00D PID 000BB00C SCS-M7
[0][1]: E0001000 CID B105E00D PID 003BB002 DWT
[0][2]: E0002000 CID B105E00D PID 002BB003 FPB
[0][3]: E0000000 CID B105E00D PID 003BB001 ITM
[0][4]: E0040000 CID B105900D PID 000BB9A1 TPIU
[0][5]: E0041000 CID B105900D PID 000BB925 ETM
[0][6]: E0042000 CID B105900D PID 002BB908 CSTF
[0][7]: E0043000 CID B105900D PID 001BB961 TMC
[0][8]: E0044000 CID B105F00D PID 001BB101 TSG
Memory zones:
  Zone: "Default" Description: Default access mode
Cortex-M4 identified.
J-Link>erase
No address range specified, 'Erase Chip' will be executed
'erase': Performing implicit reset & halt of MCU.
Reset: Halt core after reset via DEMCR.VC_CORERESET.
Reset: Reset device via AIRCR.SYSRESETREQ.
Erasing device...
J-Link: Flash download: Only internal flash banks will be erased.
To enable erasing of other flash banks like QSPI or CFI, it needs to be enabled via "exec EnableEraseAllFlashBanks"

****** Error: Failed to erase sectors 0 @ address 0x0100A150 ((erase error))
Failed to erase sectors.

J-Link: Flash download: Total time needed: 0.211s (Prepare: 0.151s, Compare: 0.000s, Erase: 0.016s, Program: 0.000s, Verify: 0.000s, Restore: 0.043s)
ERROR: Erase returned with error code -5.

Parents
  • Hello,

    What is the value of Access Window Setting Register (AWS) at 0x 0100 A164 ?

  • Hello!

    Sadly I didnt received an answer to the approving request over the weekend. I try to repost this answer.

    Here's the screenshot:

  • Hello,

    What are bits 127 and 126 of the OSIS register (ID code) ?

    Try to run the attached ALERASE script.

    Modify the JLink_path file to your JLink installation path.

    Open a command prompt and run the other .bat file.

    ALERASE_RA6M1.zip

  • So after executing ID_Code_ERASEALL_RA6M1 it never successfully executed. It kept displaying

    MCUSTAT: 0x00000000

    J-Link Command File read successfully.
    Processing script file...
    J-Link>Device R7FA6M1AD
    J-Link connection not established yet but required for command.
    Connecting to J-Link via USB...O.K.
    Firmware: J-Link OB-S124 compiled Dec 13 2023 14:39:54
    Hardware version: V1.00
    J-Link uptime (since boot): 0d 00h 29m 42s
    S/N: 831485060
    USB speed mode: Full speed (12 MBit/s)
    VTref=3.300V
    J-Link>si SWD
    Selecting SWD as current target interface.
    J-Link>speed 4000
    Selecting 4000 kHz as target interface speed
    J-Link>connect
    Device "R7FA6M1AD" selected.
    
    
    Connecting to target via SWD
    InitTarget() start
    
    RA ALeRASE J-Link script InitTarget
    
    ALeRASE CMD
    SWO:
    
    DAP-CtrlStat: 0xF0000040
    DAP-CtrlStat: 0xFFFFFFFF
    RESET assert
    RESET de-assert
    SWO:
    
    DAP-CtrlStat: 0xF0000040
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    InitTarget() end - Took 60.4s
    Found SW-DP with ID 0x5BA02477
    DPIDR: 0x5BA02477
    CoreSight SoC-400 or earlier
    Scanning AP map to find all available APs
    AP[2]: Stopped AP scan as end of AP map has been reached
    AP[0]: AHB-AP (IDR: 0x24770011)
    AP[1]: APB-AP (IDR: 0x44770002)
    Iterating through AP map to find AHB-AP to use
    AP[0]: Skipped. Could not read CPUID register
    AP[1]: Skipped. Not an AHB-AP
    Attach to CPU failed. Executing connect under reset.
    DPIDR: 0x5BA02477
    CoreSight SoC-400 or earlier
    Scanning AP map to find all available APs
    AP[2]: Stopped AP scan as end of AP map has been reached
    AP[0]: AHB-AP (IDR: 0x24770011)
    AP[1]: APB-AP (IDR: 0x44770002)
    Iterating through AP map to find AHB-AP to use
    AP[0]: Skipped. Could not read CPUID register
    AP[1]: Skipped. Not an AHB-AP
    Could not find core in Coresight setup
    InitTarget() start
    
    RA ALeRASE J-Link script InitTarget
    
    ALeRASE CMD
    SWO:
    
    DAP-CtrlStat: 0xF0000040
    DAP-CtrlStat: 0xC0000040
    RESET assert
    RESET de-assert
    SWO:
    
    DAP-CtrlStat: 0xF0000040
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    MCUSTAT: 0x00000000
    InitTarget() end - Took 60.2s
    Found SW-DP with ID 0x5BA02477
    DPIDR: 0x5BA02477
    CoreSight SoC-400 or earlier
    Scanning AP map to find all available APs
    AP[2]: Stopped AP scan as end of AP map has been reached
    AP[0]: AHB-AP (IDR: 0x24770011)
    AP[1]: APB-AP (IDR: 0x44770002)
    Iterating through AP map to find AHB-AP to use
    AP[0]: Skipped. Could not read CPUID register
    AP[1]: Skipped. Not an AHB-AP
    Attach to CPU failed. Executing connect under reset.
    DPIDR: 0x5BA02477
    CoreSight SoC-400 or earlier
    Scanning AP map to find all available APs
    AP[2]: Stopped AP scan as end of AP map has been reached
    AP[0]: AHB-AP (IDR: 0x24770011)
    AP[1]: APB-AP (IDR: 0x44770002)
    Iterating through AP map to find AHB-AP to use
    AP[0]: Skipped. Could not read CPUID register
    AP[1]: Skipped. Not an AHB-AP
    Could not find core in Coresight setup
    Cannot connect to target.
    
    Script processing completed.
    
    
    
    Type "connect" to establish a target connection, '?' for help
    J-Link>

    When entering J-Link Commander for the first time after trying to execute that batch-script I was asked to enter my ID-Code, whicht i never activly enabled. I typed 0xFFFF FFFF FFFF FFFF and it was succesfull (I guess). I got the following output:

    J-Link>mem32 0x0100A150 32
    Target connection not established yet but required for command.
    Device "R7FA6M1AD" selected.
    
    
    Connecting to target via SWD
    InitTarget() start
    Identifying target device...
    SWD selected. Executing JTAG -> SWD switching sequence...
    Initializing DAP...
    DAP initialized successfully.
    Low power mode detected. Waking device from low power mode.
    InitTarget() end - Took 10.5s
    Found SW-DP with ID 0x5BA02477
    DPIDR: 0x5BA02477
    CoreSight SoC-400 or earlier
    Scanning AP map to find all available APs
    AP[2]: Stopped AP scan as end of AP map has been reached
    AP[0]: AHB-AP (IDR: 0x24770011)
    AP[1]: APB-AP (IDR: 0x44770002)
    Iterating through AP map to find AHB-AP to use
    AP[0]: Core found
    AP[0]: AHB-AP ROM base: 0xE00FF000
    CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
    Found Cortex-M4 r0p1, Little endian.
    FPUnit: 6 code (BP) slots and 2 literal slots
    CoreSight components:
    ROMTbl[0] @ E00FF000
    [0][0]: E000E000 CID B105E00D PID 000BB00C SCS-M7
    [0][1]: E0001000 CID B105E00D PID 003BB002 DWT
    [0][2]: E0002000 CID B105E00D PID 002BB003 FPB
    [0][3]: E0000000 CID B105E00D PID 003BB001 ITM
    [0][4]: E0040000 CID B105900D PID 000BB9A1 TPIU
    [0][5]: E0041000 CID B105900D PID 000BB925 ETM
    [0][6]: E0042000 CID B105900D PID 002BB908 CSTF
    [0][7]: E0043000 CID B105900D PID 001BB961 TMC
    [0][8]: E0044000 CID B105F00D PID 001BB101 TSG
    Memory zones:
      Zone: "Default" Description: Default access mode
    Cortex-M4 identified.
    0100A150 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A160 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A170 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A180 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A190 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A1A0 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A1B0 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A1C0 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A1D0 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A1E0 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A1F0 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A200 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
    0100A210 = FFFFFFFF FFFFFFFF

  • Is jumper J8 on pins 1-2 on the EK-RA6M1 ?

  • Since I'm utilizing USBFS it was placed on P1/P3. But same behaviour appears when connecting jumper on j1/j2

  • J8 is to configure the operating mode of the device. If it is on P1-P3 boot mode will be selected after the reset. You need to place it on P1-P3 if you want to enter USB boot mode.

    Anyway, if the script fails while you have J8 at P1-P2 and connected the Debug USB, you should replace the device as it has been locked.

    You may be able to erase/program code flash but not option-setting memory.

  • Now I'm concerned about how that happened. I know it's probably hard for you to answer it this way, but I was working perfectly fine with that device. After X successful flash instances it suddenly stopped working. .ld files are untouched and just minor application changes were made. How can I avoid running into the same mistake twice?

  • Make sure you have J8 to enter the mode that you want to enter.

    The boot mode will communicate with the boot firmware of the device via serial programming.

    https://www.renesas.com/us/en/document/apn/renesas-ra-family-system-specifications-standard-boot-firmware

    This can be done via UART or USB.

Reply Children
No Data