虎贲小队程序猿

get along

导航

2015年7月14日 #

linux 驱动学习笔记03--Linux 内核的引导

摘要: 如图所示为 X86 PC 上从上电/复位到运行 Linux 用户空间初始进程的流程。在进入与 Linux相关代码之间,会经历如下阶段。( 1 ) 当系统上电或复位时, CPU 会将 PC 指针赋值为一个特定的地址 0xFFFF0 并执行该地址处的指令。在 PC 机中,该地址位于 BIOS 中,它保存... 阅读全文

posted @ 2015-07-14 11:41 jjssl 阅读(474) 评论(0) 推荐(0) 编辑

2015年7月13日 #

linux 驱动学习笔记02--应用实例:在内核中新增驱动代码目录和子目录

摘要: 下面来看一个综合实例,假设我们要在内核源代码 drivers 目录下为 ARM 体系结构新增如下用于 test driver 的树型目录:| --test | -- cpu | -- cpu.c | -- test.c | -- test_client.c | -- test_ioc... 阅读全文

posted @ 2015-07-13 16:54 jjssl 阅读(902) 评论(0) 推荐(0) 编辑

linux 驱动学习笔记01--Linux 内核的编译

摘要: 由于用的学习材料是《linux设备驱动开发详解(第二版)》,所以linux驱动学习笔记大部分文字描述来自于这本书,学习笔记系列用于自己学习理解的一种查阅和复习方式。#make config(基于文本的最为传统的配置界面,不推荐使用)#make menuconfig(基于文本菜单的配置界面)#make... 阅读全文

posted @ 2015-07-13 16:00 jjssl 阅读(831) 评论(0) 推荐(0) 编辑

2015年6月30日 #

设置PATH变量

摘要: 一不小心把PATH变量清空了,所有的命令都执行不了了,提示“xxx: command not found”,解决办法:在命令行输入export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin,然后... 阅读全文

posted @ 2015-06-30 09:58 jjssl 阅读(481) 评论(0) 推荐(0) 编辑

2015年6月2日 #

Linux C学习笔记07--管道通信

摘要: 管道通信属于进程间通信的一种方式,使用方便,但是局限是父进程与子进程间的通信,下面是调试好的代码。程序父进程创建2个管道,分别用于父进程写数据--子进程读数据和子进程写数据--父进程读数据:#include #include #include #include int main(int argc,c... 阅读全文

posted @ 2015-06-02 10:05 jjssl 阅读(309) 评论(0) 推荐(0) 编辑

2015年6月1日 #

Linux C学习笔记06--Tlist使用(编程工具篇)

摘要: 为了方便用VIM编程,安装了一个方便的小工具 taglist,下面是taglist使用的一些说明。常用的taglist配置选项,可以根据自己的习惯进行配置:Tlist_Ctags_Cmd选项用于指定你的Exuberant ctags程序的位置,如果它没在你PATH变量所定义的路径中,需要使用此选项设... 阅读全文

posted @ 2015-06-01 10:24 jjssl 阅读(803) 评论(0) 推荐(0) 编辑

2015年5月29日 #

linux C学习笔记05--信号量与共享内存(进程同步)

摘要: 花了半天时间把信号量与共享内存整合到了一起,先来看信号量代码,semaphore.c 当中sem_P()和sem_V()函数分别为信号量等待和信号量释放。两个进程同时访问共享内存,为了避免发生同时读写产生不必要的错误,加入了信号量进行同步。对使用共享内存的区域加上互斥锁,同时只有一个进程能访问共享内... 阅读全文

posted @ 2015-05-29 14:31 jjssl 阅读(601) 评论(0) 推荐(0) 编辑

linux C学习笔记04--内存映射

摘要: 内存映射代码,打开一个文件与映射到内存中,对内存和文件的修改都会反映到文件中来,反之亦然,先贴代码,以后再完善:/************************************************************************* > File Name: mem... 阅读全文

posted @ 2015-05-29 13:53 jjssl 阅读(257) 评论(0) 推荐(0) 编辑

linux C学习笔记03--单链表

摘要: 单链表一直是程序员的基础,我也来复习下,下面是link.c中的代码,供main.c 调用,代码很简单,单链表的插入,删除,查找和遍历输出,#include #include typedef struct link{ int data; struct link* next;}*LINK;i... 阅读全文

posted @ 2015-05-29 11:02 jjssl 阅读(234) 评论(0) 推荐(0) 编辑

2015年5月28日 #

linux C学习笔记02--共享内存(进程同步)

摘要: system V下3中进程同步:共享内存(shared memory),信号量(semaphore)和消息队列(message queue)调试了下午,终于调通啦! 运行./c.out 输出共享内存中的内容,运行 ./c.out arg1 对共享内存区进行修改,shell下输入ipcs -m 可以查... 阅读全文

posted @ 2015-05-28 17:49 jjssl 阅读(2155) 评论(0) 推荐(0) 编辑