摘要: 以上是smdk2410中的u-boot.lds。 U-boot中那段relocate代码就是通过adr实现当前程序是在RAM中还是flash中: relocate:/* 把U-Boot重新定位到RAM*/ adr r0, _start /* r0是代码的当前位置*/ /*adr伪指令,汇编器自动通过 阅读全文
posted @ 2019-08-29 18:08 一个不知道干嘛的小萌新 阅读(708) 评论(0) 推荐(0)
摘要: 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 一个不知道干嘛的小萌新 阅读(1083) 评论(0) 推荐(0)
摘要: 1.start_armboot分析 根据上一文章得知,在uboot第一阶段最后会调用start_armboot。接下来就继续分析一下start_armboot这个函数(~/lib_arm/board.c) 所以start_armboot主要是在c坏境中对一些硬件设备进行一系列的初始化,然后跳转才ma 阅读全文
posted @ 2019-08-27 14:54 一个不知道干嘛的小萌新 阅读(599) 评论(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 一个不知道干嘛的小萌新 阅读(1142) 评论(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 一个不知道干嘛的小萌新 阅读(797) 评论(0) 推荐(0)
摘要: 1.uboot中的环境变量 bootdelay:执行自动启动的等候秒数 baudrate:串口控制台的波特率 netmask: 以太网接口的掩码 ethaddr: 以太网卡的网卡物理地址 bootfile: 缺省的下载文件 bootargs:传递给内核的启动参数 bootcmd:自动启动时执行的命令 阅读全文
posted @ 2019-08-22 11:06 一个不知道干嘛的小萌新 阅读(13145) 评论(0) 推荐(0)
摘要: 1.内核中对boot loader描述 (源码位于kernel中的Documentation/arm/booting) linux2.4x以后的内核都期望以标记列表(tagged list)的形式来传递启动参数,标记是一种数据结构;标记列表就是挨着存放的多个标记。标记列表以标记ATAG_CORE开始 阅读全文
posted @ 2019-08-05 16:09 一个不知道干嘛的小萌新 阅读(1754) 评论(0) 推荐(0)
摘要: 1.1字符设备驱动基础 字符设备驱动:设备对数据的处理是按照字节流的形式进行的。 在linux中,“一切皆文件”(除了网络设备),这表示设备最终都会体现为一个文件。设备文件通常位于/dev目录下、 内核通常用主设备号区别一类设备,次设备号用于区分同一类设备的不同个人或不同分区。 手动创建设备文件 m 阅读全文
posted @ 2019-07-22 08:53 一个不知道干嘛的小萌新 阅读(1262) 评论(0) 推荐(0)
摘要: 注意: 1.几乎所有的驱动程序函数前都要加static关键字修饰的原因是为了避免和内核中已有的函数重名。 2.__init个__exit是对程序进行优化。因为初始化函数会且仅会被调用一次,所以该函数所占用的内存是可以被释放掉的。__init是把标记的函数放在ELF文件的特定代码段,在模块加载这些段时 阅读全文
posted @ 2019-07-19 15:47 一个不知道干嘛的小萌新 阅读(424) 评论(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 一个不知道干嘛的小萌新 阅读(641) 评论(0) 推荐(0)