//---------------------------------------------------------------------
// 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.
没有合适的资源?快使用搜索试试~ 我知道了~
mini2440 BSP
共593个文件
h:101个
c:58个
makefile:39个
5星 · 超过95%的资源 需积分: 9 125 下载量 70 浏览量
2009-02-04
23:32:40
上传
评论
收藏 3.6MB RAR 举报
温馨提示
mini2440 BSP 4.2BSP放在wince5.0上运行,DM9000网卡驱动
资源推荐
资源详情
资源评论
收起资源包目录
mini2440 BSP (593个子文件)
reg2440.a 25KB
map.a 3KB
map.a 3KB
memcfg.a 2KB
nboot.axf 35KB
nboot.axf 14KB
2440loader.axf 6KB
cfw.c.bak 44KB
armint.c.bak 20KB
loader.h.bak 11KB
platform.bib.bak 7KB
dirs.bak 688B
platform.dat.bak 601B
smdk2440.bat.bak 585B
postromimage.bat 954B
b.bat 696B
c.bat 684B
b.bat 679B
smdk2440.bat 584B
b.bat 579B
b.bat 275B
1.bat 28B
platform.bib 7KB
BOOT.BIB 2KB
config.bib 1KB
mini2440.bif 9B
2440test.bin 280KB
nboot.bin 4KB
2440loader.bin 4KB
nboot.bin 4KB
bliss.bmp 900KB
samsung.c 528KB
SER2440_HW.C 70KB
sc2440_usb_hw.c 46KB
sc2440_usb_ser.c 45KB
main.c 44KB
cfw.c 44KB
Miniport.c 39KB
usb.c 35KB
SER2440_SER.C 25KB
power.c 21KB
armint.c 20KB
uhcd.c 19KB
socket.c 19KB
halether.c 19KB
timer.c 17KB
PWRBTN_PCF.c 16KB
window.c 16KB
blcommon.c 16KB
init.c 15KB
IIC.c 15KB
ohcd.c 14KB
oemioctl.c 13KB
format.c 12KB
INTERRUP.C 11KB
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
debug.c 4KB
flash.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
wince.c 642B
ecc.c 489B
ecc.c 486B
timer.c 46B
debug.c 43B
flash.c 26B
main.c 25B
smdk2440.cec 17KB
ARM9TDMI.CFG 303B
sources.cmn 1KB
sources.cmn 63B
dm9000.conf 1010B
hwctxt.cpp 54KB
hwctxt.cpp 52KB
usbfndrv.cpp 44KB
camera.cpp 42KB
tchpdd.cpp 38KB
fmd.cpp 37KB
共 593 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
- xiechunmei132012-11-03不晓得谁用我的号下载的...不晓得是什么...
- shifa20082013-10-23只是下载 下来了 不过 没有用过。。。还是谢谢分享
- rxylinux2012-12-06可以编译。 对学习BSP 有帮助!
- cth76355152012-06-22很好,谢谢啦,买了友善的一块板,随板资料里面竟然没有找到,谢谢啦
gooogleman
- 粉丝: 2839
- 资源: 51
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功