Hammer Board Software System

APEX Boot Loader
Current APEX [[Media:apex-1.5.6-hammer-p1.tar.gz| bootloader source]]

Current APEX [[Media:apex-hammer-config| bootloader config]]

Kernel
Current - Hammer is supported in the main kernel tree as of linux-2.6.26 (Be careful : there are some problems with S3C2410 USB host support which appear to fixed in 2.6.28).

[[Media:linux-2.6.29-mmc.patch| mmc-patch]] for adding sd/mmc configuration to 2.6.29

[[Media:linux-2.6.26.5-mmc.patch| mmc-patch]] for adding sd/mmc configuration to 2.6.26

[[Media:hammer-linux-2.6.22-09122007.diff.gz| kernel patch]] against 2.6.22

The [[Media:s3c2410_udc.patch| s3c2410_udc patch]] (required for Gadget support)

Current [[Media:hammer-kernel-config| Kernel Config]]

Buildroot
Current supported [[Media:buildroot-01082008.tar.gz| Buildroot]]

NOTE: Ubuntu users will need to fix the dash disaster using this HowTo

Fix for [[Media:mpfr.mk| mpfr buildroot config]]

Current [[Media:buildroot-hammer-config| buildroot config]]

Buildroot [[Media:buildroot-hammer-alt-config| Configuration with C++ enabled]]

NOTE: If you receive the error "scripts/unifdef.c:209: error: conflicting types for 'getline'", you will likely need to go into the directory containing unifdef.c and edit the three instances of  getline in unifdef.c to parseline, as discussed at http://patchwork.kernel.org/patch/11166/.

NOTE: ./buildroot/project_build_arm/Hammer/root/usr/lib/ is not properly created and when an error occurs on libstdc++.so create this directory tree and try to make again

NOTE: Most likely the make will error at finding fakeroot_1.7.1.tar.gz

To resolve change directory to your dl folder in buildroot/dl and wget

when that is finished cd .. and rerun make

NOTE: If you get more trouble, with the fakeroot-doc.patch file, try editing the patch file as given at http://www.robotcraft.ca/webshop/p30/Attaching-XBee-module-to-Hammer-ARM9-board/pages.html

NOTE: Error occurs with system returnvalue on makedevs

This issue can be resolved by following patch information in this FAQ

Tool Chain
No patches are needed. The tool chain is built using buildroot.

SVN R1888
Note: This is not the latest revision, but it is one that many folks use.

For Linux Build: You must get the source from openocd from SVN --->svn checkout svn://svn.berlios.de/openocd/trunk -r 1888

You will also have comment out line 16 of config.in ---># AC_CHECK_HEADERS(jtag_minidriver.h)

then run bootstrap.sh followed by --->./configure --enable-ft2232-ftd2xx --enable-maintainer-mode

then make followed by make install as root

I used Ubuntu 9.04 and had many of the essential tools already installed, you may need to install additional tools for your own dist I had to add these specifically for openocd:

subversion (1.5.4dfsg1-1ubuntu2) libtool (2.2.6a-1ubuntu1) automake1.9 (1.9.6+nogfdl-3ubuntu2) texinfo (4.11.dfsg.1-4) See the [[media:readme1888.txt| readme.txt]] for additional info.

Once installed, you need to run openocd as root from the directory that contains the .cfg files and scripts you want to run.

Here are some useful scripts:


 * [[media:blinker.ocd| Script to blink the user led]]
 * [[media:dump_apex.ocd| Script to dump apex from flash to file zxcv.bin]]
 * [[media:erase_check.ocd| Script to do an erase check on the flash (takes a while)]]
 * [[media:flash_all.ocd| Script to flash apex, zImage and rootfs]]
 * [[media:flash_apex.ocd| Script to flash apex.bin]]
 * [[media:load_apex.ocd| Script to load apex.bin to address 0x30008000 and verify it]]
 * [[media:probe_info.ocd| Script to do a flash probe followed by a flash info]]

Here are the .cfg files for the hammer:


 * [[media:flyswatter.cfg| Flyswatter Config for OpenOCD R1888]]
 * [[media:hammer1888.cfg| Hammer Config for OpenOCD R1888]]

Invoke openocd like this:

-->openocd -f flyswatter.cfg -f hammer.cfg -f load_apex.ocd

SVN R734
Stable as of 10-06-2008
 * [[media:openocd-20081006.tar.gz| Current OpenOCD source Version SVN734]]
 * [[media:libftd2xx0.4.15.tar.gz| Current libftd2xx files Version 0.4.15]]
 * [[media:hammer.cfg| Current Hammer Config for OpenOCD]]
 * [[media:hammer.ocd| Current Hammer Script for OpenOCD]]

NOTE: SVN734 is from a date of 2008-06-27, newer versions of OpenOCD from the SVN are not considered stable

SVN R208

 * [[Media:openocd.tar.gz| Older stable Openocd source (2007-09-05)]]
 * [[Media:libftd2xx0.4.13.tar.gz| Older libftd2xx files Version 0.4.13]]
 * [[Media:hammer.cfg| Older Hammer Config for OpenOCD]]
 * [[Media:hammer.ocd| Older Hammer Script for OpenOCD]]

[[Media:blink.ocd| Openocd Script to blink onboard LED]]

Other Important Stuff
Source for devmem utility - [[media:devmem2.c|devmem]]

Binary Reference Images
[[media:apex.bin| APEX Boot Loader]]

[[media:zImage| Kernel 2.6.22 image]]

[[media:rootfs.arm.ext2.gz| Root File System]]

[[media:devmem| devmen utility]] binary