uboot目录
来源:互联网 发布:淘宝客推广api 申请 编辑:程序博客网 时间:2024/06/09 19:23
一 u-boot 目录结构
1.board 存放是特定开发板相关的代码,一般以芯片厂家的名字命名
origen是三星基于exynos4412做一块开发板
board/samsung/origen/lowlevel_init.S 系统时钟初始化代码
board/samsung/origen/mem_setup.S 内存初始化代码
2.arch 都是跟cpu架构相关的代码,例如:arm ,x86 ,mips ,ppc
arch/arm/cpu/armv7/start.S 这个是uboot首先执行的代码
arch/arm/cpu/u-boot.lds 这个是连接脚本文件(告诉编译在连接生成可执行文件的时候,一些段存放位置)
3.include 存放的是uboot相关代码需要头文件
include/configs/origen.h origen开发板对应的头文件,它决定了origen所需要的一些代码的宏开关
它也是开发板配置头文件,开发板所需要的代码宏开关和相关的宏定义的参数都应该在此文件中定义
#ifdef SAMSUNG_XXXX
.......
#endif
#ifdef TI_XXX
.....
#endif
....
4.net uboot支持的一些网络协议
ping tftp arp(根据ip地址获取目标主机mark地址(网卡地址))
5.lib 多有平台通用的代码
string.c 实现了字符串相关操作的代码
6.common uboot支持的命令实现代码
7.driver uboot支持的一些硬件驱动代码
二 如何在uboot工程中添加代码
在uboot的每个子目录下,都有一个Makefile文件
例如:
我想将 driver/net/dm9000x.c 添加uboot代码中,此时只需在它的Makefile中添加所需要编译的文件
COBJS-$(CONFIG_DRIVER_DM9000) += dm9000x.o
注意:只有在CONFIG_DRIVER_DM9000这个宏被定义后,dm9000x.o才会被生成,此时我们只需要在
include/configs/origen.h头文件定义这个宏就可以了
三 通过tags 文件来阅读源代码
tags 文件是通过命令:ctags -R 生成索引文件(源代码目录下所有的结构体定义,函数的定义,宏定义
都可以通过索引文件找到它所在的路径文件)
ctags + ] 跳转到指定符号所定义的文件
ctags + t 返回
注意:
必须让vi编辑器能寻找到tags文件
修改用户主目录下的.vimrc文件,添加自己tags文件路径,这样vi编辑器就可以找到我们的tags啦
set tags+=/home/linux/fs4412/u-boot/u-boot-2013-learn/tags
四 通过grep命令搜索我们的符号所定义的地方
在源码的顶层目录执行如下命令:
grep "符号名" * -n -R
五 u-boot-2013.01 启动流程
(1)ARM核相关的设置
<1>设置了异常向量表
<2>告诉ARM核异常量表基地址
<3>关闭cache和mmu
(2)SOC相关的初始化
<4>判断uboot是否已经在内存中
<5>如果不在内存中,初始化系统时钟和内存
<6>初始化UART
阅读全文
0 0
- uboot目录
- uboot目录结构
- uboot目录结构
- Uboot目录结构
- uboot的目录结构
- uboot目录结构
- UBoot下载目录
- uboot目录介绍
- uboot目录分析
- uboot的目录结构
- uboot目录结构介绍
- uboot目录结构分析
- uboot目录结构介绍
- uboot目录结构
- uboot目录结构[转载]
- UBOOT目录解释(一)
- 2.3 uboot源码目录分析
- uboot的源码目录分析
- java中使用poi导出读取导入Excel
- 29. Divide Two Integers
- ubuntu 输入密码后无法进入桌面
- Jedis连接出现异常解决
- 苹果开发者账号
- uboot目录
- oracle部分函数使用汇总 NULLIF函数 decode ,COALESCE,concat ,nvl,nvl2
- JQuery插件(三)之growl
- 每天一个linux命令(13):less 命令
- Angular2+ 管道学习第二篇
- Java 项目 个人帐目管理系统
- KMP题目整合
- Linux学习第一天
- oracle 学习笔记