Hi,
I am working on a project using a RA2L1 micro. My goal is to build an automated testing suite that will be run on the target for overnight test runs. I'm trying to use GDB to flash and run the software but have run into some issues. For reference we're using an E2 emulator. Debugging through E2 Studio works fine, as does the Renesas Flash loader. So I know it's not a power issue or anything like that. E2 studio prints the following command to the console to start e2-server-gdb.exe:
Starting server with the following options: Raw options : C:\Users\dm\.eclipse\com.renesas.platform_1435879475\DebugComp\\RA\e2-server-gdb -g E2 -t R7FA2A1AB -uConnectionTimeout= 30 -uClockSrc= 0 -uAllowClockSourceInternal= 1 -uInteface= SWD -uIfSpeed= auto -w 0 -z 33 -uIdCodeBytes= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -uResetCon= 1 -uLowPower= 1 -uSWOclockDiv= 4 -uresetOnReload= 1 -n 0 -uFlashBp= 0 -ueraseRomOnDownload= 0 -ueraseDataRomOnDownload= 0 -uTraceMTB= 0 -uTraceSizeMTB= 1024 -uProgReWriteIRom= 0 -uProgReWriteDFlash= 0 -uOSRestriction= 0 -uTimeMeasurementEnable= 1 -uMemRegion= 0x00000000:0x40000:FLASH:e -uMemRegion= 0x40100000:0x2000:DATA_FLASH:e -l -uCore= SINGLE_CORE|enabled|1|main -uSyncMode= async -uFirstGDB= main --english
Starting server with the following options:
Raw options : C:\Users\dm\.eclipse\com.renesas.platform_1435879475\DebugComp\\RA\e2-server-gdb -g E2 -t R7FA2A1AB -uConnectionTimeout= 30 -uClockSrc= 0 -uAllowClockSourceInternal= 1 -uInteface= SWD -uIfSpeed= auto -w 0 -z 33 -uIdCodeBytes= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -uResetCon= 1 -uLowPower= 1 -uSWOclockDiv= 4 -uresetOnReload= 1 -n 0 -uFlashBp= 0 -ueraseRomOnDownload= 0 -ueraseDataRomOnDownload= 0 -uTraceMTB= 0 -uTraceSizeMTB= 1024 -uProgReWriteIRom= 0 -uProgReWriteDFlash= 0 -uOSRestriction= 0 -uTimeMeasurementEnable= 1 -uMemRegion= 0x00000000:0x40000:FLASH:e -uMemRegion= 0x40100000:0x2000:DATA_FLASH:e -l -uCore= SINGLE_CORE|enabled|1|main -uSyncMode= async -uFirstGDB= main --english
This command works from a terminal fine, and it provides the port number. From the E2 console I also found the following commands to supply to arm-none-eabi-gdb.exe:
source .gdbinitset step-mode offset loose-breakpoint-match offset breakpoint always-inserted onsymbol-file C:\\Devel\\RA_Project\\Debug\\RA_Project.elfinferior 1set remotetimeout 10set tcp connect-timeout 30target extended-remote localhost:<port_number>
source .gdbinit
set step-mode off
set loose-breakpoint-match off
set breakpoint always-inserted on
symbol-file C:\\Devel\\RA_Project\\Debug\\RA_Project.elf
inferior 1
set remotetimeout 10
set tcp connect-timeout 30
As soon as I execute the target command I get an E31 error.
(gdb) target extended-remote localhost:57916Remote debugging using localhost:57916Could not read registers; remote failure reply 'E31'
(gdb) target extended-remote localhost:57916
Remote debugging using localhost:57916
Could not read registers; remote failure reply 'E31'
I suspect there's more commands getting run somewhere, but I'm not sure what commands those would be or where E2 is logging them. Any suggestions would be super helpful.
Thanks!
Hello Dave M! Apologies for the delayed response. Were you able to make any progress on this? Let us know if there are any updates so that we can assist you further.Thank you,JayeshRenesas Engineering Community Moderatorshttps://community.renesas.com/https://academy.renesas.com/en-support.renesas.com/.../
Hi Jayesh,
We haven't had much luck. I wrote out a stub program and swapped out arm-none-eabi-gdb.exe to try and get a better sense for what inputs E2 studio was passing to it. The only interesting thing I found was that E2 studio was running with "--interpreter mi2 --nx". I did a bit of reading and it sounds like the console version of GDB is maybe not feature complete, and it's preferable to run with GDB/MI. My plan is to try it, although it seems unlikely that GBD console can't function at all on it's own without GDB/MI. Beyond that, we're kind of at a dead-end.