ARM-Linux
文章平均质量分 57
wsygzyr
这个作者很懒,什么都没留下…
展开
-
Static 作用详述
Static 作用详述<br />1.先来介绍它的第一条也是最重要的一条:隐藏<br /> 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c.<br />下面是a.c的内容: char a = 'A'; // global variable void msg() { printf("Hello/n")转载 2011-03-11 13:49:00 · 302 阅读 · 0 评论 -
linux设备驱动程序学习笔记——主次设备号
register_chrdev_region()和registe_chrdev() 分配设备编号,注册设备与注销设备的函数均在fs.h中申明,如下:extern int register_chrdev_region(dev_t, unsigned, const cha转载 2011-10-19 09:50:24 · 1249 阅读 · 0 评论 -
U-BOOT配置编译全过程
<br />原文:<br />http://bebread2.juliantec.info/julblog//post/5/15原创 2011-03-11 15:17:00 · 484 阅读 · 0 评论 -
U-BOOT移植——支持Davinci的MMC
<br />下面是这两天看SD标准和365资料进行的小结,下一步对U-BOOT添加MMC支持。让悲剧的网卡见鬼去吧。<br />1. MMC/SD是两种不同的格式,SD比MMC要高级,可以兼容MMC,并且速度要快。软件区分SD还是MMC,靠CMD1和CMD41,前者只有SD卡支持,后者只有MMC支持,发出一条命令,谁成功返回,对应的就是什么卡。<br />2. Response是CPU发出CMD之后,SD/MMC通过CMD信号线串行返回的数据,包括卡状态等等信息。对于MMC/SD来说原创 2011-03-11 15:16:00 · 1366 阅读 · 0 评论 -
linux支持NTFS
<br />ntfs-3g是一个用于读写NTFS分区的用户态文件系统(FUSE)。<br />优点是支持NTFS的完美读写,安装/配置简单,而且已经进入Fedora Extras。<br />缺点是因为是用户态文件系统,所以大量IO有明显的CPU资源占用。<br />步骤:<br />1、安装fuse,http://fuse.sourceforge.net/,不要安装最新版本,最新版中fuse被编入了系统内核中,不再作为模块加载,这样会使的ntfs-3g无法使用。本人下载的是fuse-2.7.3.tar.g转载 2011-03-11 15:15:00 · 513 阅读 · 0 评论 -
linux设置时间
<br />1.1.1 设 置系统日期和 <br /><br />可以使用下列 修改系统时间: 内容来自bnxb.com<br /># date {mmddhhmiyyyy.ss} 起源网bnxb.com<br /> <br />mm--代 表月份 <br /> <br />dd--代 表日期 <br /> <br /> <br />hh--代 表 24 小时制的小时 <br /> <br />mi--代 表分钟 bnxb.com<br />yyyy--代 表年 <br />ss--代 表秒<br /> <原创 2011-03-11 15:14:00 · 2008 阅读 · 0 评论 -
key中断
<br />http://www.eefocus.com/article/10-04/94676_6s.html转载 2011-03-11 15:11:00 · 451 阅读 · 0 评论 -
linux中断
<br />http://hi.baidu.com/zhanghaooy/blog/item/e2e7be09a3700aa62eddd43d.html转载 2011-03-11 15:10:00 · 240 阅读 · 0 评论 -
条件变量
<br />1. 相关函数 <br /> #include <pthread.h><br /> pthread_cond_t cond = PTHREAD_COND_INITIALIZER;<br /> int pthread_cond_init(pthread_cond_t *cond转载 2011-03-11 15:05:00 · 296 阅读 · 0 评论 -
进程上下文和中断上下文
<br />进程上下文和中断上下文是操作系统中很重要的两个概念,这两个概念在操作系统课程中不断被提及,是最经常接触、看上去很懂但又说不清楚到底怎么回事。造成这种局面的原因,可能是原来接触到的操作系统课程的教学总停留在一种浅层次的理论层面上,没有深入去研究。<br />处理器总处于以下状态中的一种:<br />1、内核态,运行于进程上下文,内核代表进程运行于内核空间;<br />2、内核态,运行于中断上下文,内核代表硬件运行于内核空间;<br />3、用户态,运行于用户空间。<br />用户空间的应用程序,通转载 2011-03-11 15:04:00 · 655 阅读 · 0 评论 -
loaders& linkers
<br />今天把chinalinux翻译的loaders & linkers 大致翻了一下,想找到一些关于前两天编译调试中的问题,总算是有点收获的。<br />.text .data .bss这三个大段都是由各目标文件的相应段组合而成的。在写链接脚本文件的时候,以下面这个为例吧。<br />SECTIONS {<br /> . = 0x30000000;<br /> .text : { *(.text) }<br /> .rodata ALIGN(4) :原创 2011-03-11 15:03:00 · 505 阅读 · 0 评论 -
NAND FLASH操作学习笔记
<br />首先是几个C语言的学习点。<br />1.利用一个函数结构体,来保存某一类的函数首地址,一个很好的编程技巧,可以使程序可读性增加。做法是:<br />typedef struct {<br /> void (*nand_reset)(void);<br /> void (*wait_idle)(void);<br /> void (*nand_select_chip)(void);<br /> void (*nand_deselect_chip)(void);<br />原创 2011-03-11 15:01:00 · 913 阅读 · 0 评论 -
pthread_join pthread_exit pthread_detach
<br />pthread_join pthread_exit <br /><br />函数pthread_join用来等待一个线程的结束。函数原型为:<br /> extern int pthread_join __P ((pthread_t __th, void<br />**__thread_return));<br /><br /> 第一个参数为被等待的线程标识符,第二个参数为一个用户定义的指针,它可以用来存储被等待线程的返回值。这个函数是一个线程阻塞的函数,调用它的函数将<br />转载 2011-03-11 15:05:00 · 916 阅读 · 0 评论 -
linux设备驱动学习笔记——重要的一些概念
引用书中原话:close和release 并不是每一个close系统调用都会引起对release方法的调用。只有那些真正释放设备数据结构的close调用才会调用这个方法。内核对每个file结构维护其被使用多少次的计数器。无论是fork还是dup,都不会创建新的数据结构(仅有open创建),它们只是增加已有结构中的计数。只有在file结构的计数归0时,close系统调用才会执行releas原创 2011-10-19 11:01:18 · 476 阅读 · 0 评论