Hi
I am using a Segger JLink for debugging/programming a NXP IMXRT106x micro with external QSPI flash.
The IMXRT106x has 1MB of on-chip RAM, 512KB of which is "flexRAM" which can be re-configured to be either ITCM, DTCM or OCRAM.
When I connect to these boards using a CMSIS-DAP linkserver debugger, I have to use a different connect script so that the debugger is aware of the different changed flexRAM configuration, otherwise the debugger cannot connect and this can lead to problems erasing/programming the external flash.
How does a JLINK handle this? Does it expect/presume a particular or default flexRAM configuration? Can this be changed or is there a setting for this somewhere?
many thanks!
UPDATE: I spotted a note on the link below that says "we expect that the first 0x10000 bytes of the RAM are configured to execute instructions from" - this suggests to me ITCM is required. I tried changing the flexRAM configuration so that 32kB of ITCM was available and the erase/program seemed to work OK.
wiki.segger.com/i.MXRT1060
So the question is - how do you erase/program a target that has none of the flexRAM assigned to ITCM? (a pretty common use case I think). Hopefully there is a way .......
I am using a Segger JLink for debugging/programming a NXP IMXRT106x micro with external QSPI flash.
The IMXRT106x has 1MB of on-chip RAM, 512KB of which is "flexRAM" which can be re-configured to be either ITCM, DTCM or OCRAM.
When I connect to these boards using a CMSIS-DAP linkserver debugger, I have to use a different connect script so that the debugger is aware of the different changed flexRAM configuration, otherwise the debugger cannot connect and this can lead to problems erasing/programming the external flash.
How does a JLINK handle this? Does it expect/presume a particular or default flexRAM configuration? Can this be changed or is there a setting for this somewhere?
many thanks!
UPDATE: I spotted a note on the link below that says "we expect that the first 0x10000 bytes of the RAM are configured to execute instructions from" - this suggests to me ITCM is required. I tried changing the flexRAM configuration so that 32kB of ITCM was available and the erase/program seemed to work OK.
wiki.segger.com/i.MXRT1060
So the question is - how do you erase/program a target that has none of the flexRAM assigned to ITCM? (a pretty common use case I think). Hopefully there is a way .......
The post was edited 1 time, last by mrwaljit: UPDATE ().