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.
Hello,
What is the value of Access Window Setting Register (AWS) at 0x 0100 A164 ?
Sadly I didnt received an answer to the approving request over the weekend. I try to repost this answer.
Here's the screenshot:
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.