分享

专栏:UBoot分析

 赵帅蹲守图书馆 2014-02-12
  • 分享到:新浪微博腾讯微博 UBoot分析
  • 分析UBoot第一阶段和第二阶段的基本原理;UBoot如何引导内核(只要是讲解如何引导Linux内核以及和Linux内核的交互);UBoot的设备管理框架;mkimage工具等.
  • 收藏

最新更新文章

[系统运维] 系统引导时为什么要关闭Caches?

系统引导时为什么要关闭Catchs?一、引言 U-Boot 1.1.6中有如下代码:/* ************************************************************************* * * CPU_init_critical registers * * setup important registers * setup memory timi...

cache 优化 编译器 c linux buffer

ce123 2012-04-30 20:16 阅读(1903) 评论(3)

[系统运维] 详解U-Boot中printf函数的实现

详解U-Boot中printf函数的实现一、printf函数调用关系1.1fputc和srial_putc的关系/* * Output a single byte to the serial port. */ void serial_putc (const char c)//发送数据 { S3C24X0_UART * const uart = S3C24X0_GetBase_UART(UAR...

file list 终端 语言 output string

ce123 2012-04-29 19:18 阅读(2610) 评论(2)

[系统运维] 再谈U-Boot的设备管理框架

再谈U-Boot的设备管理框架一、U-Boot的设备管理框架 在《U-Boot的设备管理》一文中通过源码分析讲解了U-Boot的设备管理。本文将从宏观的角度继续讲解U-Boot的设备管理框架。设备管理框架实现了设备的高度抽象,保持框架的稳定性,允许框架下的代码实时变化,可以很好的实现U-Boot的驱动程序的移植。U-Boot的设备管理框架实现了对串口、LCD、键盘、usbtty、I2C等设备的抽象...

框架 character system pointers output input

ce123 2012-03-18 13:55 阅读(2804) 评论(4)

[系统运维] U-Boot常用命令

U-Boot常用命令czu2440 # help?       - alias for 'help'autoscr - run script from memorybase    - print or set address offsetbdinfo  - print Board Info structureboot    - boot default, i.e., run 'bootcmd'bo...

image application network variables flash integer

ce123 2012-03-18 13:54 阅读(1301) 评论(0)

[系统运维] U-Boot与Ping命令

U-Boot与Ping命令 开发板运行U-Boot,在终端下使用Ping命令是能Ping通PC机,但PC机Ping不同U-Boot。 在开发行U-Boo下的Ethernet 驱动时,只能在Target上去Ping 外面的主机能检测以太网是否连通,如果在外面的主机上去ping目标板,则即使目标板上的Ethernet一切OK,也是ping 不通的。这是因为行U-Boo是一个单线程main_loop函数...

任务 终端

ce123 2012-03-15 14:08 阅读(2134) 评论(0)

[系统运维] U-Boot与Linux内核的交互

U-Boot与Linux内核的交互说明:本文所使用的U-Boot的版本是1.1.6,平台是S3C2440。目录一、简介 1.1标记列表二、设置标记存放的地址 2.1相关的结构体定义 2.2标记存放地址的设定三、标记的设置 3.1设置标记ATAG_CORE 3.2设置内存标记ATAG_MEM 3.3设置命令行标记ATAG_CMDLINE 3.4设置ATAG_NONE一、简介 U-Boot与Linux...

linux内核 struct header image linux

ce123 2012-03-11 23:12 阅读(4889) 评论(15)

[系统运维] U-Boot直接引导zImage内核

U-Boot直接引导zImage内核         U-boot1.1.6只能只能就能过mkimage工具加工后的内核镜像文件。mkimage工具给zImage增加了一个64B大小的头。U-Boot是通过bootm命令来引导Linux内核的,bootm命令调用do_bootm函数来mkimage工具增加的头,最后调用do_bootm_linux函数引导去掉了mkimage工具增加的头的Linux...

linux内核 linux header 工具 image cmd

ce123 2012-03-11 23:13 阅读(3771) 评论(0)

