This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I just installed ccsv6 on my Ubuntu 14.04 desktop and I'm trying to cross compile an executable that will run on my Beaglebone black - armhf. I have a usb connection that I can ssh over and an ftdi uart cable that I can look at with screen(). I make a new project, select beaglebone black, and it seems to use the eabiarmhf cross compiler, but the resulting executable - first.out - gives an illegal instruction error when run on the beaglebone and a ( cannot execute binary file: Exec format error on my desktop. What am I doing wrong?
I tried both the Linaro (gcc) and the built in TI V5.2.6 compiler and I still get
Illegal Instruction
When I do a "file first.out" I get
first.out ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV) statically linked, not stripped
I'm thinking that the compiler command line needs tweaking ...
Hi,
Dave Boyle said:What am I doing wrong?
Per your description it seems you are creating a CCS Project that uses one of its supplied baremetal compilers but is trying to run the executable on an embedded Linux environment in your BeagleBone Black. This will not work, given the baremetal project commonly uses a static memory allocation (not virtualized) and does require full control of the processor core.
In this case, you can try to create a Linux-based project from inside CCS by checking section 11 of the wiki page below:
http://processors.wiki.ti.com/index.php/Processor_Linux_SDK_CCS_Installation_Guide
One additional resource can be found at section 2.3.2 of the wiki page below:
http://processors.wiki.ti.com/index.php/Projects_and_Build_Handbook_for_CCS
Hope this helps,
Rafael