The power of the imx6 and imx7 is having two A5 or A7 processors. But it is my understanding that only one of them can run Linux. Does anyone know of an example project to allow the second processor to run bare metal? ArmKeil has imx7 example projects for the M4 or for linux on the first A7 processor, but nothing yet found to allow a simple non-linux build on the second processor
ok, here is the trick to get it to work: go to program files->DS5->examples - expand all the zip files (or you can expand them to a development area). Then start DS5, create a work space. click file->import select general->existing project then go to browse and point it to where you expanded the zip file - from there you will now have a list of tons of example projects - including in my case, one for bare metal Cortex A7. I then went into the configuration of the debugger to select the NXP->imx7->dual->A7_1. Note, before you load the code right after you power up, you need to hit space on a com port window to stop the A7_0 core from screwing up your ability to download it all. That got me to the point of building the project - but as of this moment, I get the following error after downloading my code before being able to execute it:
Connected to stopped target NXP - i.MX7 Dual on TCP:localhost
cd "C:\Development\bareMetalExamples"
Working directory "C:\Development\bareMetalExamples"
loadfile "C:\Development\DS-5Examples\startup_Cortex-A7\startup_Cortex-A7.axf"
ERROR(CMD16-TAD274-NAL87):
! Failed to load "startup_Cortex-A7.axf"
! Failed to write 7,188 bytes to address N:0x80000000 while writing block of 4,096 bytes to address N:0x80000000
! Debug system is not powered.
set debug-from *$ENTRYPOINT
start
WARNING(CMD399-CMD38-CMD722):
! Failed to start the target
! The string "$ENTRYPOINT" cannot be interpreted as a positive int
! Entry point not set
WARNING(CMD407): Trying the entry point instead
ERROR(CMD426): Cannot find symbol to start or entrypoint, the file or load commands may be used to set the entrypoint
wait
- I will post a solution below after I figure out how to get around that project - Eric
Hi eric
regarding i.MX7 baremetal examples only FreeRTOS is available:
Board Support Packages (3)
FreeRTOS_iMX7D_1.0.1_LINUX(REV 1.0.1)
http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Igor,
Thanks so much for getting back to me. Could you please tell me which
of the 46 links on that page are most likely to help me get a bare metal
project built and downloaded for the second A7 core on a Colibri board
using a ulinkproD jtag interface? I believe that our first A7 core running
linux would use resources that would prevent the second core from also
running linux. Our second core would be nice to have just freeRtos on it -
but I don't really need an RTOS. I have several different of the ARMkeil
evaluation tools loaded, but am happy to buy any IDE that just lets me
build a bare metal hello world that downloads and runs.
thanks,
Eric
On Sun, Apr 2, 2017 at 11:00 PM, igorpadykov <admin@community.nxp.com>
Igor,
in case it can help you help others, I posted the solution I found to my
being unable to find an A7 bare metal example piece of code:
https://community.nxp.com/thread/448268
at the moment, I'm trying to find out why that project works on the first
A7 core and not on the second - but I should be able to find a solution to
that problem.
Eric
Igor,
Thanks for getting back to me so quickly. There was a lot of great stuff
in that link - but it is for freeRtos for the M4 processor - not the A7
processor I want to use. In the
FreeRtos_BSP_101_iMX_7Dual_Release_Notes.pdf file in the docs directory of
the gz file you linked to: on page 6, it says "The FreeRtos BSP is intended
for use with the I.MX product family on the ARM Cortex-M4 . . . . ARM
Cortex-A7 core is not supported". There were a lot of good example
projects, but they were all for the M4 core and sometimes gave warnings
were code on an A7 core could interfere. I would like to use the second A7
core running bare metal code for my project (at the same time, the M4 core
and the other A7 core would be doing other jobs)
thanks in advance for any other help,
Eric Krieg