01 2019 档案
摘要:ARM SoC的启动过程 RomBoot --> SPL(非必须,imx6ull不需要) --> u-boot --> Linux kernel --> file system --> start application (RomBoot是固化在SoC内部的。) SPL(secondary prog
阅读全文
摘要:linux内核经过编译后会生成一个ELF格式的可执行程序,叫vmlinux或vmlinuz,是原始的未经任何处理加工的原版内核ELF文件;嵌入式系统烧录的一般不是这个vmlinuz/vmlinux,而是要用objcopy工具制作成二进制格式,经过制作加工成烧录镜像的文件就叫Image(这个制作烧录镜
阅读全文
摘要:tty tty一词源于 Teletypes tty1~tty6,6个工作组,或者说6个终端,他们之间没有区别,方便用户登录,比如可以在 tty1 登录用户A,在 tty2 登录用户B,在 tty3 登录用户A 使用 alt+ctrl+fn 切换工作组,比如 alt+ctrl+f3 切换到 tty3
阅读全文
摘要:sync.c:(.text.sync_main+0x7c): undefined reference to `syncfs'Coreutils—>sync选项去掉 nsenter.c:(.text.nsenter_main+0x1b0): undefined reference to `setns'
阅读全文
摘要:问:看了一些关于dd和cp的命令,但是我始终无法明白dd和cp之间有什么不同?不是都可以看成是备份的作用么?还有什么区别呢?答:1、dd是对块进行操作的,cp是对文件操作的。 2、比如有两块硬盘,要将第一块硬盘内的数据复制到第二块硬盘上dd if=/dev/hda of=/dev/hdc bs=4
阅读全文
摘要:六 memory&chosen节点 根节点那一节我们说过,最简单的设备树也必须包含cpus节点和memory节点。memory节点用来描述硬件内存布局的。如果有多块内存,既可以通过多个memory节点表示,也可以通过一个memory节点的reg属性的多个元素支持。举一个例子,假如某个64位的系统有两
阅读全文
摘要:五 根节点 一个最简单的设备树必须包含根节点,cpus节点,memory节点。根节点的名字及全路径都是“/”,至少需要包含model和compatible两个属性。model属性我们在属性那节已经说过是用来描述产品型号的,类型为字符串,推荐的格式为“manufacturer,model-number
阅读全文
摘要:四 中断 中断一般包括中断产生设备和中断处理设备。中断控制器负责处理中断,每一个中断都有对应的中断号及触发条件。中断产生设备可能有多个中断源,有时多个中断源对应中断控制器中的一个中断,这种情况中断产生设备的中断源称之为中断控制器中对应中断的子中断。一般情况中断产生设备数量要多于中断控制器,多个中断产
阅读全文
摘要:三 属性(property) device_type = "memory"就是一个属性,等号前边是属性,后边是值。节点是一个逻辑上相对独立的实体,属性是用来描述节点特性的,根据需要一个节点由0个,1个或多个属性表示节点的特性。一个属性由名字和值两部分组成。和节点的名字类似,规范要求属性名字由1到31
阅读全文
摘要:二 节点(node)的表示 首先说节点的表示方法,除了根节点只用一个斜杠“/”表示外,其他节点的表示形式如“node-name@unit-address”。@前边是节点名字,后边是节点地址。节点名字的长度范围是1到31,可以使用的字符在ePAPR规范中有说明,包括:0-9 数字a-z 小写字母A-Z
阅读全文
摘要:一 概述 设备树(Device tree)是一套用来描述硬件属性的规则。ARM Linux采用设备树机制源于2011年3月份Linux创始人Linus Torvalds发的一封邮件,在这封邮件中他提倡ARM平台应该参考其他平台如PowerPC的设备树机制描述硬件。因为在此之前,ARM平台还是采用旧的
阅读全文
摘要:ramdisk一个作用就是用来解决boot过程中mount根文件系统的“先有鸡还是先有蛋”的问题的。一般来说,根文件系统在形形色色的存储设备上,不同的设备又要不同的硬件厂商的驱动,比如intel的南桥自然需要intel的ide/sata驱动,VIA的南桥需要VIA的ide/sata驱动,根文件系统也
阅读全文
摘要:C99增加了一个新特性:指定初始化器。利用该特性可以初始化指定的数组元素。例如,只初始化数组中的最后一个元素。对于传统的的C初始化语法,必须初始化最后一个元素之前的所有元素,才能初始化它: int arr[6]={0,0,0,0,0,212];//传统的语法 而使用C99的新特性: int arr[
阅读全文
摘要:一、platform总线、设备与驱动 在Linux 2.6 的设备驱动模型中,关心总线、设备和驱动3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。 一个现实的Linux设备和驱动通常都需要挂
阅读全文
摘要:在字符设备驱动开发的入门教程中,最常见的就是用device_create()函数来创建设备节点了,但是在之后阅读内核源码的过程中却很少见device_create()的踪影了,取而代之的是device_register()与device_add(),将device_create()函数展开不难发现:
阅读全文
摘要:USART_InitStructure.USART_WordLength 的值是数据位长度+一个奇偶校验位(如果无奇偶校验则不加一)
阅读全文