Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

ARM22xx

Отправлено Евгений 02 мая 2007 г. 09:22


LPC2292 SO-DIMM uClinux Board Resources

Thank you for buying Embedded Artists' LPC2292 SO-DIMM uClinux Board based on NXP's ARM7TDMI LPC2292 microcontroller.

This page contains a lot of information and programs (sample applications) that will QuickStart your program development!


Note that Embedded Artists does not provide support for the sample applications that can be downloaded from this page. The sample applications have been created in order to ease the development of application programs on the LPC2292 SO-DIMM uClinux Board.

The board exists in two versions; one with and one without a connector for mounting Bluetooth modules from connectBlue.

A uClinux distribution based on Linux 2.4 or v2.6 exist for the board, see below.


User's Manual and Board Schematic

LPC2292 SO-DIMM uClinux Board User's Manual
Latest version - v1.1 Rev A (updated 2006-09-01)

QuickStart Program Development User's Guide Latest version - 1.0
A QuickStart guide to get you started on application development on day 1
...and in most cases in an hour, or less!

Board schematic
Latest version - v1.0 (updated 2006-04-04)




uClinux Distribution v2.6

This section contains a description of an uClinux distribution based on v2.6.5. The distribution has been customized for the LPC2292 SO-DIMM uClinux Board.
The bootloader is now based on the u-boot, which is a popular bootloader. Note that all operations described below assumes a linux host. A Windows© host will in general not work.



Distribution Images

Description File
linux.bin
Image of uClinux system. Needed during booting.
(Files updated 2007-02-25) linux.bin (1462kB)
romfs.bin
Initial rom file system. Needed during booting.
(Files updated 2007-02-25) romfs.bin (1442kB)
u-boot
U-boot bootloader (EA version 1.5). Placed in internal FLASH memory of the LPC2292.
(Files updated 2007-04-03) u-boot.hex (258kB)
u-boot.bin (107kB)



Below is a description about how to patch and compile the u-boot.


u-boot patch

The current release builds on u-boot v1.1.6.
Download the u-boot-1.1.6 and unpack. Change directory to u-boot-1.1.6 and type:

gunzip -c where_ever/u-boot-1.1.6-ea_20070105.diff.gz | patch -p1
This will apply the EA specific changes to the source code (for both this board and the LPC2468 OEM Board). Note that this patch will not update to u-boot EA v1.5. A patch for this will be uploaded soon.

For details about how to compile the u-Boot and how to download a new version, see section below.

Description File
u-boot-1.1.6-ea_20070105.diff.gz
The patch for u-boot-1.1.6.
(Files updated 2007-01-05) u-boot patch (97kB)






Prerequisites

First of all, you have to download the u-Boot v1.1.6. This can be found from ftp.denx.de or from the Sourceforget project repository.
Download and unpack.

Secondly you have to install ELDK v4.0. ELDK stands for Embedded Linux Development Kit. The ELDK includes the GNU cross development tools, such as the compilers (GCC v4.0), binutils, gdb, etc., and a number of pre-built target tools and libraries necessary to provide some functionality on the target system.
Full instructions about downloading and installing the ELDK can be found on: http://ftp.sunet.se/pub/Linux/distributions/eldk/4.0/arm-linux-x86/distribution/
It's also possible to download a CDROM iso file from: http://ftp.sunet.se/pub/Linux/distributions/eldk/4.0/arm-linux-x86/iso/

It's basically just the compiler that is needed for compiling the u-Boot.




Compiling

Compiling is really simple. First change directory to u-boot-1.1.6. Then make sure the correct target board is selected and then actually compile. The two command lines below accompilish this:

make distclean
make lpc2292sodimm_config
To actually compile and create a u-boot program image, type:

make
Two files are created, named u-boot and u-boot.bin. The first is the elf-file which is not used unless you are debugging the u-boot itself. It is the *.bin file that is normally used. In some cases, this file must be converted to another format before downloaded into the internal FLASH of the LPC2292. It depends on the download tool used. Intel-HEX is for example a commonly used format for many tools.
To convert the *.bin file into a *.hex file, type the command below.

arm-linux-objcopy -I binary -O ihex u-boot.bin u-boot.hex




Booting via TFTP

tftpboot 81008000 linux.bin
tftpboot 81600000 romfs.bin
go 81008000





Booting via MMC/SD

mmc
fatload mmc 0 81008000 linux.bin
fatload mmc 0 81600000 romfs.bin
go 81008000
To get an overview of the MMC/SD memory card, type:

flinfo
To list the content of the MMC/SD memory card, type:

fatls mmc 0


The section below contains patch(es) for upgrading the distribution, i.e., fixing bugs and/or extending functionality.


Incremental updates

Incremental updates are to be applied after all the ordinary patches has been applied to the distribution. Ordinary patches are the ones listed above in the uClinux patch section.

Apply the incremental patch by changing directory to uClinux-dist-20051014 and type:

gunzip -c where_ever/ea-v1_0_incr1.diff.gz | patch -p1

