从零开始写bootloard

本文详述了从零开始编写Bootloader的全过程,包括使用汇编和C语言实现LED闪烁,初始化及操作串口,实现串口下载和执行功能,解析命令行并固化到Flash,以及实现自加载启动。涉及汇编指令、SFR、串口工作原理、Xmodem协议、Flash存储结构等关键知识点。
摘要由CSDN通过智能技术生成

目标--实现一个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 函数(字符

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值