自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (4)
  • 收藏
  • 关注

原创 uboot的硬件驱动

uboot与linux驱动1.uboot本身是裸机程序(1)在裸机中本来是没有驱动概念的(狭义的驱动概念是指在操作系统中用来具体操控硬件的那部分代码叫驱动)。(2)裸机程序是直接操控硬件的,操作系统必须通过驱动来操控硬件。这两个有什么区别?本质区别就是分层。2.uboot虚拟地址对硬件操作的影响(1)操作系统(指的是linux)下MMU肯定是开启的,也就是说linux驱动中使用...

2018-09-21 17:24:04 1431

原创 uboot的环境变量

一、前言uboot启动第二阶段与env相关的uboot启动第二阶段与env有关的函数有两个:env_init(common/env_movi.c)、env_relocate(common/env_common.c)。env_init函数定义(代码:37 ~82行)#ifdef ENV_IS_EMBEDDEDextern uchar environment[];env_t *e...

2018-09-13 18:46:48 976

原创 uboot的命令体系

一、uboot命令体系基础1.uboot命令体系实现代码在哪里(1)uboot命令体系的实现代码在common/cmd_xxx.c中,有若干个.c文件和命令体系有关。(还有command.c、main.c也和命令有关)2.每个命令对应一个函数(1)每一个uboot的命令背后都对应一个函数,这就是uboot实现命令体系的一种思路和方法。(2)要找到每一个命令背后所对应的那个函数,...

2018-09-13 11:42:47 926

原创 uboot如何启动内核

一、uboot和内核到底是什么1.uboot和内核就是一个裸机程序(1)uboot的本质就是就是一个复杂点的裸机程序,和ARM部分写的裸机程序没有本质区别。(2)内核本身也是一个裸机程序,和uboot、裸机程序无本质区别。要说不同的地方,那就是内核运行起来后,在软件上分为内核层和应用层,分层后两层的权限不同,内存访问和设备操作的管理上更加精细(内核可以随便访问各种硬件,而应用程序只能被...

2018-09-12 18:00:02 12842 1

转载 汇编文件 .s 和 .S 区别

转载地址:https://blog.csdn.net/ultraman_hs/article/details/53411728 .s 汇编语言源程序;  操作: 汇编.S汇编语言源程序;  操作: 预处理 + 汇编-------------------------------------------------------------------------------------...

2018-09-11 20:02:02 4631

原创 uboot启动总结及移植注意

1. 启动过程总结(1)第一阶段为汇编阶段、第二阶段为C阶段(2)第一阶段在SRAM中、第二阶段在DRAM中(3)第一阶段注重SoC内部、第二阶段注重SoC外部(Board内部) 2. 移植时的注意点(1)x210_sd.h头文件中的宏定义(2)特定硬件的初始化函数位置(譬如网卡)...

2018-09-11 19:07:48 375

原创 uboot启动第二阶段

1.前言(1)uboot的第一阶段最后跳转到了start_armboot函数,也就是说start_armboot函数就是uboot的第二阶段。start_armboot函数的定义为位于lib_arm/board.c中的444 ~ 908行。(2)uboot在第二阶段应该做什么?在uboot的第一阶段主要完成了SoC内部的一些部件的初始化,例如看门狗、时钟等,以及DDR的初始化,最后完成...

2018-09-06 11:02:47 1481

原创 uboot启动第一阶段——start.S(一)

1. 引入 start.S(1)通过对链接脚本的分析可知,整个程序的入口取决于链接脚本中 ENTRY 声明的地方。在 uboot.lds 中可以看到 ENTRY(_start),因此 _start 就是整个程序的入口,而 _start 所在的文件就是整个程序的起始文件。通过搜索可知,_start 存在 start.S 中,因此 start.S 就是整个程序的起始文件。2. 头文件代码:...

2018-09-05 17:56:02 2068

原创 uboot启动第一阶段——start.S(二)

1. 设置 CPU 为 SVC 模式代码:141 ~ 149 行reset: /* * set the cpu to SVC32 mode and IRQ & FIQ disable */ @;mrs r0,cpsr @;bic r0,r0,#0x1f @;orr r0,r0,#0xd3 @;msr cpsr,r0 msr cpsr_c, #0xd3 @ I...

2018-09-04 17:19:22 1126

原创 uboot链接文件uboot.lds解析

uboot.lds文件放在 board/samsung/x210 目录下。解析如下:/* 指定输出文件格式:32位efl格式、arm指令、小端格式 */OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")/* 指定输出文件平台:arm */OUTPUT_ARCH(arm) ...

2018-09-04 11:11:35 1385

原创 uboot根目录下配置脚本mkconfig的解析

在主Makefile中定义mkconfig:MKCONFIG := $(SRCTREE)/mkconfigexport MKCONFIG在主Makefile中使用mkconfig:x210_sd_config : unconfig @$(MKCONFIG) $(@:_config=) arm s5pc11x x210 samsung s5pc110 @echo "TEXT_B...

2018-09-04 09:40:12 511

uboot顶层config.mk分析

config.mk主要做的工作: 1.设置obj和src,并清空各种标志(26 ~ 45行) 2.与ppc相关的交叉编译工具的配置(54 ~ 70行,不重要,可以不看) 3.shell相关的一些配置、主机编译器相关的一些配置(74 ~ 84行) 4.配置交叉编译工具链(91 ~ 107行) 5.加载开发板相关的配置选项(111 ~ 130行) 6.编译选项相关的配置(135 ~ 141行,不重要,可以不看) 7.指定链接脚本(142 ~ 149行) 8.获取链接地址(154 ~ 158行) 9.设置头文件搜索路径(160 ~ 166行) 10.使用起始链接地址(198 ~ 201行) 11.BFD库相关的配置(213 ~ 228行,不重要,可以不看) 12.设置自动推导规则(239 ~ 256行)

2018-09-04

uboot顶层Makefile分析

uboot顶层Makefile分析,一行指令对应一行注释,看起来很方便

2018-08-31

SQLiteStudio

查看SQLite数据库的工具

2017-07-27

M72-D硬件手册及AT指令集

M72-D硬件手册及AT指令集

2016-04-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除