Samsung 2440 Integrated Module Firmware

Front side of IM2440D20 module

The IM2440D20 board is equipped with NAND flash in which all the system firmware is stored.

The NAND flash is accessed in discrete "pages". There are two possible page sizes either small (16KiB) or large (128KiB) depending on the NAND device fitted. The detect-large-nand tool can be used to determine which size is present.

The NAND flash is partitioned into four areas:

The IPL and ABLE filesystem reside within the first 4MB. The primary user partition occupies the next 28MB and the remainder is allocated to the secondary user partition. It is envisaged the OS boot files and perhaps a small rescue system are placed within the primary partition and the secondary area used for the OS filesystem.

Initial Program Loader

The processor on the IM2440D20 modules is configured to boot directly from the NAND flash, the CPU reads the first 4KB into its internal SRAM and commences execution.

Simtec have written a small Initial Program Loader (IPL) which retrieves the full module firmware (usually ABLE) from a JFFS2 partition on the start of the flash and executes it.

The IPL scans the boot partition for files in order bootimg.000, bootimg.001 etc. The first boot image which is successfully loaded is executed. If no valid boot image can be found the IPL will attempt to X-modem an image file from the primary serial port of the S3C2440.

The IPL may be upgraded from ABLE by using the NFWrite tool. The command to execute would be

nfwrite -c0 -f -v (tftpboot)stcipl-s3c24xx-nand-generic-250.bin 0-0

The current version of the IPL for the IM2440D20 is 2.50. The changelog details the changes in this release.

Before upgrading please ensure any changes are suitable for your requirements. Updating the IPL should not be done without a specific reason as a failure will require reprogramming either with JTAG or return to Simtec.

Simtec try to ensure there are no regressions from release to release, however it is the users responsibility to ensure that there are no issues with a given release which may adversely affect them.

Initial Program Loader binary suitable for writing into flash with the NFWrite tool (or if needed, with a JTAG programmer). Initial Program Loader Binary file
MD5Sum of the Initial Program Loader suitable for use with the NFWrite tool to verify data integrity. Initial Program Loader MD5Sum

ABLEABLE

ABLE is Simtec's advanced board firmware and bootloader. It is cross platform and is being actively developed for all Simtec boards.

In order to upgrade the ABLE image the NFWrite tool must be used to write the JFFS2 images to the ABLE boot partition. The exact commandline required varies with the type of NAND flash installed on the module.

To write a small-page module, use the following command:

nfwrite -c0 -f -v (tftpboot)s3c2410x-able-apps-259-small-summary.jffs2 1-255

To write a large-page module, use the following command:

nfwrite -c0 -f -v (tftpboot)s3c2410x-able-apps-259-large-summary.jffs2 1-31

The current version of ABLE for the IM2440D20 is 2.59. The changelog details the changes in this release. Before upgrading please ensure any changes are suitable for your requirements.

Simtec endeavor to ensure there are no regressions from release to release, however it is up to the user to ensure that there are no known issues with a given release which may adversely affect them.

Checks should be performed prior to upgrading a board as, if the upgrade fails, the board may be left in a state where booting is not possible. The reloader tool is useful for this checking.

The IPL must be upgraded to version 2.39 or later before upgrading to ABLE version 2.54. Failure to do this will result in a board which cannot be booted.

Several tools are available which provide extra functionality not built into ABLE. These tools and their documentation are available from the ABLE resources section.

The raw ABLE binary which may be copied to the JFFS2 boot partition using Linux. This binary can also be soft loaded from a running ABLE with Reloader. Binary file
A complete JFFS2 filesystem image suitable for programming with the NFWrite tool on small page NAND devices. Binary file
MD5Sum of the small page NAND JFFS2 filesystem image suitable for use with the NFWrite tool to verify data integrity. Text file
A complete JFFS2 filesystem image suitable for programming with the NFWrite tool on large page NAND devices. Binary file
MD5Sum of the large page NAND JFFS2 filesystem image suitable for use with the NFWrite tool to verify data integrity. Text file
ABLE User Guide Hypertext markup file Portable Document File
ABLE FAQ Hypertext markup file
ABLE Changelog Hypertext markup file Portable Document File

Other pages