unable to run project build with eclipse

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

unable to run project build with eclipse

Jump to solution
2,852 Views
rewers
Contributor II

Hello!

I try to run the hello_world example, witch I build with eclipse, on the cortex M4 core on the i.MX7 Dual, but it doesn´t work.

First I build the project using the armgcc toolchain and the .bat-script included in BSP. I loaded the .bin-file on the M4 core successfully and it works fine.

Afterwards I imported the project to Eclipse and followed some instructions, which I found here, to set all properties correctly. I was able to build the project. But when I try to load it into the TCM of the cortex M4 and boot the core nothing happens.

Then I changed the linker script at properties-> C/C++ Build -> settings -> GNU ARM Cross C Linker -> General to MCIMX7D_M4_ocram.ld and tried to boot the same application from the OCRAM instead of the TCM, witch surprisingly works as it should.

So what am I doing wrong, when using the MCIMX7D_M4_tcm.ld linker script?

Thanks for your help.

Robin

Labels (2)
0 Kudos
Reply
1 Solution
2,669 Views
igorpadykov
NXP Employee
NXP Employee

Hi Robin

may be helpful to check differencies between memories described on

AN5317 Loading Code on Cortex-M4 from Linux for the i.MX 6SoloX and i.MX7Dual/7Solo Application Processors

sect.3.1. On-chip memory view from each ARM core on the i.MX 7Dual/7Solo

https://www.nxp.com/docs/en/application-note/AN5317.pdf 

If this will not help one can try to debug code step by step with jtag.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

6 Replies
2,670 Views
igorpadykov
NXP Employee
NXP Employee

Hi Robin

may be helpful to check differencies between memories described on

AN5317 Loading Code on Cortex-M4 from Linux for the i.MX 6SoloX and i.MX7Dual/7Solo Application Processors

sect.3.1. On-chip memory view from each ARM core on the i.MX 7Dual/7Solo

https://www.nxp.com/docs/en/application-note/AN5317.pdf 

If this will not help one can try to debug code step by step with jtag.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

2,669 Views
rewers
Contributor II

Just solved the original problem, i am running into the next one. The applications on the M4 start as they should now. Example projects as hello_world and the blinking_imx_demo run well. When I try to run the pingpong RPMsg demo the application starts with the prompt

RPMSG PingPong FreeRTOS RTOS API Demo...
RPMSG Init as Remote

as expected. But when I boot linux on the A7 and start the corresponding mod imx_rpmsg_pingpong nothing happens on the M4 side.

The example works fine, when I build the project using the ARM gcc toolchain with the .bat-file from the BSP, but it doesn't work as described above, when I build it with eclipse. Any suggestions what configurations I need to change in eclipse?

0 Kudos
Reply
2,668 Views
bettinawyss
Contributor I

Hi Robin,

I have the exact same problem, did you find a solution?

Regards, Betty

0 Kudos
Reply
2,669 Views
rewers
Contributor II

Hi Bettina,

unfortunately I could not find an eclipse-based sloution.

As a work around I use eclipse for developing and modified the makefiles from the examples manually to build the project.

0 Kudos
Reply
2,669 Views
bettinawyss
Contributor I

Hi Robin,

Thanks for the answer. I did something similar and used KDevelop.

Cheers

Betty

0 Kudos
Reply
2,669 Views
rewers
Contributor II

Thanks for your answer igor. I used the wrong memory locations indeed. I got confused by using the big memory map in IMX7DRM, especial because there are two memory regions for the OCRM on the M4 at 0x0090_0000 and 0x2020_0000. Are these, by the way, just two different addresses for the same physical memory? The short list with the memory locations in the application note helped to get the right overview.

0 Kudos
Reply