Description File
ea-v1_0_incr1.diff.gz
Incremental patch number 1 with updates to the v1.0 distribution.
(Files updated 2007-02-25)
Release notes:
LPC2468

Bugfixes in the LCD driver
Bugfixes in the Ethernet driver
Bugfixes in the 8250 serial driver (kernel)
Added support for USB device (USB device controller)
Enabled the File-Backed Storage gadget driver (USB mass storage)
Added support for Large allocations (needed for applications larger than 1MB)
LPC2292
Bugfixes in the Ethernet driver (enc28j60)

Incremental patch (20kB)




Below are the files included on the updated CD-ROM. Note that the bootloader has been changed to the u-boot (as described above). The documentation has not yet been updated with this new bootloader.

CD content (version 2006-06-01)

Subdirectory: documentation
uclinuxQuickStartUsersGuide-20060917.pdf

Subdirectory: examples
examples2.zip (unzip)

Subdirectory: install
arm-elf-tools-20040427.sh (17MB)
linux-2.6.5.tar.bz2 (34MB)
linux-2.6.5-lpc22xx.diff.gz (185KB)
uClinux-2.4.x-ea.diff.gz (2KB)
uClinux-2.6.x-ea.diff.gz (10KB)
uClinux-dist-20051014.tar.gz (163MB, from external link)
uClinux-dist-20051014-ea.diff.gz (108KB)





uClinux Distribution v2.4

This section contains the uClinux distribution as found on the included CD. The distribution has been customized for the LPC2292 SO-DIMM uClinux Board.

Pre-compiled binaries if you do not want to compile the uClinux kernel yourself.
linux.bin (1216KB)
romfs.bin (978KB)

CD content (version 2006-06-01)

Subdirectory: bootloader
uClinuxBoot-v1.2.hex

Subdirectory: documentation
uclinuxQuickStartUsersGuide-1.pdf

Subdirectory: examples
examples.zip (unzip)

Subdirectory: install
arm-elf-tools-20040427.sh (17MB)
linux-2.4.32.tar.bz2 (30MB)
uClinux-2.4.32-uc0.diff.gz (6MB)
uClinux-dist-20051014.tar.gz (163MB, from external link)
uClinux-dist-20051014-ea.diff.gz (108KB)

Subdirectory: templates
userrc.zip (unzip)





Pre-emptive Real-Time Operating System (RTOS)

This section contains a pre-emptive real-time operating system (RTOS) for the LPC2292 SO-DIMM uClinux Board. The RTOS is delivered as a library plus a number of sample applications. It is free to use for non-commercial applications (this also includes company internal projects - products not sold for profit).

RTOS Package
The latest version - v2.2 of the RTOS (updated 2005-10-17) The zip-file contains the library, documentation, and a number of sample applications.
Unzip the archive, start the LPC2xxx-gcc-newlib QuickStart Build Environment and change directory to the root of the archive. Then change directory to the sample project that you actually want to build and type: make deploy to download into your board. Observe that the jumpers on the board must be shorted in order to enable the automatic program download function.
The different sample applications illustrate different functionalities of the RTOS. You can easily extend the sample applications and start creating your own application.




Sample Applications - Specific for LPC2292 SO-DIMM uClinux Board

This section contains different sample applications that will help you get quickly up-and-running with your application program development. These applications are specific for the LPC2292 SO-DIMM uClinux Board together with the uClinux Prototype Board.
All sample applications build around the pre-emptive operating system.

Application GCC+newlib environment
GCC+uclibc environment
7-segment display
Demonstrates how to control the 7-segment display on the prototype board, via the SPI bus.
(Files updated 2006-04-04) 7-seg.zip
Analog to Digital Converter
Demonstrates how to convert the analog inputs on the prototype board into digital values and print the results on the terminal.
(Files updated 2006-04-04) analog.zip
Buzzer
Demonstrates how to control the buzzer on the prototype board with a PWM signal (plays a short song).
(Files updated 2006-04-04) buzzer.zip
External FLASH Memory
Demonstrates how to control the external FLASH memory; erase and programming.
(Files updated 2006-04-04) flash.zip
Graphical LCD
Demonstrates how to use a small graphical library for a 240x128 pixel monochrome LCD.
(Files updated 2006-04-04) lcd.zip
Interrupts with P0.14
Demonstrates how to let P0.14 push-button be an interrupt input (negative edge trigged).
(Files updated 2006-04-04) p0.14-irq.zip
External RAM and malloc()
Demonstrates how to place the heap in the external RAM and let malloc() make use of it.
(Files updated 2006-04-04) ram-malloc.zip
RAM Test
Demonstrates a simple test program to determine the size of the external RAM and also test the RAM with a bit pattern.
(Files updated 2006-04-04) ramTest.zip
Running LED
Demonstrates with a very simple program how to create a running-one pattern for the LED on the prototype board.
(Files updated 2006-04-04) running-LED.zip
Read I2C Temperature Sensor LM75
Demonstrates how to read the temperature value of the LM75 sensor, via I2C-bus.
(Files updated 2006-04-04) temp-lm75.zip
Interrupt Driven Implementation for UART #1
Demonstrates an interrupt driven implementation for UART #1.
(Files updated 2006-04-04) uart1-irq.zip
Interrupt Driven Implementation for UART #1 with Semaphore
Demonstrates an interrupt driven implementation for UART #1 and how to use a semaphore to have a process block waiting for received characters.
(Files updated 2006-04-04) uart1-semaphore.zip





