How to test,debug vybrid qspiXIP bootloader project

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

How to test,debug vybrid qspiXIP bootloader project

跳至解决方案
2,868 次查看
MehmetAliIpin
Contributor V

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

标签 (8)
1 解答
2,010 次查看
kef2
Senior Contributor V

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

在原帖中查看解决方案

0 项奖励
回复
5 回复数
2,009 次查看
alejandrolozan1
NXP Employee
NXP Employee

Hi,

I have created a simple document that explains how to modify a MQX project and convert it to a bootable image.

The steps are explained using IAR, but in genera similar ones can be followed for DS-5.

I hope that helps,

Alejandro

2,009 次查看
MehmetAliIpin
Contributor V

Dear Alejandro,

Thank you very much for the document.

0 项奖励
回复
2,011 次查看
kef2
Senior Contributor V

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

0 项奖励
回复
2,009 次查看
MehmetAliIpin
Contributor V

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

0 项奖励
回复
2,009 次查看
kef2
Senior Contributor V

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