摘要: 这里分析三星s5pv210芯片官方u-boot 先看u-boot 版本号 VERSION = 1 #主版本号PATCHLEVEL = 3 #次版本号SUBLEVEL = 4 # 修改正版本号EXTRAVERSION = # 拓展版本号 U_BOOT_VERSION = $(VERSION).$(PA 阅读全文
posted @ 2017-05-17 19:54 得了白学症 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 本文接着《创建一个字符设备1.1》讲如何创建字符设备模型、怎么创建设备文件 创建字符设备流程 1.定义一个cdev 2.申请设备号 .静态注册 .MKDEV .register_chrdev_region .动态注册 .alloc_chrdev_region 3.定义file_operations, 阅读全文
posted @ 2017-05-17 16:31 得了白学症 阅读(1848) 评论(0) 推荐(0) 编辑
摘要: 在开始之前,我们先了解什么是内核模块。 内核模块是一种没有经过链接,不能独立运行的目标文件,是在内核空间运行的程序。 内核模块可以让操作系统内核需要的时候加载,不需要的时候由操作系统进行卸载。拓展了操作系统的功能,不会让操作系统变得很臃肿。 内核模块与应用程序区别 应用程序 驱动程序运行 用户空间 阅读全文
posted @ 2017-05-11 16:27 得了白学症 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 本文章谈论一些比较有趣的事情... 先来看个代码 假如寻址方式从低字节开始 如果x1 打印22那么编译器(或运行的环境)小端模式 x2打印11 如果x1打印11那么编译器(或运行的环境)大端模式 x2打印22 大小端模式是以字节存储顺序的不同而区分. 程序解析 1.short在32位操作系统是占用两 阅读全文
posted @ 2017-03-07 10:08 得了白学症 阅读(300) 评论(2) 推荐(0) 编辑
摘要: 本文章记录Linux库文件的制作--静态库和动态库 静态库: 静态库特点 优缺点: 作个小比喻,我们需要看一本书,我们获得书的方法目前有两种,一、去书店买 二、去图书馆借 静态库就相当于去书店买. 优点: 编译完,运行的时候不再需要链接库(直接运行) 缺点: 1.编译完,二进制会变得很大...不运行 阅读全文
posted @ 2017-03-06 18:19 得了白学症 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 定义一个宏,用来表示一年中有多少秒(只考虑平年) #define SECONDS_YEAR 366*24*60*60(UL) UL 是用来表示无符号长整形 阅读全文
posted @ 2017-03-06 14:37 得了白学症 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 写一个宏,用来返回两个数中最小的一个. #define (x) > (y) ? (y) : (x) 考虑下为什么要用括号? 阅读全文
posted @ 2017-03-04 10:39 得了白学症 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 程序看起来有点奇怪...其实题目也不奇怪,只是对一些运算、操作符的运用而已. 答案 10, 10, 1, 3, 1, 7, 1 1. 第十行 x的值没变 2. 第十三行 z==y? 相等返回布尔值1 阅读全文
posted @ 2017-03-03 13:47 得了白学症 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 先来个知识背景: 我们都知道数组是存储数据的一种方式,但是数组对里面数据的操作比较麻烦(插入、删除等) 所以,我们有了单链表,单链表对于数据的插入删除都比数组方便很多,但是还是不那么方便,为什么? 因为,我们只能从头节点(一般的链表都有头节点,当然了循环队列除外)查找数据,不能往上查找,只能往下查找 阅读全文
posted @ 2017-03-01 20:35 得了白学症 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 本文章的内容是:内存和指针的终极认识! 我们先来看这么一个题目: 在x86平台下,分析以下代码的输出结果: #include <stdio.h> int main(void) { int a[4] = {1, 2, 3, 4}; int *p1=(int *)(&a+1); //p1指向数组的下一个 阅读全文
posted @ 2017-03-01 19:16 得了白学症 阅读(416) 评论(0) 推荐(0) 编辑