系统移植
Procrastination is like a credit card: it's a lot of fun until you get the bill.
系统启动顺序
上电—>bootloader—>内核—>根文件系统—>application
gun工具
dmesg :打印内核的调试信息
addr2line:把地址转化为行号
strip:丢弃目标文件的全部或者特定符号,减小文件体积
Bootloader
-----------uboot是Bootloader的一种版本
Bootloader是硬件的启动的引导程序,是运行操作系统的前提
Bootloader命令
boot:启动
bootcmd:启动命令,当上电不打断时,u-boot自动按照bootcmd中的命令一天一天去执行
bootargs:启动参数
Bootloader问题
第一条指令存放的位置?
初始化哪些硬件?顺序如何?
内核存放的位置?
如何提升性能?
开发语言?
Bootloader启动流程
三个二:两种语言,两次搬移,两次初始化
汇编阶段:设置SVC;关闭看门狗、MMU、Cache;开启ETC、Flash、内存、串口;自搬移到内存中;准备运行C
C语言阶段:初始化大部分硬件;把内核搬移到内存中
其他知识
RISC: 精简指令集
linux中是用命令ifconfig ethX XXX.XXX.XXX.XXX netmask XXX.XXX.XXX.XXX 主要把ethx中的x换成对于的数字