嵌入式开发:深入理解与烧写Bootloader过程
需积分: 50 8 浏览量
更新于2024-07-10
收藏 5.74MB PPT 举报
本文档主要介绍了嵌入式开发中烧写Bootloader的过程,特别是针对S3C2410处理器的NBoot和EBoot的详细讲解。NBoot是WinCE的第一级Bootloader,位于Nand Flash的Block0,负责初始化Flash、读取TOC等任务,最终将EBoot加载到RAM并交给其接管执行。烧写NBoot的步骤包括设置并口模式、安装驱动、通过JTAG下载线连接PC和平台,然后使用sjf2410工具烧写。
EBoot与NBoot的主要区别在于,NBoot负责将EBoot从NAND Flash加载到内存,而EBoot则在内存中完成更多的初始化工作,如CPU控制器设置、内存初始化、网络和串口配置,以及从外部或本地Flash加载WinCE操作系统的核心部分(NK.bin)。EBoot的映像通常大于4K,不适合直接存储在NAND Flash的第一部分,因此需要NBoot作为中间环节。
NBoot的编写通常涉及启动代码的几个关键步骤:初始化CPU控制器、内存、串口、NAND Flash模式设置、读取和执行EBoot映像。这部分代码可以在startup.s文件中处理大部分基础设置,而在main.c中实现更复杂的初始化和数据处理。NBoot的编译环境可以选择ADS1.2或Platform Builder,每种工具各有优缺点。
此外,文档还提到了.bin和.nb0文件的区别,.nb0文件是直接烧写到Flash的代码镜像,而.bin文件是微软的二进制映像格式,需要解压后才能执行。两者在数据压缩和下载方式上有所差异,适合不同的应用场景。
在系统设计过程中,文档强调了需求收集和规格说明的重要性,区分需求和规格说明有助于确保设计的准确性和一致性。设计过程包括确定系统名称、目的、输入输出、功能和性能要求,以及明确规格说明以避免误解和后期问题的发生。
2010-06-16 上传
2013-03-26 上传
2010-04-29 上传
2024-11-14 上传
琳琅破碎
- 粉丝: 19
- 资源: 2万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