iMXRT1064 and DCD data with semc

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

iMXRT1064 and DCD data with semc

跳至解决方案
4,443 次查看
jarnur
Contributor II

I'm using iMXRT1064 with high resolution display and external SDRAM. My sollution uses Emwin library for GUI. My goal is to make my own bootloader (CAN) and start application with jump to loaded application. This is working with simple application, but this GUI app cannot start. I remove bootloader and download application via JTAG and run it. Everything is ok. Then I remove DCD data from this application and make same settings in the beginning of main(). Execution stops into RemoveHoles() function. It is called from GUI init...malloc... This is inside the Emwin library (binary). Whats the difference between DCD settings and pure register settings in main?

0 项奖励
回复
1 解答
4,388 次查看
jarnur
Contributor II

Hi,

in my code, there was a typo. Now all is working and I don't need any DCD settings anymore. I can run all settings in the beginning of the main() function.

在原帖中查看解决方案

0 项奖励
回复
5 回复数
4,422 次查看
jarnur
Contributor II

Hi,

function SW_DCD_Settings() is called in main(). Function source code is in attachment.

0 项奖励
回复
4,394 次查看
FelipeGarcia
NXP Employee
NXP Employee

Hi,

DCD is needed to boot so if you want to add this after boot it will not work correctly. You can see more details of bootable image in the following link.

Generating a Bootable Image for the RT1050 - NXP Community

Best regards,

Felipe

0 项奖励
回复
4,389 次查看
jarnur
Contributor II

Hi,

in my code, there was a typo. Now all is working and I don't need any DCD settings anymore. I can run all settings in the beginning of the main() function.

0 项奖励
回复
4,425 次查看
jarnur
Contributor II

Hi and thanks for quick answer.

Now I don't use bootloader anymore (because these starting problems). I have two applications: 1st has DCD settings and 2nd has any DCD settings but the same settings are done in the beginning of the main() function. Applications are identical except this DCD data init. Application is based on Your EVK example evkmimxrt1064_emwin_GUI_demo.

1st application is ok. 2nd application runs (I can trace it with debugger single stepping) until it calls GUI_Init() function (in emwin library). Execution don't return to main(). If I brake it, debugger shows RemoveHoles() function (assembler), and in call stack there is on top GUI_Init() ... malloc() ... and last RemoveHoles. Attaced DCD data from evkmimxrt1064_sdram_ini_dcd.c

0 项奖励
回复
4,430 次查看
FelipeGarcia
NXP Employee
NXP Employee

Hi,

It is not totally clear to me what is the DCD settings you are removing and including in main. Can you please provide the detailed steps you are doing and what are your results?

Also if the application is working with JTAG but not with bootloader it is likely that the bootloader is not jumping correctly into application. You can see flashloader example in our MCUXpresso SDK so you can take as reference.

Best regards,

Felipe

0 项奖励
回复