Difference between revisions of "Hammer Board Software System"

From eLinux.org
Jump to: navigation, search
(Binary Reference Images)
 
(42 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Current kernel patch against 2.6.22 - [[Media:hammer-linux-2.6.22-09122007.diff.gz]]
+
==Source Code==
  
Current kernel config  - [[Media:hammer-kernel-config]]
+
=== [[APEX]] Boot Loader ===
 +
Current APEX [[Media:apex-1.5.6-hammer-p1.tar.gz| bootloader source]]  
  
Current [[APEX]] bootloader source - [[Media:apex-1.5.6-hammer.tar.gz]]
+
Current APEX [[Media:apex-hammer-config| bootloader config]]
  
Current [[APEX]] bootloader config - [[Media:apex-hammer-config]]
+
=== Kernel ===
 +
Current - Hammer is supported in the main kernel tree as of [http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.gz linux-2.6.26] (Be careful : there are some problems with S3C2410 USB host support which appear to fixed in 2.6.28).
  
Archived Buildroot [[Media:buildroot-01032008.tar.gz]]
+
[[Media:linux-2.6.29-mmc.patch| mmc-patch]] for adding sd/mmc configuration to 2.6.29
  
Current Buildroot [[Media:buildroot-01082008.tar.gz]]
+
[[Media:linux-2.6.26.5-mmc.patch| mmc-patch]] for adding sd/mmc configuration to 2.6.26
  
The binutils patch (included in 01082008 buildroot) [[Media:100-makeinfo-version.patch]]. Put this file in the '''buildroot/toolchain/binutils/2.17.50.0.17''' directory.
+
[[Media:hammer-linux-2.6.22-09122007.diff.gz| kernel patch]] against 2.6.22
  
Current Openocd source - [[Media:openocd.tar.gz]]
+
The [[Media:s3c2410_udc.patch| s3c2410_udc patch]] (required for Gadget support)
  
Current libftd2xx files - [[Media:libftd2xx0.4.13.tar.gz]]
+
Current [[Media:hammer-kernel-config| Kernel Config]]
  
Fix for mpfr buildroot config - [[Media:mpfr.mk]]
+
=== Buildroot ===
 +
Current '''supported''' [[Media:buildroot-01082008.tar.gz| Buildroot]]
  
The s3c2410_udc patch (required for Gadget support) - [[Media:s3c2410_udc.patch]]
+
NOTE: Ubuntu users will need to fix the [https://wiki.ubuntu.com/DashAsBinSh dash disaster] using this [http://liquidweather.net/howto/index.php?id=59 HowTo]
  
'''Alternate Buildroot Configurations'''
+
Fix for [[Media:mpfr.mk| mpfr buildroot config]]
  
Robotguy's Default Buildroot Configuration - [[Media:robotguy-buildroot-default.config]]
+
Current [[Media:buildroot-hammer-config| buildroot config]]
  
The reference [[media:apex.bin|bootloader]], [[media:zImage|Kernel Image]], and [[media:rootfs.arm.ext2.gz|root file system]]
+
Buildroot [[Media:buildroot-hammer-alt-config| Configuration with C++ enabled]]
  
devmem utility [[media:devmem|binary]] and [[media:devmem2.c|source]]
+
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 [ftp://ftp.at.debian.org/grml/src/sources/fakeroot/fakeroot_1.7.1.tar.gz]
 +
 
 +
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 [http://www.at91.com/linux4sam/bin/view/Linux4SAM/BuildRootFAQ#Why_compiling_makedevs_c_produce FAQ]
 +
 
 +
=== Tool Chain ===
 +
No patches are needed. The tool chain is built using buildroot.
 +
 
 +
=== OpenOCD ===
 +
==== SVN R1888 ====
 +
 
 +
Note: This is not the latest revision, but it is one that many folks use.
 +
 
 +
For Linux Build:
 +
<pre>
 +
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)
 +
</pre>
 +
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:zImage-stix.bin| Kernel 2.6.22 image for usb-stix]]
 +
 
 +
[[media:rootfs.arm.ext2.gz| Root File System]]
 +
 
 +
[[media:devmem| devmen utility]] binary
  
 
[[Category:TCT-Hammer]]
 
[[Category:TCT-Hammer]]
  
 
[[Category:TinCanTools]]
 
[[Category:TinCanTools]]

Latest revision as of 11:44, 8 July 2010

Source Code

APEX Boot Loader

Current APEX bootloader source

Current APEX 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).

mmc-patch for adding sd/mmc configuration to 2.6.29

mmc-patch for adding sd/mmc configuration to 2.6.26

kernel patch against 2.6.22

The s3c2410_udc patch (required for Gadget support)

Current Kernel Config

Buildroot

Current supported Buildroot

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

Fix for mpfr buildroot config

Current buildroot config

Buildroot 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 [1]

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.

OpenOCD

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 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:


Here are the .cfg files for the hammer:

Invoke openocd like this:

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

SVN R734

Stable as of 10-06-2008

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

SVN R208


Openocd Script to blink onboard LED


Other Important Stuff

Source for devmem utility - devmem

Binary Reference Images

APEX Boot Loader

Kernel 2.6.22 image

Kernel 2.6.22 image for usb-stix

Root File System

devmen utility binary