Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| ea_lpc2478 [2011/09/10 08:57] – admin | ea_lpc2478 [2011/09/27 21:26] (current) – [Building uClinux] admin | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| ====== Embedded Artists LPC2478 evaluation board ====== | ====== Embedded Artists LPC2478 evaluation board ====== | ||
| + | ===== Board specs ===== | ||
| * ARM7TDMI with 512KB Flash and 96KB RAM | * ARM7TDMI with 512KB Flash and 96KB RAM | ||
| * External Flash: 128MB NAND, 4MB NOR | * External Flash: 128MB NAND, 4MB NOR | ||
| Line 8: | Line 9: | ||
| * 32.768kH RTC | * 32.768kH RTC | ||
| - | Embedded Artists provides patches for u-boot 1.1.6. This is a very old u-boot but we have to use it as our board is not supported on the main u-boot development line. The version of u-boot that we are using, 1.1.6, does not seem to be compilable under Codesourcery g++. A non-EABI tool is needed, like bare metal, therefore crosstool-ng is needed. | + | ===== Building U-boot ===== |
| + | Embedded Artists provides patches for u-boot 1.1.6. This is a very old U-boot but we have to use it as our board is not supported on the main u-boot development line. The version of U-boot that we are using, 1.1.6, does not seem to be compilable under Codesourcery g++. A non-EABI tool is needed, like bare metal, therefore crosstool-ng is needed. | ||
| + | # build a u-boot.hex | ||
| + | cd u-boot | ||
| + | make distclean | ||
| + | make LPC2478OEM_Board_32bit_config | ||
| + | make | ||
| + | arm-linux-objcopy -I binary -O ihex u-boot.bin u-boot.hex | ||
| + | | ||
| # u-boot.bin is a raw binary image | # u-boot.bin is a raw binary image | ||
| - | # u-boot is an image in ELF binary format | + | # u-boot is an image in ELF binary format, never used for booting |
| # u-boot.srec is in Motorola S-Record format | # u-boot.srec is in Motorola S-Record format | ||
| + | # convert binary to hex | ||
| arm-unknown-elf-objcopy -I binary -O ihex u-boot.bin u-boot.hex | arm-unknown-elf-objcopy -I binary -O ihex u-boot.bin u-boot.hex | ||
| | | ||
| + | ===== U-boot flashing ===== | ||
| jumper pin P2.10 | jumper pin P2.10 | ||
| - | do not jumper pin RST | ||
| - | powercycle the board | ||
| - | wait for USB serial device to be seen | + | powercycle the board and wait for USB serial device to be seen |
| - | run sudo lsusb until you see the device: " | + | |
| - | figure out which tty port it is: | + | run sudo lsusb until you see the device: " |
| - | should be / | + | |
| - | Make sure your user has rw access to it | + | |
| compile the utility: | compile the utility: | ||
| - | gcc -o lpcisp lpc21isp_148x.c | + | |
| - | + | ||
| - | build a u-boot.hex | + | |
| - | cd u-boot | + | |
| - | make distclean | + | |
| - | make LPC2478OEM_Board_32bit_config | + | |
| - | make | + | |
| - | arm-linux-objcopy -I binary -O ihex u-boot.bin u-boot.hex | + | |
| Run the utility | Run the utility | ||
| - | ./lpcisp u-boot.hex / | + | |
| + | |||
| + | The download should begin immediately and take a minute or so. | ||
| + | |||
| + | Remove jumper on pin P2.10. | ||
| + | |||
| + | We can connect to the serial port terminal with minicom, using these settings: 115200 8N1 no flow control. | ||
| + | |||
| + | ===== Building uClinux ===== | ||
| + | |||
| + | tar -xzvf / | ||
| + | cd uClinux-dist/ | ||
| + | rm -r linux-2.* | ||
| + | tar -xzvf / | ||
| + | mv linux-2.6.21/ | ||
| + | patch -p1 < / | ||
| + | patch -p1 < / | ||
| + | | ||
| + | | ||
| + | | ||
| + | make menuconfig | ||
| + | make CROSS_COMPILE=arm-elf- | ||
| + | |||
| + | | ||
| + | |||
| + | make CROSS_COMPILE=arm-elf- clean | ||
| + | make CROSS_COMPILE=arm-elf- | ||
| - | The download should begin immediately and take a minute or so | + | make ARCH=arm CROSS_COMPILE=arm-uclinuxeabi- menuconfig |
| + | make ARCH=arm CROSS_COMPILE=arm-uclinuxeabi- all | ||
| + | |||
| + | | ||
| + | |||
| + | make ARCH=arm CROSS_COMPILE=arm-uclinuxeabi- CC=/ | ||
| + | |||
| + | why isn't CROSS_COMPILE variable recognized within linux/ | ||
| + | |||
| + | ====== Some links ====== | ||
| + | our development kit:\\ | ||
| + | http:// | ||
| + | http:// | ||
| + | documentation from the Embedded Artists support page: | ||
| + | * Embedded Artists Homepage | ||
| + | * LPC2478_OEM_Board_Users_Guide-Version_1.0_Rev_D.pdf | ||
| + | * Getting started with uClinux | ||