Dear Sir/Madam,
Hello,
We are developing a VF3x based prototype with MQX, with DS-5. I have added a square wave generation SW on a GPIO pin of VF3x of the MQX I2C project. Tested it with DS-5 debugger, and then generated .c array file with fromelf cadcombined .. command. Then drag-dropped this c array file into the "bootloader_vybrid_qspixip_twrvf65gs10_a5" project. Built the project with this .c array and projects' scatter files, connected the debugger, and run, and saw the square wave on GPIO pin. Then configured boot pins for QSPI boot(1:0), and disconnected/connected the power, I could not see the square wave on IO pin.
I have same dual S25FL128 chips, and SPI0 is selected. SRC_SBMR1 is 0x4990_FA04 => CFG1 = 4; CFG2 = 250; CFG3 = 144; CFG4 = 73; // No infinite loop; qxip_0; 24 bit SPI address ..
I have attached my scatter, map, and quadspi_boot files.
I don't know how to proceed further, I would be very grateful, if you have check and if you see any problem and or advise me..
Thanks and best regards.
Mehmet Ali Ipin.
Original Attachment has been moved to: sram_ds5_a5.scf.zip
Original Attachment has been moved to: quadspi_boot.c.zip
Original Attachment has been moved to: mapfile.map.zip
Solved! Go to Solution.
Hello Mehmet,
// No infinite loop; qxip_0; 24 bit SPI address ..
16bit vs 24bit SPI address is not relevant for boot from QSPI. You don't need to configure these RCON pins. SRC_SBMR1 value looks OK.
XIP debug requires special debug configuration, where
1) In Files tab you make "Application on host to download:" edit box empty and instead specify application *.axf under "Load symbols from file" setting
2) In Debugger tab set Run control to Connect only
After QSPI programming connect with newly created debug configuration. Try setting HW breakpoint on entry point, click Reset, and then click continue. If QSPI boot configuration is read out properly by boot ROM, then most likely your target will stop on HW breakpoint you set. If you don't hit your breakpoint, then try stopping target and analyzing QSPI registers. QSPI0 memory at 0x20000000 should be readable and you should be able to verify QSPI boot configuration stored at 0x20000000.
Good luck
Edward
Dear Alejandro,
Thank you very much for the document.
Hello Mehmet,
// No infinite loop; qxip_0; 24 bit SPI address ..
16bit vs 24bit SPI address is not relevant for boot from QSPI. You don't need to configure these RCON pins. SRC_SBMR1 value looks OK.
XIP debug requires special debug configuration, where
1) In Files tab you make "Application on host to download:" edit box empty and instead specify application *.axf under "Load symbols from file" setting
2) In Debugger tab set Run control to Connect only
After QSPI programming connect with newly created debug configuration. Try setting HW breakpoint on entry point, click Reset, and then click continue. If QSPI boot configuration is read out properly by boot ROM, then most likely your target will stop on HW breakpoint you set. If you don't hit your breakpoint, then try stopping target and analyzing QSPI registers. QSPI0 memory at 0x20000000 should be readable and you should be able to verify QSPI boot configuration stored at 0x20000000.
Good luck
Edward
Dear Edward,
Thank you for your helps,
I did step 1 and 2. I would be grateful, if you explain me how I can set HW breakpoint
Thanks and best regards.
Mehmet Ali Ipin
Hi Mehmet,
Usually DS-5 decides correctly when to use HW breakpoint and when to use SW breakpoint. HW vs SW is easily distinguisheable visually. SW breakpoint is just red dot in the gutter of source code or assembly window, HW breakpoint is red dot with H letter. To implicitly use specific kind of breakpoint I right mouse click in gutter to the left from required code line, then in context menu click DS-5 breakpoints -> Toggle Breakpoint (SW) or Toggle Hardware Breakpoint respectively.
So just make sure it is red dot with H and force it to be H if it isn't.
Regards
Edward