[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft] Building FT2 for embedded architectures
From: |
Wolfgang Draxinger |
Subject: |
Re: [ft] Building FT2 for embedded architectures |
Date: |
Fri, 19 Apr 2013 19:07:48 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.11) Gecko/20121122 Icedove/10.0.11 |
On 04/19/13 18:36, suzuki toshiya wrote:
your arm-non-eabi-gcc seems to have a difficulty to
make a binary executable.
Definitely not. I'm successfully compiling and linking programs using
this very compiler. I put the blame on the brain dead automake/autoconf
system that tries to execute the generated binary on the compiler system
which of course will not work.
Preferrably there would be no configure script running at all. I'd
really prefer to configure the build myself, specific to my needs. Any
automagic is a No-Go in this project anyways.
If you want to make a hello-world
binary executable for the target system, how do you compile
it?
Here's the Makefile of the small test program I started with.
### Makefile ###
all:
arm-none-eabi-gcc -I. -c -fno-common -O0 -g -mcpu=cortex-m3
-mthumb main.c
arm-none-eabi-ld -Tstm32.ld -nostartfiles -o main.elf main.o
arm-none-eabi-objcopy -Obinary main.elf main.bin
flash: main.bin
stm32_flash.pl main.bin
clean:
rm main.o main.elf main.bin
### Makefile (END) ###
stm32_flash.pl is a small Perl script talking to OpenOCD, to flash the
image via JTAG. Anyway, the linker produces a valid ELF.
address@hidden: ~/…/stm32f_test > file main.elf
main.elf: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically
linked, not stripped
Already the project is quite progressed. I have the uC talking to the
display, a SD-Card from which it loads images and blits it onto the
display, it has a working IP stack talking to an Ethernet PHY and a HTTP
server running, that serves static content from the SD-Card as well as
dynamically generated pages. So I can assure you, that the toolchain
does work, and very well it does.
However there is no POSIX API around, but the build configure apparently
tries to configure for Unix, which is of course completely pointless in
that situation.
Regards
Wolfgang