Bootloader
文章平均质量分 57
win9zz
Life is brief, and then you die, you know?
展开
-
bzImage、zImage
bzImage和zImage的区别来自于保护模式代码的放置位置:1.众所周知,内核映像包括两部分代码:实模式代码和保护模 式代码,当引导装载器装载内核映像到代码段内存时,分别放置实模式代码和保护模式代码到不同的位置,然后进入实模式代码执行,实模式代码执行中转入CPU 保护模式,开始执行32位保护模式代码。2.不管是zImage还是bzImage,他们的实模式代码部分都被装入0x9000:转载 2018-02-03 09:11:08 · 2551 阅读 · 0 评论 -
编写bootloader(一)
BootLoader功能:初始化nandflash,启动内核(转到其入口地址)。BootLoader要求:BootLoader启动内核时还需要传递给内核一些信息(tag),其中有两个必不可少的内存标记和命令行参数,当然还有一个机器ID,BootLoader传递的机器ID必须和内核支持的机器ID匹配。需要知道的信息:1.内核在nandflash中的地址。如果内核是uImage映像文件,跳原创 2016-12-23 16:53:04 · 1365 阅读 · 0 评论 -
编写bootloader(二)
开发板:JZ2440v2 内核:64M NAND Flash:256M 烧写内核使用到的U-boo及kernelt: http://download.csdn.net/download/qq_33160790/10204086 http://download.csdn.net/download/qq_33160790/10204102bootloader一般分为原创 2018-01-13 18:48:52 · 1745 阅读 · 0 评论 -
移植u-boot-2016.09至Jz2440
开发板:Jz2440v3 编译器:4.5.1 Uboot:u-boot-2016.09.tar.bz2在新版本的uboot中,不再有了mkconfig脚本和board.cfg文件,采用和内核一样的config方式。 在网上找到了一张图,很好的说明了在新版uboot中启动的流程。 在start.S中,添加系统主频,修改分频系数:+++ uboot/arch/ar原创 2018-01-21 23:59:24 · 2019 阅读 · 0 评论 -
u-boot-1.1.6分析之makefile
本文在上文基础上进行分析,http://blog.csdn.net/qq_33160790/article/details/538670131.在u-boot-1.1.6下找到Makefile2.分析$make 100ask24x0_config打开Makefile文件,搜索100ask24x0_config可找到:100ask24x0_config:unconfig@$(MK原创 2016-12-25 06:52:26 · 1270 阅读 · 0 评论 -
make tiny4412_config分析
在u-boot目录执行make相关操作会调用到Makefile文件。执行make tiny4412_config时,会匹配到如下:%_config:: unconfig @$(MKCONFIG) -A $(@:_config=)PS:%在makefile中是通配符,其后可以匹配任意字符。 @表示不显示这条指令,在makefile中执行的指令都会显示出来 $原创 2017-10-31 13:36:55 · 1983 阅读 · 0 评论 -
添加u-boot命令
u-boot的命令为用户提供了交互功能,并且已经实现了几十个常用的命令。如果开发板需要很特殊的操作,可以添加新的u-boot命令。 u-boot的每一个命令都是通过U_Boot_CMD宏定义的。这个宏在include/command.h头文件中定义,每一个命令定义一个cmd_tbl_t结构体。 #define U_BOOT_CMD(name,maxargs,rep,cmd,usage原创 2017-04-09 18:23:22 · 1203 阅读 · 0 评论 -
u-boot的移植
u-boot能够支持多种体系结构的处理器,支持的开发板也越来越多。因为Bootloader是完全依赖硬件平台的,所以在新电路板上需要移植u-boot程序。开始移植u-boot之前,先要熟悉硬件电路板和处理器。确认u-boot是否已经支持新开发板的处理器和I/O设备。假如u-boot已经支持一块非常相似的电路板,那么移植的过程将非常简单。 移植u-boot工作就是添加开发板硬件相关的文件、原创 2017-04-09 18:22:54 · 1315 阅读 · 0 评论 -
内核解析U-boot传入的machid
machid在没有设备树的时候,machine相关的初始化函数都在类似arch/arm/mach-s3c24xx的目录下。 图中圈住的machine,他们都属于arm/mach-s3c24xx体系,在内核配置s3c24xx时,都会被编进内核。 U-boot传入machid到内核用到的是param_struct/tag,内核根据U-boot传入的machid选择不同的初始化函...原创 2018-02-11 10:05:10 · 3652 阅读 · 0 评论