//---------------------------------------------------------------------
// Copyright (c) Microsoft Corporation
//
// Module: NAND bootloader
//
//---------------------------------------------------------------------
Purpose:
--------
The NAND bootloader is the first piece of code executed by S3C2410 at
power on. The code was based on NAND bootloader from Samsung with some
modification to work with Catfish device.
Development Tools Required:
---------------------------
The NAND bootloader has to fit in 4KB for S3C2410 to boot off NAND flash.
There is no simple way to build NAND bootloader using Windows CE tool set.
In stead, we used ARM Development Suite v1.2 to build NAND bootloader.
Both the retail version and evaluate version of ARM tools can be used.
How does it work:
-----------------
The boot loader does all the necessary hardware initialization. After that,
it will look at block 1 of the NAND flash to read the table of content for
the image(s) stored on the NAND flash.
The table of content structure is defined in loader.h under Catfish\Inc
directory.
Two possible scenario are supported with the current bootloader implementation:
1) boot off a second stage boot loader, which is Ethernet bootloader. This is
mainly used for development.
2) boot off the image stored on the NAND flash, the image parsing capability is
not included with NAND flash to save sapce, so the image on the NAND has to be
in RAW format (.nb0 file using Romimage).
How to get image and bootloader onto the NAND flash:
----------------------------------------------------
The initial bootloader(s) is downloaded to the NAND flash via JTAG interface
using SJF.exe tool provided under Catfish\tools\sjf\bin directory.
NAND bootloader (nboot.bin under Catfish\Nboot\bin directory) is loaded via
SJF to the block 0 of NAND flash.
tocblock1 file, which is located at Catfish\Tools\SJF\bin directory, is loaded
using SJF to the block 1 of NAND flash.
Eboot.nb0, the Ethernet bootloader, which is located at Catfish\Eboot\bin directory
is loaded to the block 2 of NAND flash.
After you are done with the above work items, you can start development using Eboot.
In order to download the full Pocket PC image to NAND, we need to use imgloader.exe
tools which can be built from Catfish\tools\imgloader directory.
Here is the steps you need to follow if you are using imgloader to download Pocket
PC or any other big image to the NAND ( downloading big image via JTAG is EXTREMELY
SLOW )
1) Set BOOT_LOADER=1 and rebuild Catfish\Drivers\NandFlash\FMD directory
2) Build ImaLoader.exe from Catfish\tools\imgloader directory
3) Build your CE image (Pocket PC or any other CE image). You should get a NK.nb0
file. That is the file you need to store on the NAND.
4) Turn on the power on the device, and using eshell.exe (Catfish\tools\eshell) or
PB 3.0 to download small.bin (Catfish\Eboot\bin)
5) At the cesh> prompt, run: s imgloader nk.nb0 to download the image to the NAND
6) For your convience, you may want to modify NAND bootloader so that it will boot
from your image instead of Eboot.nb0, by modifying the default boot entry to 1.
Dependencies:
-------------
None
Issues and Recommendations:
---------------------------
The NAND bootloader here provides a general framework for you to develop NAND boot
loader. The main restriction that we have to deal with is the space restriction (4KB).
There are several improvements that can be done to the NAND bootloader:
1) Check ECC when reading from NAND.
2) Provide different table of content structure to allow more flexible way to boot.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SMDK2440_rotate.rar_2440_rotate_smdk_smdk2440 (750个子文件)
reg2440.a 25KB
map.a 3KB
map.a 3KB
memcfg.a 2KB
nboot.axf 14KB
2440loader.axf 6KB
s3c2440disp.cpp.bak 27KB
smdk2440.cec.bak 18KB
s3c2440disp.h.bak 3KB
sources.bak 2KB
postromimage.bat 954B
b.bat 696B
c.bat 684B
b.bat 679B
b.bat 579B
smdk2440.bat 548B
b.bat 275B
1.bat 28B
platform.bib 4KB
BOOT.BIB 2KB
config.bib 1KB
ARMSYS2440.bif 13B
2440test.bin 280KB
EBOOT.bin 80KB
2440loader.bin 4KB
nboot.bin 4KB
samsung.c 1.38MB
SER2440_HW.C 68KB
sc2440_usb_hw.c 46KB
sc2440_usb_ser.c 45KB
cfw.c 44KB
main.c 43KB
Miniport.c 39KB
usb.c 35KB
SER2440_SER.C 24KB
power.c 21KB
uhcd.c 19KB
armint.c 19KB
socket.c 19KB
halether.c 19KB
timer.c 17KB
blcommon.c 16KB
PWRBTN_PCF.c 16KB
window.c 16KB
init.c 15KB
IIC.c 15KB
ohcd.c 14KB
oemioctl.c 13KB
format.c 12KB
INTERRUP.C 12KB
cs8900.c 11KB
pcmcia.c 10KB
2440lib.c 10KB
2440loader.c 9KB
simulator.c 9KB
halkitl.c 7KB
pwr.c 7KB
signimage.c 7KB
nand.c 6KB
ucbreg.c 6KB
ether.c 5KB
memory.c 4KB
flash.c 4KB
debug.c 4KB
key1024.c 4KB
serial.c 3KB
ecc.c 3KB
mdprof.c 3KB
time.c 3KB
wavclick.c 2KB
mdppfs.c 2KB
kitlstub.c 2KB
WINCE.C 2KB
main.c 2KB
drvsleep.c 2KB
OEMBOOT.C 1KB
profiler.c 763B
ecc.c 489B
ecc.c 486B
timer.c 46B
debug.c 43B
flash.c 26B
main.c 25B
smdk2440.cec 18KB
ARM9TDMI.CFG 303B
sources.cmn 435B
sources.cmn 63B
hwctxt.cpp 54KB
hwctxt.cpp 52KB
camera.cpp 42KB
tchpdd.cpp 38KB
fmd.cpp 38KB
fmd.cpp 31KB
s3c2440disp.cpp 27KB
wavemain.cpp 19KB
wavemain.cpp 19KB
output.cpp 16KB
output.cpp 16KB
iic.cpp 15KB
strmctxt.cpp 14KB
共 750 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
局外狗
- 粉丝: 64
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功