从零开始写bootloard

目标--实现一个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 的初始化配置
flash 的读写时序
Nor flash
Nand flash
自启动方式
加电后的启动流程
等待1-3秒, 如无用户输入, 则进入自加载模式
Flash的分区
加载不同应用(操作系统)
传递给内核相应参数


 

  • 0
    点赞
  • 4
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 4 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

akatope

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值