[系统运维] U-Boot串口初始化详解

U-Boot串口初始化详解目录零、概述一、init_baudrate二、serial_init三、console_init_f四、devices_init五、console_init_r六、打印信息七、为什么要使用devlist,std_device[]?零、概述 上面这张图是U-Boot中串口设备驱动的流程,从寄存器级别的设置到最后终端信息的输出。下面我们详细讲解每一个步骤。一、init_bau...

null file search output variables initialization

ce123 2012-03-21 14:55 阅读(3581) 评论(0)

[系统运维] U-Boot的设备管理

U-Boot的设备管理目录一、初始设备链表、初始化设备和注册设备 1.1 devices_init函数 1.2 devices结构的定义 1.3 drv_system_init 函数二、设备注册 2.1 device_register (device_t * dev) 2.2 device_deregister(char *devname)三、设备搜索 U-Boot通过devices_init函数...

list system keyboard pointers output input

ce123 2012-03-08 15:56 阅读(2606) 评论(1)

[系统运维] 图解U-Boot:引导内核分析

U-Boot的命令为用户提供了交互功能,并且已经实现了几十个常用的命令。如果开发板需要很特殊的操作,可以添加新的U-Boot命令。U-Boot的每一个命令都是通过U_Boot_CMD宏定义的。这个宏在头文件中定义#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \cmd_tbl_t __u_boot_cmd_##name Struct_Sect...

cmd image application linux内核 linux 工具

ce123 2012-03-05 18:31 阅读(12003) 评论(4)

[系统运维] 图解U-Boot:第二阶段源码分析

说明:图片上传后有点模糊,可从http://download.csdn.net/detail/ce123/4112241下载清晰的图片(免费)。...

ce123 2012-03-05 11:20 阅读(2679) 评论(3)

[系统运维] 图解U-Boot:第一阶段源码分析

U-Boot第一阶段的启动流程。这个阶段主要是初始化硬件设备,为加载U-Boot的第二阶段代码准备RAM空间最后跳转到lib_arm/board.c中start_armboot函数,这是第二阶段的入口点。  U-Boot第一阶段的存储器布局。上图中U-Boot安装在Nand Flash,启动时Nand Flash控制器前4KB的代码复制到SRAM中,这4KB的代码再将整个U-Boot复制到SDRA...

flash 存储

ce123 2012-03-04 23:22 阅读(3490) 评论(0)

[系统运维] mkimage的-a 和 –c参数和内核引导

目录一、mkimage工具简介二、-a参数与-e参数和内核引导的关系三、实例测试3.1 -a参数与-e参数相同,可以将内核下载到SDRAM的任何地址,然后从这启动3.2 -a参数与-e参数不同,只能将内核下载到-a参数后面的地址,然后从这启动;否则无法引导内核3.3 -a参数与-e参数不同,下载地址和-a参数后面的地址不同(无法引导)3.4 覆盖了U-Boot传给内核的参数,会导致这样情形(无法引...

image c linux hex compression server

ce123 2012-03-05 16:29 阅读(1962) 评论(0)

ARM汇编中的ldr和adr的区别及其在uboot中相关源码的分析

ARM汇编中的ldr和adr的区别及其在uboot中相关源码的分析 ARM汇编有ldr指令以及ldr、adr伪指令,它们都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别。ldr r0, _start adr r0, _start ldr r0, =_start _start: b _start编译的时候设置 RO 为 0x30000000,下面是反汇编的结果:...

汇编 编译器 flash c 测试 存储

ce123 2012-02-22 20:09 阅读(2854) 评论(5)

zImage和uImage的区别

zImage和uImage的区别一、简介 对于Linux内核,编译可以生成不同格式的映像文件,例如:# make zImage# make uImage zImage是ARM Linux常用的一种压缩映像文件,uImage是U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的“头”,说明这个映像文件的类型、加载位置、生成时间、大小等信息。换句话说,如果直接从uImage的0x...

linux compression linux内核 image freebsd hex

ce123 2011-08-14 15:55 阅读(2792) 评论(0)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多