Jump to content

LPC21xx: Difference between revisions

From HW wiki
No edit summary
 
(21 intermediate revisions by 3 users not shown)
Line 2: Line 2:




== Docuemtnation ==
== Documetnation ==


[http://www.standardics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lpc2109.lpc2114.lpc2119.lpc2124.lpc2129.lpc2194.lpc2210.lpc2212.lpc2214.lpc2220.lpc2290.lpc2292.lpc2294.pdf LPC21xx Datasheet]
[http://www.standardics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lpc2109.lpc2114.lpc2119.lpc2124.lpc2129.lpc2194.lpc2210.lpc2212.lpc2214.lpc2220.lpc2290.lpc2292.lpc2294.pdf LPC21xx Datasheet]
== Development tools ==
== Boards ==


# Download [ftp://rtime.felk.cvut.cz/arch-tools/gcc-arm-elf-3.4.3-bin.tar.gz gcc-arm-elf-3.4.3-bin]  
* [http://duch.cz/spejbl/elektronika.html#3-3 SPEJBL-ARM]
# Unpack this to the root direcotry
* LPCEUROBOT - A board used by our [http://rtime.felk.cvut.cz/dragons Eurobot team]
tar -C / -xvzf gcc-arm-elf-3.4.3-bin.tar.gz


== Software ==
== Development tools ==


We have developed a [http://rtime.felk.cvut.cz/darcs/darcsweb.cgi?r=lpc21xx-boot;a=tree;f=/arch/arm/mach-lpc21xx/tools/tolpc tolpc]
=== Toolchain binaries for Debian ===
tool, which can be now used for loading applications to RAM. For flash loading [http://guest.engelschall.com/~martin/lpc21xx/isp/ lpc21isp] can be used. In future we will include flash programming posibility to '''tolpc'''.


== Getting the software ==
Invoke next line to add rtime cross-dev into packages sources list


Actual source code can be downloaded using a [[Git]] tool:
echo deb ftp://rtime.felk.cvut.cz/debian unstable main >/etc/apt/sources.list.d/rtime-debs.list


  git clone http://rtime.felk.cvut.cz/git/sysless-lpc21xx.git
Update packages cache (aptitude update)
Check, that libmpfr1ldbl and libgmp3c2 packages are installed and select next packages


This will create a copy of the repository on your computer. Later you can update your repository using the command:
binutils-arm-elf
gcc-arm-elf


  git pull
==== Installation on non-Debian systems ====


If you have an acount on the ''rtime'' server, you can use ''ssh''-based access to the repository. If an administrater gave you the right for writing to the repository, you can not only read (pull) repository but also write (push) changes to the repository.
* Download the appropriate packages (.deb) from ftp://rtime.felk.cvut.cz/debian/pool.


The syntax for getting the repo via ''ssh'' is:
* Then Use <tt>ar x binutils-arm-elf_2.19.50-1_i386.deb</tt> and <tt>tar -C / -xzf data.tar.gz</tt>


  git clone <login>@rtime.felk.cvut.cz:/var/git/sysless-lpc21xx.git
* Do the same for gcc* package


=== Older version in tar archive ===


Browsing of project sources is also possible via [http://rtime.felk.cvut.cz/darcs/darcsweb.cgi?r=lpc21xx-boot;a=summary Darcs web interface]. FIXME
# Download [ftp://rtime.felk.cvut.cz/arch-tools/gcc-arm-elf-3.4.3-bin.tar.gz gcc-arm-elf-3.4.3-bin]  
# Unpack this to the root direcotry
tar -C / -xvzf gcc-arm-elf-3.4.3-bin.tar.gz


If you plan to record some changes and push them back to the server, it is recomended to add the following lines to <tt>_darcs/prefs/boring</tt>:
== Software ==


^TAGS$
Use the [[System-Less Framework]] to develop for this family of microcontrollers. It contains [[OMK|Makefiles]] for building your applications, code for booting the processor, [http://rtime.felk.cvut.cz/gitweb/sysless.git?a=tree;f=arch/arm/mach-lpc21xx/tools/tolpc tolpc]
^config\.omk
tool, which can be now used to load applications into RAM, and [http://guest.engelschall.com/~martin/lpc21xx/isp/ lpc21isp] tool, which can be used to write the application to the flash.
^_build
^_compiled


== Installation/Compilation ==


In order to compile sources from the repository and your applications, you need to "merge" the lpc21xx-boot tree to h8300-boot tree. Besides support for h8300 family processors, h8300-boot contains a general makefiles. lpc21xx-boot only contains support for LPC processors and reuses the makefiles from h8300 boot. In future, makefiles will be provided separately.
You need to follow these steps to prepare for compilation of sysless-lpc21xx.
# Download [[H8300-boot#Getting_the_software|H8300-boot]] repository to some directory (not under sysless-lpc21xx)
# Change directory to h8300-boot <pre>cd h8300-boot</pre>
# Run the script to merge sysless-lpc21xx to the tree.<pre>sh linkarch <path/to/sysless-lpc21xx></pre> This should create symbolic links to the sysless-lpc21xx in the directory tree.
# Follow the [[H8300-boot#Compiling|instructions for compilation]] for h8300-boot. Note, that you will execute '''make''' commands from the configured h8300-boot tree and not from sysless-lpc21xx tree.


== Literature ==
== Literature ==


* [http://www.olimex.com/dev/pdf/ARM%20Cross%20Development%20with%20Eclipse%20version%203.pdf ARM Cross Development with Eclipse]
* [http://gnuarm.alexthegeek.com/ARM_Cross_Development_With_Eclipse_Components_Revision3_March_17_2006.pdf ARM Cross Development with Eclipse (windows only)]
* [http://www.hitex.co.uk/arm/lpc2000book/index.html The Insider's Guide To The Philips ARM7-Based Microcontrollers (LPC21xx)]
* [http://www.hitex.co.uk/arm/lpc2000book/index.html The Insider's Guide To The Philips ARM7-Based Microcontrollers (LPC21xx)]
* [http://www.arm.com/miscPDFs/4718.pdf ARM Laboratory Exercises (For the ARM Evaluator-7T Board)]
* [http://www.arm.com/miscPDFs/4718.pdf ARM Laboratory Exercises (For the ARM Evaluator-7T Board)]
* [http://www.open-research.org.uk/ARMuC ARM microcontroller Wiki]
* [http://www.open-research.org.uk/ARMuC ARM microcontroller Wiki]
[[Category:ARM]]

Latest revision as of 16:09, 19 January 2010

Note: The name of this package was recently changed from lpc21xx-boot to sysless-lpc21xx. We have also changed the version control system from Darcs to Git.


Documetnation

LPC21xx Datasheet

Boards

Development tools

Toolchain binaries for Debian

Invoke next line to add rtime cross-dev into packages sources list

echo deb ftp://rtime.felk.cvut.cz/debian unstable main >/etc/apt/sources.list.d/rtime-debs.list

Update packages cache (aptitude update) Check, that libmpfr1ldbl and libgmp3c2 packages are installed and select next packages

binutils-arm-elf
gcc-arm-elf

Installation on non-Debian systems

  • Then Use ar x binutils-arm-elf_2.19.50-1_i386.deb and tar -C / -xzf data.tar.gz
  • Do the same for gcc* package

Older version in tar archive

  1. Download gcc-arm-elf-3.4.3-bin
  2. Unpack this to the root direcotry
tar -C / -xvzf gcc-arm-elf-3.4.3-bin.tar.gz

Software

Use the System-Less Framework to develop for this family of microcontrollers. It contains Makefiles for building your applications, code for booting the processor, tolpc tool, which can be now used to load applications into RAM, and lpc21isp tool, which can be used to write the application to the flash.


Literature