公益研讨会ppt电子版(怎样从零开始写bootloader第一部分).ppt

公益研讨会ppt电子版(怎样从零开始写bootloader第一部分).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
怎样从0开始写bootloader? 开场介绍 本次课程讲什么? 从0开始写bootloader 本次课程谁来讲? limingth@ 本次课程适合的听众是哪些人? 有时间在接下来1个月内开始动手实践的人 已经购买或者准备购买开发板的人 今日主题 从0开始写bootloader 0(零基础)指的是什么? 学习过C语言 了解ARM体系结构和汇编语言 没有在开发板上做过软件开发 Bootloader是什么? Boot: 能够初始化基本硬件(时钟,存储,串口) Loader: 能够加载,运行,固化外部程序(操作系统) 学习动机 为什么会有bootloader? 为什么我们要自己写Bootloader? 移植一个别人写的bootloader可以吗? u-boot/vivi/redboot/blob/… 你怎样学游泳? 本次课程收获 了解不同嵌入式软件运行的硬件基础和依赖 软件运行的存储芯片 哪些程序运行依赖栈空间? Bootloader能调用库函数吗? main函数的功过是非 用全局变量好,还是局部变量好? 掌握一种嵌入式开发工具,开发流程和开发方法 ARM ADS1.2 IDE (JTAG调试, Flash烧写,AXD下载) 命令行工具(armcc, armasm, armlink, fromelf, make) 步步为营,左右互搏,屡试不爽 通过写bootloader,深刻领会ARM嵌入式开发核心概念之“寄存器” sp(栈指针),lr(链接返回地址),pc,CPSR GPIO寄存器,UART寄存器,NandFlash寄存器 ARM Architecture Referrence Manual? plus? DataSheet 预备 预备工作之一 首先, 得有一个板子 推荐友善之臂 mini2440 /mini2440.asp 预备工作之二 书籍 《ARM Architecture Reference Manual》 PDF,Part A 《ARM体系结构与编程》 清华大学出版社,杜春雷著 以上2本都有电子版提供, 可以课后向张婷老师要一下. 预备工作之三 构建基础知识体系 硬件知识 ARM寄存器 37个寄存器:R0-R12, R13(SP),R14(LR),R15(PC),CPSR(SPSR) ARM芯片外设控制器 WatchDog(看门狗), GPIO(通用IO), UART(串口), Nand Flash Controller, Clock Power Management(时钟和电源管理), 预备工作之三 构建基础知识体系 软件知识 ARM开发调试工具 ADS1.2,AXD make,hypertrm(超级终端) ARM命令行工具 armcc,armasm,armlink,fromelf ARM汇编指令 mov,add,sub, b,bl, ldr,str 未完待续,敬请关注 谢谢! 动手实践 目标--实现一个bootloader 支持外部程序的下载,运行, 固化和自加载 完成这个目标, 有哪些中间步骤? 1-能够实现led灯的闪烁 (汇编级和C语言级) 2-能够实现串口的初始化和读写(C语言) 3-能够实现基于串口的下载和执行(C语言) 4-能够实现命令行解析方式的下载和执行 5-能够实现Flash的固化 6-能够实现固化后的自加载启动 中间里程碑之一 闪灯 汇编语言实现 LDR, STR 内存读写指令 B, Bl 跳转指令 armasm 汇编器, armlink 链接器 S3C2440 DataSheet 数据手册 SFR 特殊功能寄存器之 GPIO 控制器 硬件设计原理图 H-jtag flasher 烧写 中间里程碑之一 闪灯 C语言实现 SRAM内部存储和地址 sp 堆栈指针和栈空间 armcc编译器 volatile 关键字 #define 宏用法 main函数 反汇编工具 fromelf SDRAM初始化 中间里程碑之二 串口 串口工作原理 缓冲寄存器,移位寄存器 帧格式 数据位,停止位,奇偶校验,流控,波特率 时钟频率设置 IO管脚的功能复用 控制寄存器,数据寄存器,状态寄存器 中间里程碑之三 下载和执行 接收二进制可执行代码 getchar 跳转命令的C语言实现 函数指针 Xmodem协议 协议帧格式 传输过程控制 中间里程碑之四 命令行解析 标准IO输入输出 gets puts printf 字符串函数 strcmp 函数(字符串比较) strstr 函数(字符串匹配) atoi 函数(字符串转整数) 常用命令 download go flashw 中间里程碑之五 Flash固化 flash 的内部存储结构 flash 与主芯片的连接关系 怎样传地址, 怎样传数据 flash 的

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档