Development Environment Setup for DS2148WZ

Project Examples

Starting a project with a new processor and unknown software environment is often a "hair-raising" experience. We personally remember those struggles from the past and we want to spare our clients' time and energy so we present a good selection of downloadable examples. They cover a wide spectrum of tasks. We try to show projects of different complexity; from very simple "almost main.c only" example to 100+ files strong FreeRTOS port, with several levels in-between. We present small "one folder" projects as well as multi-folder tree-like solutions. Every project includes a full set of all required sources, makefiles and link-command files. All our examples were prepared and tested with free downloadable GCC tool chain. The hex file generated as a final result of compilation/linking process can be loaded to LPC2148 micro in a matter of seconds.

Board Software Packages

• DS2148WZ Software Package available DS2148WZ Software Package
• DS2148BB Software Package available DS2148BB Software Package

Suggested Tools and Customizations

We prepared software packages designated for our boards. They include full code examples and tools of development environment with batches, makefiles and options. We have our preferences, but there is nothing wrong with using other compilers, debuggers, Flash Programmers etc. Our solutions are present to allow you fast start of the project by simply repeating steps already done many times in our lab, but you can replace any of "our tools" by commercial or another freeware counterparts. Ultimately it is just plain C-Code.

GNUARM(arm-elf-gcc)- GCC-4.1 toolchain

Go to GNUARM.com, select FILES and download pre-compiled binary distribution file "binutils-2.17tar.bz2". It combines GCC-4.1.1, newlib-1.14.0 and Insight-6.5. Decompress it and Run 'bu-2.17_gcc-4.1.1-c-c++_nl-1.14.0_gi-6.5.exe' setup file. All the components are installed automatically. Add 'gnuarm\bin' subdirectory (i.e. C:program files\gnuarm\bin;) to your PATH environment variable.

Cygwin Environment (needed for GNUARM)

Setup.exe downloaded from Cygwin.com doesn't require any action. Check if you have only one cygwin1.dll file on your hard drive. Modify Path variable to include 'Cygwin\bin'.

Windows Path Setting

Start->My Computer (Right Button)->Properties->Advanced->Environment Variables->Path->Edit
Path example:
Path=C:\WINDOWS\system32; C:\WINDOWS;C:\WINDOWS\system32\Wbem; C:program files\gnuarm\bin; C:\cygwin\bin

General GCC Settings

LPC2148 is ARM7TDMI-S CPU working in little-endian mode(i.e. MSB at highest bit address). For compilation "-mcpu=arm7tdmi" switch has to be used (typicaly in 'makefile' options).

Philips LPC2000 Serial Flash Loader

The flash.isp.utility.lpc2000.zip (date 2/24/2005) included in our software package.
During the first run select: COM Port, Baud Rate: 38400, Device: LPC2148, XTAL Freq: 12000 and check 'Use DTR/RTS for Reset and Boot Loader' Box. Pressing 'Read Device ID' button should give (for LPC2148) PartID=67305253. It is very good feedback, showing that programmer communicates properly with the target board.
Alternatively, you can use LPC21xx Flasher downloaded from FlashMagic.com

USB virtual serial (USBSER) driver installation

Extract usbser.sys from applicable cab file located at \Windows\Driver Cache\i386\. For older systems it is driver.cab, for newer one ps2.cab or sp3.cab. The USBSER.INF file is copied during our board startup installation.

ActiveTcl Script Language Package

We recommend installing industry-standard Tcl distribution of ActiveTcl version 8.5 from http://www.activestate.com/activetcl/ It is free and easy to install. ActiveTcl is necessary to run our "SiteBuilder" utility and our handy RS232 "Terminal" application.

WireShark Network Analyzer

It is a must for all who play with the networks. It shows and analyzes network packets. Download it from http://www.wireshark.org/.
WireShark can capture and interpret packets on your LAN and probably will capture more than you need. Declare filter similar to: ip.addr == to filter some of them out.

Copyright 2008 - Digital Shortcut Inc., All Rights Reserved