摘要: 1.命令行解析 以help命令为例(~/comand/command.c) U_BOOT_CMD里面对help命令进行了各种的描述, #define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \ cmd_tbl_t __u_boot_cmd_##name 阅读全文
posted @ 2019-08-27 20:28 一个不知道干嘛的小萌新 阅读(1035) 评论(0) 推荐(0) 编辑
摘要: 1.start_armboot分析 根据上一文章得知,在uboot第一阶段最后会调用start_armboot。接下来就继续分析一下start_armboot这个函数(~/lib_arm/board.c) 所以start_armboot主要是在c坏境中对一些硬件设备进行一系列的初始化,然后跳转才ma 阅读全文
posted @ 2019-08-27 14:54 一个不知道干嘛的小萌新 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 原文链接:https://blog.csdn.net/itdo_just/article/details/78701886 以下源码以u-boot-1.1.6中的2410为例。 1.start.s的引入 在board/smdk2240/u-boot.lds中可以看到ENTRY(_start),。Ub 阅读全文
posted @ 2019-08-26 16:13 一个不知道干嘛的小萌新 阅读(1039) 评论(0) 推荐(0) 编辑
摘要: 1、版本号变化: 2008年8月及以前,按版本号命名:u-boot-1.3.4.tar.bz2(2008年8月更新) 2008年8月以后均按日期命名。目前最新版本:u-boot-2011.06.tar.bz2(2011年6月更新) 2、目录结构变化: u-boot目录结构主要经历过2次变化,u-bo 阅读全文
posted @ 2019-08-26 14:54 一个不知道干嘛的小萌新 阅读(734) 评论(0) 推荐(0) 编辑
摘要: 1.uboot中的环境变量 bootdelay:执行自动启动的等候秒数 baudrate:串口控制台的波特率 netmask: 以太网接口的掩码 ethaddr: 以太网卡的网卡物理地址 bootfile: 缺省的下载文件 bootargs:传递给内核的启动参数 bootcmd:自动启动时执行的命令 阅读全文
posted @ 2019-08-22 11:06 一个不知道干嘛的小萌新 阅读(12389) 评论(0) 推荐(0) 编辑
摘要: 1.内核中对boot loader描述 (源码位于kernel中的Documentation/arm/booting) linux2.4x以后的内核都期望以标记列表(tagged list)的形式来传递启动参数,标记是一种数据结构;标记列表就是挨着存放的多个标记。标记列表以标记ATAG_CORE开始 阅读全文
posted @ 2019-08-05 16:09 一个不知道干嘛的小萌新 阅读(1548) 评论(0) 推荐(0) 编辑
摘要: 1.1字符设备驱动基础 字符设备驱动:设备对数据的处理是按照字节流的形式进行的。 在linux中,“一切皆文件”(除了网络设备),这表示设备最终都会体现为一个文件。设备文件通常位于/dev目录下、 内核通常用主设备号区别一类设备,次设备号用于区分同一类设备的不同个人或不同分区。 手动创建设备文件 m 阅读全文
posted @ 2019-07-22 08:53 一个不知道干嘛的小萌新 阅读(1236) 评论(0) 推荐(0) 编辑
摘要: 注意: 1.几乎所有的驱动程序函数前都要加static关键字修饰的原因是为了避免和内核中已有的函数重名。 2.__init个__exit是对程序进行优化。因为初始化函数会且仅会被调用一次,所以该函数所占用的内存是可以被释放掉的。__init是把标记的函数放在ELF文件的特定代码段,在模块加载这些段时 阅读全文
posted @ 2019-07-19 15:47 一个不知道干嘛的小萌新 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 1.创建套接字 socket函数 #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol);第一个参数domain:指定协议族 AF_UNIX: 文件系统套接字(通过UN 阅读全文
posted @ 2019-05-23 11:16 一个不知道干嘛的小萌新 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 1.IPC IPC:interprocess communication-进程间通信 Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程间不能互相访问,要交换数据必须通过内核,在内核中开辟一块缓存区,进程1把数据从用 阅读全文
posted @ 2019-05-21 16:40 一个不知道干嘛的小萌新 阅读(365) 评论(0) 推荐(0) 编辑