Sample Applications - General for LPC2xxx family

This section contains different sample applications that will help you get quickly up-and-running with your application program development. These applications are general for Philips LPC2xxx microcontroller family.

Application GCC+newlib environment
GCC+uclibc environment IAR environment
Analog to Digital Converter
Demonstrates how to convert the analog inputs into digital values (for processors with built-in ADC).
(Files updated 2005-10-17) adc.zip Soon to be released
Code Protection
Demonstrates how to enable the code protection functionality (for processors with built-in code protection functionality).
(Files updated 2005-10-17) code_protection.zip Soon to be released
In-Application Programming
Demonstrates how to invoke the IAP functionality from an application program (to program the internal FLASH memory).
(Files updated 2005-10-17) iap.zip Soon to be released
UART
Demonstrates how to use the UART in an irq and a polled implementation (i.e., with or without using interrupts). Includes a general print number function.
(Files updated 2005-10-17) uart_poll.zip
uart_irq.zip Soon to be released
Polled I2C
Demonstrates how to use the I2C as a master in polled mode (i.e., without interrupts). Reading and writing to an i2c-eeprom is used as sample application.
(Files updated 2005-10-17) i2c_poll.zip Soon to be released
SPI
Demonstrates how to use the SPI as a master in both a polled and interrupt implementation.
(Files updated 2005-10-17) spi_poll.zip
spi_irq.zip Soon to be released
SWI
Demonstrates how to use SWI interrupt (software interrupts) and how to create a customer SWI handler.
(Files updated 2005-10-17) swi.zip Soon to be released
FIQ Handler
Demonstrates how to create a customer FIQ handler.
(Files updated 2005-10-17) install_fiq_handler.zip Soon to be released
IRQ Handler in SYS Mode
Demonstrates how to create an IRQ handler that execute interrupt handlers in SYSTEM mode, instead of IRQ mode.
(Files updated 2005-10-17) irq_in_sys_mode.zip Soon to be released
PWM Examples
Demonstrates how to vary the frequency of a PWM signal and how to vary the duty cycle of a PWM signal.
(Files updated 2005-10-17) pwm_freq.zip
pwm_duty.zip Soon to be released
Timer Interrupt
Demonstrates how to use a timer (in interrupt mode) as system time counter and how to register timer callback functions.
(Files updated 2005-10-17) timer_irq_arm.zip
timer_irq_thumb.zip Soon to be released
Timer Delay
Demonstrates how a timer can be used to implement exact (polled and irq) delays.
(Files updated 2005-10-17) timer_delay_poll.zip
timer_delay_irq_arm.zip
timer_delay_irq_thumb.zip Soon to be released
Power Save Mode
Demonstrates how the idle mode can be used to save power.
(Files updated 2005-10-17) idle_mode.zip Soon to be released
Power Down Mode
Demonstrates how the power down mode (lowest power mode) can be used to save power.
(Files updated 2005-10-17) power_down_mode.zip Soon to be released
Real-Time Clock
Demonstrates how the real-time clock can be used.
(Files updated 2005-10-17) rtc.zip Soon to be released
Watchdog
Demonstrates how the watchdog can be used.
(Files updated 2005-10-17) watchdog.zip Soon to be released
More to come...





QuickStart Build Environment

Embedded Artists' unique QuickStart Build Environments; By installing one of these environments you will automatically get a complete setup of a build environment.

LPC2xxx-gcc-newlib
Latest version - v2.3.0.0 updated (2005-12-19)
This build environment is based on GCC v3.4.3 + newlib as the compiler. You must also install the GNUARM distribution at the default location.




Test Program

Pre-installed test program
Latest version - v1.6 (updated 2006-09-01) Use terminal speed: 115200 bps (8N1).
The test program runs on the LPC2292 SO-DIMM uClinux Board and utilizes the peripherals on the uClinux Prototype Board.

Older version - v1.5 (updated 2006-06-04) For uClinux Prototype Board v1.0. Use terminal speed: 115200 bps (8N1). The test program runs on the LPC2292 SO-DIMM uClinux Board and utilizes the peripherals on the uClinux Prototype Board.




ISP Program

LPC21ISP v1.37x, modified for LPC2468
Executable for Windows (Cygwin) Latest version v1.37x, modified for LPC2468 (updated 2007-02-14)
Source code Latest version v1.37x, modified for LPC2468 (updated 2007-02-14)




Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru