06 2017 档案
摘要:本文转载自:http://blog.csdn.net/dosculler/article/details/7932315 一、jiffies定时器,HZ=100,精度只能达到10ms。 注:采用jiffies+msecs_to_jiffies(xx ms);可做到ms级,不过精度不够 #includ
阅读全文
摘要:本文转载自:http://blog.csdn.net/tigerjibo/article/details/8279183 ikely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢?首先明确:if (likely(value))等价于if (value)if
阅读全文
摘要:本文转载自:http://blog.csdn.net/npy_lp/article/details/7175517 内核源码:Linux-2.6.38.8.tar.bz2 参考文档:http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/Other-Builtins.
阅读全文
摘要:本文转载自:http://7071976.blog.51cto.com/7061976/1392082 《[arm驱动]Linux内核开发之阻塞非阻塞IO 轮询操作》涉及内核驱动函数二个,内核结构体零个,分析了内核驱动函数二个;可参考的相关应用程序模板或内核驱动模板二个,可参考的相关应用程序模板或内
阅读全文
摘要:本文转载自;http://blog.csdn.net/DroidPhone/article/details/8074892 上一篇文章,我介绍了传统的低分辨率定时器的实现原理。而随着内核的不断演进,大牛们已经对这种低分辨率定时器的精度不再满足,而且,硬件也在不断地发展,系统中的定时器硬件的精度也越来
阅读全文
摘要:本文转载自:http://blog.csdn.net/waverider2012/article/details/38305785 hrtimer高精度定时器的interval由ktime_set(const long secs, const unsigned long nsecs)决定,可做到ns
阅读全文
摘要:本文转载自:http://blog.csdn.net/dean_gdp/article/details/25481225 hrtimer的基本操作 Linux的传统定时器通过时间轮算法实现(timer.c),但hrtimer通过红黑树算法实现。在struct hrtimer里面有一个node域,类型
阅读全文
摘要:本文转载自:http://blog.csdn.net/dlutbrucezhang/article/details/9212067 Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。 在这个链表中,有两种数据结构:等待队列头(wait_
阅读全文
摘要:本文转载自:http://whylinux.blog.51cto.com/10900429/1932491 字符设备驱动用的fileopretion结构体。 1、板载蜂鸣器的驱动测试 我手里有一个BSP,九鼎的Bsp,里面有蜂鸣器的驱动,我们先测试一下好不好用。我们拿到一个BSP时,如果要做或移植蜂
阅读全文
摘要:1 #include <linux/module.h> 2 3 #include <linux/kernel.h> 4 #include <linux/hrtimer.h> 5 #include <linux/jiffies.h> 6 7 8 static struct hrtimer timer;
阅读全文
摘要:本文转载自:http://www.wowotech.net/timer_subsystem/time_concept.html 本文使用Q & A的方式来和大家以前探讨一下时间的基本概念 一、什么是时间? 这个问题实在是太复杂了,我都不知道这是一个物理学、宇宙学、还是热力学异或是哲学问题,我只是想从
阅读全文
摘要:本文转载自:http://blog.csdn.net/droidphone/article/details/8051405 利用定时器,我们可以设定在未来的某一时刻,触发一个特定的事件。所谓低分辨率定时器,是指这种定时器的计时单位基于jiffies值的计数,也就是说,它的精度只有1/HZ,假如你的内
阅读全文
摘要:本文转载自:http://blog.csdn.net/droidphone/article/details/8017604 版权声明:本文为博主原创文章,未经博主允许不得转载。 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] 目录(?)[+] 早期的内核版本中,进程的调度基于
阅读全文
摘要:本文转载自:http://blog.csdn.net/droidphone/article/details/7989566 本系列文章的前两节讨论了用于计时的时钟源:clocksource,以及内核内部时间的一些表示方法,但是对于真实的用户来说,我们感知的是真实世界的真实时间,也就是所谓的墙上时间,
阅读全文
摘要:本文转载自:http://blog.csdn.net/droidphone/article/details/7979295 版权声明:本文为博主原创文章,未经博主允许不得转载。 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] 目录(?)[+] 人们习惯用于表示时间的方法是:年
阅读全文
摘要:本文转载自:http://blog.csdn.net/droidphone/article/details/7975694 版权声明:本文为博主原创文章,未经博主允许不得转载。 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] 目录(?)[+] clock source用于为L
阅读全文
摘要:本文转载自:http://www.enjoydiy.com/608.html 我们可以从https://www.codeaurora.org/网站下载android源码。 具体方法如下: 下载repo并设置环境变量 $ curl "http://php.webtutor.pl/en/wp-conte
阅读全文
摘要:本文转载自:http://blog.csdn.net/shangyuan21/article/details/17618575 我们都知道下载Android源代码需要使用repo进行辅助下载,但是最进出现了repo无法下载的情况,包括官网给出的repo下载地址都不可以使用。造成很多同学都无法下载an
阅读全文
摘要:本文转载自:https://gaomf.cn/2016/06/26/%E5%9C%A8U-Boot%E4%B8%AD%E6%B7%BB%E5%8A%A0%E8%87%AA%E5%AE%9A%E4%B9%89%E5%91%BD%E4%BB%A4%E4%BB%A5%E5%AE%9E%E7%8E%B0%E
阅读全文
摘要:本文转载自:http://blog.sina.com.cn/s/blog_476d8cf30100rttx.html 在嵌入式系统中,BootLoader 是用来初始化硬件,加载内核,传递参数。因为嵌入式系统的硬件环境各不相同,所以嵌入式系统的BootLoader 也各不相同,其中比较通用的是U-B
阅读全文
摘要:1 #include "apue.h" 2 3 int globvar = 6; 4 5 int main(void) 6 { 7 int var; 8 pid_t pid; 9 10 var = 88; 11 printf("before vfork\r\n"); 12 if((pid = vfork()) < 0){ 13 ...
阅读全文
摘要:1 #include "apue.h" 2 3 int globvar = 6; 4 char buf[] = "a write to stdout\r\n"; 5 6 7 int main(void) 8 { 9 int var; 10 pid_t pid; 11 12 var = 88; 13 if(write(STDOUT_FILE...
阅读全文
摘要:1 #include "apue.h" 2 3 #define TOK_ADD 5 4 5 void do_line(char *); 6 void cmd_add(void); 7 int get_token(void); 8 9 int 10 main(void) 11 { 12 char line[MAXLINE]; 13 ...
阅读全文
摘要:1 #include "apue.h" 2 3 static void my_exit1(void); 4 static void my_exit2(void); 5 6 7 int main(void) 8 { 9 int ret = -1; 10 11 ret = atexit(my_exit2); 12 if(ret != 0) 13 ...
阅读全文
摘要:本文转载自:http://blog.csdn.net/tommy_wxie/article/details/9187821 Tag list被用来在bootloader和Linux kernel 之间传递参数,这里分析一下相关的数据结构,主要包括两个部分:Tag list 和Tag parser l
阅读全文
摘要:本文转载自:http://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/html/uboot_starts_analysis.html 目录 正文之前1. 本文内容2. 本文目标3. 代码来源4. 阅读此文所要具有的前提
阅读全文
摘要:本文转载自;http://blog.csdn.net/voice_shen/article/details/6789424 [ u-boot: Git://git.denx.de/u-boot.git] [tag: v2011.09-rc1 ] 修改u-boot的开机logo其实很简单。请见下面步骤
阅读全文
摘要:本文转载自:http://blog.csdn.net/tung214/article/details/44461985 Android 5.0下,因为采取了SEAndroid/SElinux的安全机制,即使拥有root权限,或者对某内核节点设置为777的权限,仍然无法在JNI层访问。 本文将以用户自
阅读全文
摘要:1 #include "apue.h" 2 #include 3 4 int main(void) 5 { 6 if(chdir("/home/zsf/book/unix/source_code/apue.3e/mycode/test") < 0) 7 err_sys("chdir failed"); 8 printf("success chd...
阅读全文
摘要:1 #include "apue.h" 2 #include 3 4 int main(int argc,char *argv[]) 5 { 6 7 int i,fd; 8 struct stat statbuf; 9 struct timespec times[2]; 10 11 for(i = 1;i < argc;i ++){ 1...
阅读全文
摘要:1 #include "apue.h" 2 #include 3 4 int main(void) 5 { 6 if(open("tempfile",O_RDWR) < 0) 7 err_sys("open error"); 8 if(unlink("tempfile") < 0) 9 err_sys("unlink erro...
阅读全文
摘要:1 #include "apue.h" 2 3 4 int main(int argc,char *argv[]) 5 { 6 struct stat stabuf; 7 8 if(stat("zbzhuang",&stabuf) < 0) 9 err_sys("stat error for foo"); 10 if(chmod("...
阅读全文
摘要:1 #include "apue.h" 2 #include 3 4 #define RWRWRW (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) 5 6 int main(int argc,char *argv[]) 7 { 8 umask(0); 9 if(creat("zbzhuang",RW...
阅读全文
摘要:1 #include "apue.h" 2 #include 3 4 5 int main(int argc,char **argv) 6 { 7 if(argc != 2) 8 err_quit("usage:a.out "); 9 if(access(argv[1],R_OK) < 0) 10 err_ret("acce...
阅读全文
摘要:通过lstat函数获取文件的类型的代码如下。 执行文件之后的显示结果如下:通过lstat函数可以正确的获取文件的类型
阅读全文
摘要:本文转载自:http://blog.csdn.net/czg13548930186/article/details/53434566 uboot主Makefile分析1 1、uboot version确定(Makefile的24-29行) Makefile代码部分: [plain] view pla
阅读全文
摘要:本文转载自:http://blog.sina.com.cn/s/blog_963453200101eiuq.html 1、检出svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn co svn://路径(目录或文件
阅读全文
摘要:本文转载自:http://blog.csdn.net/jscese/article/details/16860833 TTL接口:属于并行方式传输数据的接口,采用这种接口时,不必在液晶显示器的驱动板端和液晶面板端使用专用的接口电路,而是由驱动板主控芯片输出的TTL数据信号经电缆线直接传送到液晶面板的
阅读全文
摘要:本文转载自:http://blog.csdn.net/eastmoon502136/article/details/37822837 世界杯结束了,德国战车夺得了大力神杯,阿根廷最终还是失败了。也许3年,5年,或者10年后,人们就不知道巴西世界杯的亚军是谁,但是总是会记得冠军是谁。就像什么考试,比赛
阅读全文
摘要:本文转载自:http://blog.csdn.net/eastmoon502136/article/details/37606487 巴西世界杯,德国7比1东道主,那个惨不忍睹啊,早上起来看新闻,第一眼看到7:1还以为点球也能踢成这样,后来想想,点球对多嘛6比1啊,接着就是各种新闻铺天盖地的来了。其
阅读全文
摘要:本文转载自:http://blog.csdn.net/eastmoon502136/article/details/37569789 就像学编程第一个范例helloworld一样,学嵌入式,单片机、fpga之类的第一个范例就是点亮一盏灯。对于庞大的Linux系统,当然可以编写一个字符设备驱动来实现我
阅读全文
摘要:本文转载自:http://blog.csdn.net/angle_birds/article/details/8443695 platform_set_drvdata(struct platform_device *pdev, void *data) platform_get_drvdata(con
阅读全文
摘要:本文转载自:http://www.cnblogs.com/wangxianzhen/archive/2013/04/09/3009530.html 在用到Linux设备驱动的platform框架时,常常会遇到两个函数platform_get_drvdata和 platform_set_drvdata
阅读全文
摘要:本文转载自:https://github.com/TongxinV/oneBook/issues/9 linux内核段属性机制 以subsys_initcall和module_init为例 subsys_initcall是一个宏,定义在linux/init.h中。经过对这个宏进行展开,发现这个宏的功
阅读全文
摘要:基于RK3188平台LED驱动程序的移植的移植。如有不正确之处,欢迎大家指点。 本文的LED驱动程序不是通过打开设备节点来访问和控制LED的,是通过sys文件系统来控制LED。 板子上有四盏灯以及对应的GPIO的引脚如下: 基于sys文件系统的LED驱动内核已经提供了,我们需要做的事情没有那么多。内
阅读全文
摘要:本文转载自;http://blog.csdn.net/oqqHuTu12345678/article/details/72783903 以下内容源于朱有鹏《物联网大讲堂》课程的学习,如有侵权,请告知删除。 一、什么是驱动框架? 1、驱动是谁写的? (1)驱动开发工程师; (2)内核维护者; 2、驱动
阅读全文
摘要:本文转载自:http://blog.csdn.net/yuanlulu/article/details/6438847 作者:yuanluluhttp://blog.csdn.NET/yuanlulu 版权没有,但是转载请保留此段声明 gpio-led框架 /driver/leds/leds-gpi
阅读全文
摘要:本文转载自:http://blog.csdn.net/yuanlulu/article/details/6438841 版权声明:本文为博主原创文章,未经博主允许不得转载。 版权声明:本文为博主原创文章,未经博主允许不得转载。 作者:yuanluluhttp://blog.csdn.NET/yuan
阅读全文
摘要:本文转载自:http://www.voidcn.com/blog/lqxandroid2012/article/p-625005.html 目前的linux版本的许多驱动都是基于设备模型,LED也不例外。 简单地说,设备模型就是系统认为所有的设备都是挂接在总线上的,而要使设备工作,就需要相应的驱动。
阅读全文
摘要:本文基于unix环境高级编程的学习的笔记,写的比较简如有不对,欢迎指点。 简单的描述下面函数的功能改变ctr+c信号原本的作用终止程序,在按下中断键的时候输出一句话。 while循环主要读取用户的输入,根据用户的输入解析输入的命令之后调用exec函数执行命令 运行情况如下: 1.10
阅读全文
摘要:本文转载自:http://blog.csdn.net/hanshileiai/article/details/46843713 一、安装截图工具 Shutter 1. 添加安装包软件源 1 1 2. 更新源并安装 shutter 1 2 1 2 3. 搜索 shutter 可看到已安装成功 二、设置
阅读全文
摘要:本文转载自:http://www.cnblogs.com/52php/p/5681701.html 操作系统:Ubuntu 12/14 1、下载书中的源代码:点击下载 2、编译 1 2 3 tar -zxvf *.tar.gz cd ./apue.3e make 1 2 3 tar -zxvf *.
阅读全文
摘要:本文转载自:http://blog.csdn.net/yunfeiyang62/article/details/46662633 安装Source Insight之前需要先安装Wine,然后用Wine去安装Source Insight。 1. 安装Wine 在终端输入以下命令:sudo apt-ge
阅读全文