Bootloader:系统上电进行硬件初始化,时钟,存储等。然后最重要的是将操作系统内核复制到内存中运行。ARM体系结构的CPU从地址0x00000000开始运行,Bootloader就存放在这个开始地址处,一上电就可以执行。硬件部分的程序在/board文件夹内,U-boot通过makeflie中对板子名称的枚举实现对底层程序的编译,实现硬件初始化。
U-boot的移植:主要是对board文件夹下的具体开发板型号所对应的c文件进行硬件底层的配置,包括时钟配置、nor flash的底层寄存器配置。然后是增加对串口协议的支持、网卡协议的支持、yaffs文件系统映像的支持等等,后者的增加主要是方便烧写和开发。
烧写U-boot:使用openjtag+oflash软件烧写,注意linux下要用sudo,否则会提示找不到jtag,具体操作可以参考这篇博客:https://blog.csdn.net/sinat_36568888/article/details/79737976
U-boot命令:包括下载、内存操作、环境变量以及启动命令。可参考《嵌入式linux应用开发书籍》中的命令。