AnsweredAssumed Answered

Hardware dependent programs on ARM core running Linux.

Question asked by NDesai Employee on May 21, 2018
Latest reply on May 28, 2018 by NDesai

I am using SC-584-EZKIT to bring-up linux on A5 core.


By following the user guide 1.2.0, I am able to get the linux runnig on the board with the default kernel image located at /opt/analog/cces-linux-add-in/1.2.0/buildroot-sc5xx-1.2.0/images/uImage-sc584-ezkit.
In addition, basic "Hello World" application is correctly executing on the board.


Now, I want to execute basic LED blink application on ARM core running linux. In this exercise, I tried to make an application to toggle on-board LED11 available on SC584-EZkit. Getting following results.


a. With ARM Bare metal toolchain (arm-none-eabi-gcc) --> Supports GPIO drivers, Creates .exe, but does not work on board which is running linux. 


b. ARM linux toolchain (arm-linux-gnueabi-gcc) --> Cannot find library path for GPIO APIs, thus can not create executable. Specifically, linker gives following error:

/opt/analog/cces/2.7.0/ARM/arm-none-eabi/arm-none-eabi/lib/src/cortex-a5/services/Source/gpio/adi_gpio.c:319: undefined reference to `adi_osal_ExitCriticalRegion'

However, hardware independent programs such as "hello world" compiles and works on board.




Is there any method by which I can generate a binary file (for instance, GPIO toggle or blink LED), which can execute on ARM cortex core running linux.