U-boot
Tom碰到Jerry!
这个作者很懒,什么都没留下…
展开
-
U-boot2018.11源码分析-CLI
cli是命令行接口的简写(command line interface)。功能与操作系统的控制台是一样的,用来访问软件提供的服务。CLI使用hush shell作为命令行解释器,能处理命令行脚本。 除了u-boot定义的命令外,还可以通过run命令执行多条命令,通过source命令执行加载到内存中的脚本。 CLI命令层 命令解析层 命令执行...原创 2019-08-13 13:04:34 · 266 阅读 · 0 评论 -
U-boot源码阅读-使用u-boot.map定位函数位置
在阅读U-boot源码时,同一个函数会有多个定义,这不利于快速理解U-boot。如何唯一定位函数的位置呢? 原理 在我们配置、编译U-boot后,gcc将生成一个map文件。在map文件中,包含函数名以及函数所在文件。我们可以通过通过这个map文件,快速定位我们想要分析函数的位置。为方便手动查找,编写一个脚本,以函数名为参数,输出定义函数的文件和行号,并用vim打开。 脚本名"s", 内容:...原创 2019-08-09 09:22:19 · 976 阅读 · 0 评论 -
U-boot2018.11源码分析-linker list数据结构
本篇博客分析U-boot2018.11中重要的数据存储方式 linker list。 普通的双链表由C语言编译器最后编译到程序的数据段中,与程序的其他数据存放在一起。在U-boot中,定义了Linker list这种结构,linker list结构的数据存放特定的段中,不与程序的其他数据存放在一起。 背景知识 C语言的编译器和链接器一起将C语言源文件程序,编译链接成最终的目标程序。每个...原创 2019-08-09 21:04:34 · 2148 阅读 · 0 评论 -
U-boot2018.11源码分析-环境变量(一)
U-boot的环境变量保存在存储器上,在U-boot启动时,从存储器加载到RAM中,环境变量用来配置对系统进行配置,决定着U-boot的行为。U-boot的环境变量分为两类:系统环境变量和用户环境变量。系统环境变量是U-boot默认定义的环境变量;用户变量是用户存放数据的环境变量。 U-boot系统环境变量 在U-boot中,有一些重要的环境变量,列举如下: U-boot默认环境变量 变量...原创 2019-08-12 15:15:50 · 744 阅读 · 0 评论 -
U-boot2018.11源码分析-环境变量(二)
上节介绍了环境变量的基本概念和使用方法,这一节环境变量的实现。 在U-boot中环境变量相关的源码目录。U-boot支持多种非易失设备存放环境变量,为屏蔽设备之间的差异,环境变量实现中需提供统一访问接口,对变量进行读出和写回;在使用环境变量时,变量的值类型有很多,字符串类型、整型等,U-boot环境变量的实现中也提供了一组接口供上层使用。 存储结构 环境变量在非易失设备的存储结构如下: ...原创 2019-08-12 18:41:10 · 595 阅读 · 0 评论