//---------------------------------------------------------------------
// 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.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
qq2440v3 BSP,通过编译的正常板 (857个子文件)
reg2440.a 25KB
map.a 3KB
map.a 3KB
memcfg.a 2KB
nboot.axf 35KB
nboot.axf 14KB
2440loader.axf 6KB
sc2440_usb_hw.c.bak 47KB
platform.reg.bak 42KB
postromimage.bat 954B
b.bat 696B
c.bat 684B
b.bat 679B
smdk2440.bat 585B
b.bat 579B
b.bat 275B
1.bat 28B
platform.bib 5KB
BOOT.BIB 2KB
config.bib 1KB
QQ2440.bif 9B
2440test.bin 280KB
EBOOT.bin 75KB
nboot.bin 4KB
2440loader.bin 4KB
nboot.bin 4KB
samsung.c 647KB
SER2440_HW.C 69KB
cfw.c 49KB
sc2440_usb_hw.c 47KB
sc2440_usb_ser.c 45KB
main.c 44KB
Miniport.c 39KB
usb.c 35KB
SER2440_SER.C 24KB
power.c 21KB
uhcd.c 19KB
socket.c 19KB
armint.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
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
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
diskmain.cod 260KB
atamain.cod 153KB
cdio.cod 150KB
atapipm.cod 95KB
atapipci.cod 89KB
atapiio.cod 69KB
dvdioctl.cod 49KB
helper.cod 19KB
atapipcicd.cod 19KB
cdaudio.cod 12KB
zones.cod 2KB
generic.cod 2KB
共 857 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
- yaya39282014-02-27不能用 没有启动程序?、、
vs_friend
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- CocosCreator源码资源SrcPackage2(6款源码合集)
- (源码)基于Spring Boot和Spring Cloud的权限管理系统.zip
- CocosCreator源码资源SrcPackage1(11款源码合集)
- (源码)基于Python和Kafka的微博热搜情感分析系统.zip
- 毕业设计《HTML5-Bootstrap-SSM校园导游咨询网(可升级SpringBoot)》+Java项目源码+文档说明
- (源码)基于Arduino的智能导盲犬系统.zip
- sentinel-dashboard的1.8.6版本集成nacos,对接gateway的限流
- CocosCreator源码资源Snaker(贪吃蛇 精品)
- (源码)基于C语言的智能仓库管理系统(IWMS).zip
- (源码)基于Unity的通用升级系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功