Redboot development (CM-i.MX27)
Redboot is used as the boot loader on the CM-i.MX27 core module. The boot loader is based on Freescale's release 200840. If you have the need for customizing Redboot, we summarized important steps here.
Get the Redboot sources
Get the source code from our GIT repository:
git clone git://git.becom-group.com/git/redboot_mx27.git
This repository contains everything you need to build Redboot:
- Source code: /ecos_20050912
- Ecos tools: /ecostools/tools
- Tool chain for ARM: /ecostools/gnutools/arm-elf
Build Redboot
For your convenience, we supply two scripts for building. Initially, source the script set-paths-for-building:
harald@WS-HP4600-35:~/imx/27/redboot$ . ./set-paths-for-building harald@WS-HP4600-35:~/imx/27/redboot$
which puts the Ecos tools and the tool chain in your $PATH.
Then change into the build/ directory and execute build-redboot.sh. This script deletes the old build and re-builds Redboot.
harald@WS-HP4600-35:~/imx/27/redboot$ cd build/ harald@WS-HP4600-35:~/imx/27/redboot/build$ ./build_redboot.sh U CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT, new inferred value 0xA0008000 U CYGSEM_HAL_ROM_MONITOR, new inferred value 1 U CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK, new inferred value 0 U CYGHWR_DEVS_FLASH_INTEL_28F128P30, new inferred value 1 U CYGSEM_IO_FLASH_VERIFY_PROGRAM, new inferred value 0 U CYGSEM_IO_FLASH_READ_INDIRECT, new inferred value 1 make -r -C hal/arm/arch/current headers make[1]: Entering directory `/home/harald/imx/27/redboot/build/hal/arm/arch/current' [...] make[1]: Leaving directory `/home/harald/imx/27/redboot/build/redboot/current' make -r -C hal/arm/mx27/bluetechnix/current /home/harald/imx/27/redboot/build/install/bin/redboot.bin make[1]: Entering directory `/home/harald/imx/27/redboot/build/hal/arm/mx27/bluetechnix/current' arm-none-eabi-objcopy --strip-debug /home/harald/imx/27/redboot/build/install/bin/redboot.elf /home/harald/imx/27/redboot/build/install/bin/redboot.img arm-none-eabi-objcopy -O srec /home/harald/imx/27/redboot/build/install/bin/redboot.elf /home/harald/imx/27/redboot/build/install/bin/redboot.srec arm-none-eabi-objcopy -O binary /home/harald/imx/27/redboot/build/install/bin/redboot.elf /home/harald/imx/27/redboot/build/install/bin/redboot.bin make[1]: Leaving directory `/home/harald/imx/27/redboot/build/hal/arm/mx27/bluetechnix/current' build finished harald@WS-HP4600-35:~/imx/27/redboot/build$
The ready image is stored in /build/install/bin/redboot.bin. It is automatically copied to /tftpboot.
Redboot configuration
The home for CM-i.MX27 specific configuration is /ecos_20050912/packages/hal/arm/mx27/bluetechnix/current.
- Package configuration: misc/redboot_ROMRAM.ecm
- Code defines etc.: include/*
- Specific source code: src/*
Here are some locations of device drivers:
- Flash driver: /ecos_20050912/packages/devs/flash/arm/mxc/current and /ecos_20050912/packages/devs/flash/intel/28fxxx/current
- FEC Ethernet driver: /ecos_20050912/packages/devs/eth/fec/current
Further documentation
We have summarized a short reference for Redboot.
The GIT repository also contains the Redboot documentation as it is provided by Freescale: /redboot_mx27pdk/doc/redboot_mx27pdk.pdf
Official website: [1]