linux嵌入式
文章平均质量分 75
小热茶
喵喵喵?
展开
-
Linux系统框架(从裸机到OS)
wei原创 2021-05-30 21:57:25 · 845 阅读 · 1 评论 -
Linux驱动中物理地址、虚拟地址的转换
物理地址、虚拟地址在单片机和逻辑中,我们操作硬件是可以直接unsigned int *p = 0x12345678;*p = 0x87654321;但是在Linux上不行,是不能对物理地址直接进行操作的。(因为使能了MMU)可我们还是避免不了操作硬件。那么在Linux上如果想要操作硬件,需要先把物理地址转换成虚拟地址。使能了MMU以后有什么好处呢?(1)让虚拟地址成了可能(2)可以让系统更加安全,因为有了MMU,我们上层应用看到的内存都是虚拟...原创 2021-05-30 18:35:57 · 1901 阅读 · 0 评论 -
IIC学习
Linux I2C核心、总线与设备驱动1.1 IIC结构I2C核心提供了I2C总线驱动和设备驱动的注册、注销方法,I2C通信方法(即Algorithm)上层的与具体适配器无关的代码以及探测设备、检测设备地址的上层代码等,如图所示IIC(Inter Integrated Circuit,集成电路总线)是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在 CPU (单片机)与IIC模块之间、IIC...转载 2021-05-25 21:30:51 · 1214 阅读 · 0 评论 -
(八)uboot源码分析启动第一阶段
(八)uboot源码分析启动第一阶段1、start.S的引入u-boot.lds中找到start.S入口(1)在C语言中整个项目的入口是main()函数(这是c规定的)譬如说有一个10000个.c文件的项目,第一个要分析的就是包含了main函数的那个文件。(2)在uboot中因为有汇报阶段参与,因此不能找main.c。整个程序入口地址取决于lds链接脚本里ENTRY声明的地方ENTRY(_START)因此_start所在的文件就是整个文件的起始文件,_start所在的代码就是整.原创 2021-04-16 12:27:03 · 243 阅读 · 0 评论 -
(七)链接脚本代码分析(Makefile源码分析)
(七)链接脚本代码分析(Makefile源码分析)(1)如果定义了CONFIG_NAND_U_BOOT宏,则链接脚本叫u-boot-nand.lds.如果未定义这个宏则叫u-boot.lds。(2)从字面意思分析可知CONFIG_NAND_U_BOOT是在Nand下才使用,(3)实际在board\samsung\x210目录下有u-boot.lds,这个就是链接脚本。我们在分析uboot的编译过程时就要考虑这个链接脚本。OUTPUT_FORMAT("elf32-littlearm", "原创 2021-04-14 20:57:00 · 227 阅读 · 0 评论 -
(六)uboot编译和配置2(Makefile源码分析)
(六)uboot编译和配置2(Makefile源码分析)include/config.mk不是源码自带的,在没有编译时候是找不到这个文件的,要在配置过程中才会生成这个文件。我们在配置下生成的config.mk内容为:ARCH = armCPU =...原创 2021-04-12 18:33:38 · 391 阅读 · 0 评论 -
(五)uboot编译和配置1(Makefile源码分析)
一、Makefile的版本分析由图的这四部分构成了最终的一个版本号;U_BOOT_VERSION “1.3.4后面自己写”也就是知道uboot的版本号分了三个基本,分别是Version 、patchlevel(补丁版本号)、sublevel(最后的版本号)。它们最终共同构成了版本号;EXTRAVERSION表示一些附加的信息;如写一个recha这个名字。对于可以看到一个用了一个变量obj,(等号,往后边走,现在可以暂时认为什么都没有)。对于后面的i...原创 2021-04-11 20:00:06 · 388 阅读 · 0 评论 -
(四、补充)SourceInsight的基本使用
SourceInsight的基本使用Sourceinsight 分析代码的工具代码之间的关联 分析与阅读的困难度增高;建立工程以及添加文件要使用SI直接点OK接下来添加文件,左边是备选右边是选中的;注意默认是没有S文件的,要在Option这里添加然后Close即可;常用技巧待补充...原创 2021-04-10 20:49:44 · 72 阅读 · 0 评论 -
(四)uboot体验3----常用命令讲解
uboot常用命令与环境变量uboot启动后大部分时间和工作都是在shell下完成的,譬如uboot要部署(就是烧录)系统要在shell下输命令、要设置环境变量也得在命令行地下,要启动内核也要在命令行底下敲命令。命令就是uboot的shell中可以识别的各种命令。uboot的有些命令带的参数非常长,为了告诉uboot这个非常长而且中间有好多个空格的东西是给他的一整个参数,所以用单引号将这个很长且中间有空格隔开的参数引起来。序号 命令行 备注 1 printenv/prin转载 2021-04-10 17:47:36 · 151 阅读 · 0 评论 -
(三)uboot体验2-----源码目录分析
uboot的源码目录分析1九鼎在移植三星uboot时候把用不到的都删除了,减少文件数量,工作时候方便。各文件介绍:(1).gitignore git工具的文件,git是一个版本管理工具(类似的还有svn)这个文件与git有关与uboot本身是无关的,不用去管。 (2)arm_config.mk 后缀是mk是一个makefile文件,将来在某个makefile中会去调用它。 (3)changelog这类的文件,是修改记录文件,该文件记录了这个uboot的版本变迁以及修...原创 2021-04-10 17:30:24 · 159 阅读 · 0 评论 -
(二)u-boot体验1
(二)u-boot体验1本文章是教程学习X210官方uboot配置编译实践找到官方移植好的uboot(BSP概念)(1)源头的源代码是uboot官网下载的,这个下载的源码可能没有,甚至找不到当前开发板使用的SoC对应的移植版本/(2)SoC厂商在推出一款SoC后,厂商的工程师会去uboot官网下载一个uboot,根据自己的SoC进行第一步的一直,移植目标是厂商推出的开发板。(譬如三星的S5PV210芯片厂商除的开发板就是SMDKV210)所以三星的工程师移植的uboot是根据他们自己的S原创 2021-04-10 15:42:43 · 68 阅读 · 0 评论 -
(一)Makefile学习
Makefile学习意义:项目管理,方便编译连接。用于大项目:uboot和linux kernel,都有很多个文件组成,因此都要通过Makefile来管理。所以要分析uboot必须对Makefile了解。一、Makefile的组成与使用Makefile由:目标、依赖、命令组成;目标:就是生成的东西。依赖:原材料。命令:加工方法。命令就是加工方法,所以用make如:exe(目标): a.c b.c(依赖) gcc a.c b.c -o exe(命令)Makef.原创 2021-04-10 15:16:36 · 691 阅读 · 0 评论