I've successfully built pixy_firmware.hex using LPCXPresso 7.6.2 on Windows 7

557 views
Skip to first unread message

simon.d.levy

unread,
Jul 16, 2015, 2:01:58 PM7/16/15
to pixy_fir...@googlegroups.com
Thanks for making the free LPCXpresso option available!  I'm about to try to replicate this on Ubuntu, but first I had a couple of suggestions for the README on googledocs:

(1) Instead of ~/src/..., just say src/...   To a Unix user the ~ means home directory, not install directory or working directory.

(2) I did not encounter or need the build_this_first project.

(3) The pixy_firmware.hex file appeared in src/device/video/spifi/ , not in src/device/main_m4/SPIFI

I will be happy to make these edits myself if you consider them appropriate and give me access to the document.

Thanks again, Rich -- more soon! 

Leo Hellström

unread,
Jul 16, 2015, 2:29:41 PM7/16/15
to pixy_fir...@googlegroups.com
Hi Simon,
I am using LPCXpresso 7.6.2 on Ubuntu 14.04 and I get the build_this_first and pixy_firmware.hex file does appear in src/device/main_m4/SPIFI

I did encounter the same problem as you do before. When cloning the github folders it turned out I had forgotten these commands:

cd gcc

git checkout gcc

Following these steps the document was accurate for me.
Best
Leo

simon.d.levy

unread,
Jul 16, 2015, 3:18:48 PM7/16/15
to pixy_fir...@googlegroups.com
THANK YOU, Leo!   You were right; I must have skipped a step earlier.  Now I have successfully built the firmware on Ubuntu using the LPCXpresso IDE.

Of course, I now have the PixyMon firmware/software incompatibility problem (which I've noticed before); see attached screenshot.  I will follow the directions here to try and install the latest PixyMon from source.

Thanks again!

Leo Hellström

unread,
Jul 16, 2015, 3:25:13 PM7/16/15
to pixy_fir...@googlegroups.com
Simon,
My pleasure.
The incompatibility should be solved when updating PixyMon.
However, we are outside my comfort zone now =)

Best
Leo

simon.d.levy

unread,
Jul 16, 2015, 3:30:10 PM7/16/15
to pixy_fir...@googlegroups.com
It built just fine!  

Now I will go for the "whole enchilada" and try to rebuild the firmware from the command-line using make :^)

simon.d.levy

unread,
Jul 16, 2015, 3:43:16 PM7/16/15
to pixy_fir...@googlegroups.com
Woohoo! Just built the firmware from makefile on Ubuntu!

Now to try some modifications ...

Nilasstohr

unread,
Feb 7, 2016, 4:38:22 PM2/7/16
to pixy_firmware_sdk

Hello Simon,
I'm trying to compile pixy firmware in Ubuntu, I want to make sure, is it possible at all without having LPCXPresso installed?. I manage to compile the first three applications and made it to main_0, where I get the error below, when Id is called in arm the compiler . Do you or anybody have any ideas?.

Building target: main_m0.axf
Invoking: MCU Linker
arm-none-eabi-gcc -nostdlib -L../../libpixy_m0/Release -Xlinker -Map="main_m0.map" -Xlinker --gc-sections -mcpu=cortex-m0 -mthumb -T "main_m0_Release.ld" -o "main_m0.axf" ./src/cr_startup_lpc43xx-m0app.o ./src/main_m0.o -llibpixy_m0 && arm-none-eabi-objcopy --target elf32-littlearm --verbose --strip-all --redefine-sym __vectors_start__=__vectors_start___core_m0app --keep-symbol __vectors_start___core_m0app --rename-section .text=".core_m0app" --rename-section .data=".core_m0app.data" --rename-section .data_RAM2=".core_m0app.data_RAM2" --rename-section .data_RAM3=".core_m0app.data_RAM3" --rename-section .data_RAM4=".core_m0app.data_RAM4" --rename-section .data_RAM5=".core_m0app.data_RAM5" "main_m0.axf" "main_m0.axf.o"
/usr/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: cannot find libcr_c.a
/usr/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: cannot find libcr_eabihelpers.a
collect2: error: ld returned 1 exit status
makefile_alt:21: recipe for target 'main_m0.axf' failed
make: *** [main_m0.axf] Error 1

