This file contains the information to use NANDBoot code
NANDBoot consists of two parts:
- Initial Program Loader (IPL),
- Secondary Program Loader (SPL)
- Tools to create NAND flash image
Directory strucure:
------------------
bootloader
|-- nandboot
|-- Makefile -- Makefile for the complete nandboot
|-- README.txt -- This file
|-- full_output -- Directory contains Doxygen generated documentation
|-- bin -- Contains the generated tools and binary files
|-- Image_crc - Linux kernel image with CRC and size info
|-- crcgen - Tool to generate CRC and write to the image
|-- ipl1.bin - IPL binary part 1 (Runs from NAND RAM buffer)
|-- ipl2.bin - IPL binary part 2 (Runs from SDRAM)
|-- nandfsbuild - Tool to generate the NAND flash image for Virtio
|-- mkiplspl.sh - Tool to generate iplspl.bin
`-- spl.bin - SPL binary
|-- crcgen -- Code for addition CRC checksum
`-- mxc_nb_crcgen.c
| image
`-- Image - Linux Kernel Image
|-- nandboot
IPL code
|-- ipl_link.lds.S
|-- ipl_startup.S
|-- ipl_startup2.c
|-- mxc_nb_ipl.c
SPL Code
|-- platform
|-- boot.c
|-- mxc.h
|-- mxc_init.c
|-- drivers
|-- nfc
|-- mxc_nb_nfc.c
|-- mxc_nb_nfc.h
|-- uart
|-- mxc_nb_uart.c
|-- mxc_nb_uart.h
|-- mxc_nb_extuart.c
|-- nandboot
|-- spl_link.lds.S
|-- mxc_spl_startup.S
Building and Installing the nandboot:
------------------------------------
1) Compile the Linux 2.6 Kernel for MXC platform. This generates the Linux
Kernel image. Copy this image file into nandboot/image/Image.
2) Configure the nandboot parameters (See Configuration section below).
3) Build Instructions:
-------------------
1. To compile nand bootloader for different platforms, modify the PLATFORM variable in the
Makefile appropriately.
2. Export CROSS_COMPILE variable to point to the ARM gcc compiler toolkit.
e.g. $ export CROSS_COMPILE=/opt/montavista/foundation/devkit/arm/v6_vfp_le/bin/arm_v6_vfp_le-
3. Export KBUILD_OUTPUT variable to point to the linux directory in the linux tree
e.g. $ export KBUILD_OUTPUT=/home/LINUX2.6/linux
4. Use 'make clean' command to clean any previous object files.
5. Run make command in the nandboot directory. This generates the ipl (ipl1 and ipl2), spl, iplspl.bin and tools.
This also creates the Image_crc file, which is the Linux Kernel image with length and CRC information added as
two 4 byte data at the beginning.
4) Boot into the Linux with NAND MTD driver (using debugger and RedBoot). Write the iplspl.bin file into first NAND
partition (/dev/mtd/5).Write kernel image Image_crc into second NAND partition (/dev/mtd/6). Write the root filesystem
image into third NAND partition (/dev/mtd/7). Please note that Linux kernel image should be compiled to use the root from
/dev/mtd/7. Then reboot the EVB. Now NAND boot should boot up the Linux kernel image from /dev/mtd/6. Please note that
the EVB should be configured for NAND boot (Refer to NAND Boot design document(nandboot.fm) for NAND Boot fuses).
5) Run the Linux platform. This should give a menu of options to boot the Kernel.
6) Generate nandboot documentation by executing the command 'make doxygen'
Configuration of NANDBoot:
-------------------------
The following parameters can be configured by editing the header file
bootloader/mxc.h:
1) UART_OUTPUT : Selects between External or Internal MXC UART
This value is set to EXT_UART by default.
Valid values:
INT_UART - Use Internal MXC UART
EXT_UART - Use External UART
2) UART_PORT : Selects the UART port number
if UART_OUTPUT is set to EXT_UART
Valid values:
1 - Use EXT_UART_A
2 - Use EXT_UART_B
if UART_OUTPUT is set to INT_UART
Valid values
2 - Use MXC UART_C
3) WDOG_EN: Enable/Disable Watchdog timer (MMCU_WDOG_1)
Valid values:
1 - Enable
0 - Disable
4) UNIT_TEST: Enable/Disable unit testing of NANDBoot
Enabling unit testing will make NANDBoot to perform unit test before going
to the main menu.
Valid values:
Non-zero - Enable Unit testing
0 - Disable unit testing
5) CRC_EN : Enable/Diable 'Addition CRC' feature in Miniboot
Valid values
1 - Enable
0 - Diable
6) CHANGE_COMMAND_LINE_OPTION : Enable/Disble change of command line
option in Nandboot
Valid Values
1 - Enable
0 - Disable
7) CHANGE_COMMAND_LINE_ADDRESS : Enable/Disble change of command line
addresss option in nandboot
Valid Values
1 - Enable
0 - Disable
8) UART_BAUD_RATE : Change UART Baud rate
Valid values
9600, 19200, 38400, 57600, 115200
For details of the other configuration parameters, refer to Doxygen generated
documentation for NANDBoot in full_output directory.
--
没有合适的资源?快使用搜索试试~ 我知道了~
nandboot-dm9k-tftp.rar_Bootloader_MX27_dm9k_freescale HAL_mx27 t
共93个文件
h:28个
o:22个
c:16个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 50 浏览量
2022-09-22
20:21:06
上传
评论
收藏 184KB RAR 举报
温馨提示
freescale MX27平台bootloader程序源代码 很实用
资源推荐
资源详情
资源评论
收起资源包目录
nandboot-dm9k-tftp.rar (93个子文件)
nandboot-dm9k-tftp
bin
IMX27ADS_nb_ipl2.bin 628B
IMX27ADS_nb_iplspl.bin 16KB
mkiplspl.sh 201B
IMX27ADS_nb_ipl1.bin 716B
IMX27ADS_nb_spl.bin 14KB
image
README.txt 82B
nandboot
README.txt 5KB
IMX27ADS_ipl_link.lds 302B
ipl_link.lds.S 1020B
IMX27ADS_spl_link.lds 179B
mxc_nb_ipl.c 9KB
obj
IMX27ADS_nb_spl.elf 51KB
mx2xads.o 870B
IMX27ADS_nb_ipl.elf 34KB
mxc_setup.o 1KB
mxc_init.o 980B
ipl_startup.o 2KB
mxc_nfc.o 3KB
mxc_nb_ipl.o 2KB
ipl_startup2.o 888B
mxc_extuart.o 2KB
write_nand.o 4KB
mxc_spl_startup.o 660B
tftp_dm9k.o 9KB
boot.o 3KB
mxc_uart.o 2KB
nandfsbuild
mxc_nandfsbuild.c 7KB
spl_link.lds.S 877B
IMX27ADS_splmap.txt 12KB
IMX27ADS_iplmap.txt 3KB
Makefile 3KB
ipl_startup.S 1KB
mxc_spl_startup.S 1KB
NANDBootDoxyFile.cfg 9KB
ipl_startup2.c 1KB
drivers
nfc
mxc_nfc.h 6KB
mxc_nfc.c 12KB
crcgen
mxc_crcgen.c 2KB
uart
mxc_extuart.c 5KB
mxc_uart.c 9KB
mxc_uart.h 12KB
include
mx27
hal_platform_setup.h 9KB
mx27.h 19KB
mx27ads.h 2KB
mx21
hal_platform_setup.h 7KB
mx21.h 20KB
mx21ads.h 2KB
mx31
hal_platform_setup.h 11KB
mx31.h 17KB
mx31ads.h 2KB
mxc913x1
mxc913x1.h 16KB
mxc30030evb.h 2KB
mxc30030ads.h 2KB
hal_platform_setup.h 18KB
hal_platform_setup_mxc30030ads.h 17KB
i30030ads.h 2KB
i30030evb.h 2KB
mxc91131
hal_platform_setup.h 21KB
mxc91131evb.h 2KB
mxc91131.h 18KB
mxc91231
hal_platform_setup.h 12KB
mxc27530evb.h 2KB
mxc91231.h 15KB
mxc.h 5KB
makebuild.sh 3KB
miniboot
README.txt 3KB
mxc_mb_nor.c 3KB
IMX27ADS_link.lds 179B
temp
mx2xads.o 882B
mxc_setup.o 1KB
mxc_init.o 980B
mxc_extuart.o 2KB
write_nand.o 4KB
tftp_dm9k.o 9KB
boot.o 3KB
mxc_mb_nor.o 1KB
mxc_uart.o 2KB
mxc_mb_startup.S 2KB
link.lds.S 841B
Makefile 3KB
MinibootDoxyFile.cfg 8KB
IMX27ADS_mb_map.txt 11KB
platform
mxc_setup.h 1KB
boot.c 5KB
boot_test.c 11KB
boot.bakv2.c 18KB
write_nand.h 4KB
tftp_dm9k.c 25KB
mxc_init.c 3KB
tftp_dm9k.h 4KB
write_nand.c 9KB
mxc_setup.c 2KB
mx2xads.c 3KB
共 93 条
- 1
资源评论
刘良运
- 粉丝: 66
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功