//---------------------------------------------------------------------
// 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.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
smdk2410 BSP for wince (812个子文件)
reg2410.a 25KB
map.a 3KB
map.a 3KB
memcfg.a 2KB
2410test.axf 438KB
nboot.axf 26KB
nboot.axf 14KB
2410loader.axf 6KB
sc2410_usb_ser.c.bak 45KB
MMU.S.bak 6KB
sources.bak 2KB
dirs.bak 1KB
postromimage.bat 954B
b.bat 694B
b.bat 679B
ndis.bat 596B
b.bat 579B
b.bat 570B
cs8900.bat 570B
b.bat 570B
c.bat 529B
smdk2410.bat 412B
c.bat 384B
b.bat 358B
b.bat 275B
1.bat 28B
platform.bib 5KB
platform.bib 4KB
BOOT.BIB 2KB
config.bib 2KB
config.bib 2KB
SMDK2410.bif 13B
2410test.bin 204KB
2410test.bin 204KB
EBOOT.bin 70KB
u241mon.bin 38KB
2410nfwr.bin 25KB
nboot.bin 4KB
nboot.bin 4KB
nboot.bin 4KB
nboot.bin 4KB
2410loader.bin 4KB
2410loader.bin 4KB
samsung.c 647KB
mdd.c 119KB
ser2410_hw.c 62KB
main.c 47KB
sc2410_usb_hw.c 46KB
sc2410_usb_ser.c 45KB
cfw.c 44KB
Miniport.c 35KB
ser2410_ser.c 23KB
uhcd.c 19KB
socket.c 19KB
halether.c 19KB
power.c 18KB
timer.c 18KB
armint.c 16KB
window.c 16KB
blcommon.c 16KB
init.c 15KB
ohcd.c 15KB
oemioctl.c 13KB
format.c 12KB
INTERRUP.C 11KB
cs8900.c 11KB
pcmcia.c 10KB
2410lib.c 10KB
simulator.c 9KB
cs8900dbg.c 8KB
2410loader.c 7KB
pwrbtn2410.c 7KB
halkitl.c 7KB
signimage.c 7KB
ucbreg.c 6KB
nand.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
smdk2410.cec 17KB
共 812 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
- LorryXY_*2013-10-29郁闷啊 还是wince4.2的 我的5.0用不上啊 郁闷
- liuliufeifei2020-02-14很早的处理器代码了,不好找的资源了!!
angewh
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功