Thanks in advance
nilas

Rich LeGrand

unread,
Feb 7, 2016, 5:22:51 PM2/7/16
to Nilasstohr, pixy_firmware_sdk
Hi Nilas,
You're using a gcc toolchain (not LPCXpresso?)

LPCXpresso will probably compile the firmware with no issues in Linux,
but I don't know if anyone has tried it. Trying to compile the
firmware with a gcc toolchain in Linux is definitely new territory.
The startup code (ctr0 and the like) is going to probably trip you up.

--rich
> --
> You received this message because you are subscribed to the Google Groups "pixy_firmware_sdk" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pixy_firmware_...@googlegroups.com.
> To post to this group, send email to pixy_fir...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/pixy_firmware_sdk/37b1708e-1775-4515-8602-a2bd25854bd8%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--
Charmed Labs
www.charmedlabs.com

Nilasstohr

unread,
Feb 7, 2016, 5:57:16 PM2/7/16
to pixy_firmware_sdk
Thank for fast answer rich.
Yes the idea was to use gcc arm tool chain, and compile without using LPCXPresso, Is that even possible?. I'm not sure I understand crt0 problem?. I really want to dive into it, and spend time on it, but it's god to know what the changes of success are.

Rich LeGrand

unread,
Feb 8, 2016, 11:29:52 AM2/8/16
to Nilasstohr, pixy_firmware_sdk
There are various startup code files that are distributed with
LPCXpresso. I haven't dug too far into them, or figured out what
they've added to generic GCC. But the startup files control how the
processor comes out of reset, sets the stack pointer, initialize the
heap, copy the initialized variables out of ROM. LPCXpresso has a
fairly extensive set of dialogs that control this, and while I think
getting things working with a generic GCC toolchain is possible, I
think it will require getting your hands fairly dirty. Is there
something about LPCXpresso that you're trying to avoid? What is your
goal?

thanks,
--rich

On Sun, Feb 7, 2016 at 4:57 PM, Nilasstohr <nilas...@gmail.com> wrote:
> Thank for fast answer rich.
> Yes the idea was to use gcc arm tool chain, and compile without using LPCXPresso, Is that even possible?. I'm not sure I understand crt0 problem?. I really want to dive into it, and spend time on it, but it's god to know what the changes of success are.
>
> --
> You received this message because you are subscribed to the Google Groups "pixy_firmware_sdk" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pixy_firmware_...@googlegroups.com.
> To post to this group, send email to pixy_fir...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/pixy_firmware_sdk/36ff400a-3c68-4efb-8b85-0467e9fd1e85%40googlegroups.com.
Message has been deleted

Nilasstohr

unread,
Feb 11, 2016, 5:50:25 AM2/11/16
to pixy_firmware_sdk, nilas...@gmail.com, ri...@charmedlabs.com
Ok like that, I will keep the startup files in mind doing the process. 
Faily dirty sounds like its going to be a difficult task. But I will try give it shot, I think I will start out by getting LPCXpresso to work first. 
By the way are you working on getting it running with GCC arm toolchain around LPCXpresso ?. 

The thing about LPCXpresso is that its code limited also its hard to figure what goes wrong. eg. I still have not managed to compile pixy using LPCXpresso in windows following the provided guide, and the suggestions are installing all sorts of external tools. Being able to avoid code limitations furthermore have full control over the compiling in an IDE of choise eg. eclipse, seems very attractive. Im trying to implement a pixy cam on some of the robots at DTU (technical university of denmark), but it preferred to being able to compile with GCC arm toolchain, (without a costly IDE like LPCXpresso).  
Reply all
Reply to author
Forward
0 new messages