Showing posts with label ARM. Show all posts
Showing posts with label ARM. Show all posts

22 April 2007

Build Your Own ARM Cross Compiler Toolchain

GNUARM is a set of open source GNU compiler for ARM microcontroller. The toolchain consists of the GNU binutils, GCC compiler set, Newlib and Insight, the graphical user interface to GNU debugger for Windows and Linux. This article will guide the building process of GNUARM toolchain only for Linux users. For Windows users, there have the installer executable EXE files already. www.scienceprog.com has a tutorial on setting up this tool on Windows environment.

Get the sources
I will demonstrate the building process for GCC-4.1 only. For the others version, you can find the GNUARM distributions files from here. Here is the list of files that are required for the installation.

  • binutils-2.17.tar.bz2 [13.1MB]

  • gcc-4.1.1.tar.bz2 [37.3MB]

  • newlib-1.14.0.tar.gz [7.61MB]

  • insight-6.5.tar.bz2 [20.4MB]


I compiled the sources code with gcc-4.1.1 on Fedora Core 6 (kernel-2.6.18). Note that I built the toolchain as root. I also wanted the arm-target stuff separate from my Linux-native stuff, so I put the toolchain in /usr/local/gnuarm.

Building Instruction
[home]# tar xvf binutils-2.17.tar.bz2
[home]# tar xvf gcc-4.1.1.tar.bz2
[home]# tar xvf newlib-1.14.0.tar.gz
[home]# tar xvf insight-6.5.tar.bz2
[home]# cd binutils-2.17
[binutils-2.17]# ./configure --target=arm-elf \
--prefix=/usr/local/gnuarm --enable-interwork --enable-multilib
[binutils-2.17]# make all install
[binutils-2.17]# export PATH="$PATH:/usr/local/gnuarm/bin"
[binutils-2.17]# cd ../gcc-4.1.1
[gcc-4.1.1]# ./configure --target=arm-elf \
--prefix=/usr/local/gnuarm --enable-interwork \
--enable-multilib --enable-languages="c,c++" \
--with-newlib --with-headers=../newlib-1.14.0/newlib/libc/include
[gcc-4.1.1]# make all-gcc install-gcc
[gcc-4.1.1]# cd ../newlib-1.14.0
[newlib-1.14.0]# ./configure --target=arm-elf \
--prefix=/usr/local/gnuarm --enable-interwork --enable-multilib
[newlib-1.14.0]# make all install
[newlib-1.14.0]# cd ../gcc-4.1.1
[gcc-4.1.1]# make all install
[gcc-4.1.1]# cd ../insight-6.5
[insight-6.5]# ./configure --target=arm-elf \
--prefix=/usr/local/gnuarm --enable-interwork --enable-multilib
[insight-6.5]# make all install

Now, I hope everthing is done. You can test by running arm-elf-gcc command in the shell.

09 April 2007

Learn Embedded Linux with ARMulator

uClinux is an excellent way to study the embedded operating systems for an engineer, student, hobbyist, Linux-enthusiast. I am interested in Embedded Linux for ARM microcontroller. Before buying a new mcu evaluation board, there is a smart way to study the Embedded Linux. That is studying it with the emulator called ARMUlator.

I tested on Fedora Core 6 Linux with GCC 3.4.x (how to install gcc 3.4 for FC6).

What you get

Here are some files you can use to put together uClinux running in the GDB/ARMulator.

Building the Debugger/Emulator
 tar xvf gdb-5.0.tar.bz2
 gunzip gdb-5.0-uclinux-armulator-20060104.patch.gz
        patch -p0 < gdb-5.0-uclinux-armulator-20060104.patch
 cd gdb-5.0
        export CC=gcc34
 ./configure --target=arm-elf
 make
 make install

Running the precompiled binaries

The ARMulator expects the romfs to be in a file called "boot.rom". You must use the matching kernel/romfs combo's.
 gunzip romfs.2.4.x
 gunzip linux.2.4.x
 ln -s romfs.2.4.x boot.rom
 arm-elf-gdb linux-2.4.x
 ...
 gdb> target sim
 ...
 gdb> load
 ...
 gdb> run

28 November 2006

Low-cost ARM7TDMI Evaluation Board based on STR730FZ2T6

Embest announced the availablity of the STDV730F, a low-cost development board based on STR730FZ2T6, ARM7TDMI 32-BIT processor from STMicroelectronics.

Features
  • 256 Kbytes of flash
  • 16 Kbytes of RAM
  • up to 16-channel 10-bit ADC
  • 20 timers
  • 4xUARTs
  • 3xCANs
  • SPI
  • I2C
  • DMA
  • RTC
  • PWM
  • 112 GPIO

The board integrates a 2x16 LCD, LEDs, UART, CAN interface, buzzer, test buttons and Jtag interface to create a versatile stand-alone test platform. The board itself is provided with plenty of example
programs to help you startup with your design quickly.

Source: www.embedded-computing.com

27 November 2006

ARM offers OpenMAX DL, free video codec software library

ARM has made the source code for its sample implementation of OpenMAX DL (Development Layer) audio and video codec software library freely available for download from the company’s website. ARM’s sample OpenMAX DL software library provides source code written in C for easy platform portability and code readability.

OpenMAX is a royalty-free, cross-platform API developed by the Khronos Group that provides a comprehensive media codec and application portability by enabling accelerated multimedia components to be developed, integrated and programmed across multiple operating systems and silicon platforms. [OpenMAX]

ARM said it plans to create a series of libraries including an implementation that will take full advantage of the ARMv6 architecture found in the ARM11 family and an implementation for the NEON signal processing technology found in the Cortex-A8 processor.

Source: www.electronicsweekly.com