linux驱动简易模版
摘要:#include #include #include #include MODULE_LICENSE("GPL");#define CDD_MAJOR 200//cat /proc/devices找一个尚未使用的#define CDD_MINOR 0#define CDD_COUNT ...
阅读全文
posted @
2014-04-21 17:06
shouchengcheng
阅读(243)
推荐(0)
msp430f2274 汇编记录——不定期更新
摘要:从http://wenku.baidu.com/view/59fcb203a6c30c2259019ee6这里可以看到430的中断向量表是在0xffe0~0xffff中,其中0xfffe是 reset vector。所以如果是写汇编的话,一开始就是先要定义reset vector中的跳转地址。我用i...
阅读全文
posted @
2014-04-17 14:52
shouchengcheng
阅读(437)
推荐(0)
MSP430+CC2500低功耗注意细节
摘要:最近在卡片测试程序,发现一颗2032的纽扣电池隔一天电压就会降差不多0.7V。耗电非常严重,关键我们这个卡片还是主推低功耗的。这要是拿出去,就是纯打脸。 于是拿示波器观察波形,做法很简单,和电池串联一个10欧姆的电阻,通过它两边的电压侧面观察整体的电流功耗。然后我就发现哪个波形是惨不忍睹,和一...
阅读全文
posted @
2014-04-08 20:29
shouchengcheng
阅读(591)
推荐(0)
Linux驱动程序学习备忘之六
摘要:上层应用程序通过对节点的操作,对设备进行控制。这个节点的接口就是由字符设备驱动提供,向前面的HelloWorld驱动是没有上层操作的接口的,它仅仅只有模块加载接口和退出接口。所以也不需要对应的节点。struct file_operations这个结构体它在linux/fs.h中定义,用来存储驱动内核...
阅读全文
posted @
2014-04-04 15:26
shouchengcheng
阅读(293)
推荐(0)
scrapy的简单上手
摘要:今天看了一下网络爬虫。看了很多博主的博文教程,自己也跟着教程走了一遍。参考的是http://kylen314.blog.com/2013/10/01/scrrapy_note1/ 这个博主的博文。内容通俗易懂,但是首先要先在电脑上安装一个scrapy。根据网上介绍,它是一个很流弊的爬虫框架,在网上有...
阅读全文
posted @
2014-04-03 16:27
shouchengcheng
阅读(353)
推荐(0)
网络爬虫概念
摘要:最近在浏览网页的时候,无意中看到一个词“爬虫”。最简单的就是将网页页面直接保存下来,这时候得到的是一个html文件。聚焦爬虫工作原理网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过...
阅读全文
posted @
2014-04-03 09:47
shouchengcheng
阅读(570)
推荐(0)
Linux驱动程序学习备忘之五
摘要:驱动中的内存分配#include void *kmalloc(size_t size, int flags);这个函数是内核中使用的malloc特点就是1)速度快2)不清零,分配的区仍然持有它原来的内容3)物理内存中连续4)用于分配的小内存,不能用于分配大内存5)使用kfree释放分配的内存#inc...
阅读全文
posted @
2014-04-02 18:06
shouchengcheng
阅读(290)
推荐(0)
Linux驱动程序学习备忘之四
摘要:继续向后面学习,接下去要看的就是阻塞和非阻塞编程。我在书上看到这么一段程序,但我觉得好像哪里有点不对。最后看过内核源代码后才豁然开朗。主要是down_interruptible()这个函数,网上普遍的解释如下 int down_interruptible(struct semaphore *sem)...
阅读全文
posted @
2014-04-02 15:13
shouchengcheng
阅读(360)
推荐(0)
Linux驱动程序学习备忘之三
摘要:##驱动程序中的并发控制##当一段驱动程序的代码同时被多个进程使用到时,这时就要考虑并发了。控制并发的最好手段就是使用信号量,即在任何一个给定的时间,只有一个可执行的线程可以执行这段代码。在Linux中这被称之为临界操作。是使用信号量和P、V操作来保护临界区的。P操作:信号量减一V操作:信号量加一其...
阅读全文
posted @
2014-04-02 11:23
shouchengcheng
阅读(214)
推荐(0)
CC2500 pcb调试记录
摘要:由于种种原因,自己画了一块msp430控制cc2500的板子。在布板的时候听到各种射频,高频,信号完整性等等,让我布这么一块小板的时候战战兢兢,深怕一个不小心,弄成完全通不了。本人没有任何射频,高频基础,一般自己布的板子都是低频,走线什么,完全不需要很考究。这次完全按照ti的参考手册来,原理图用的是...
阅读全文
posted @
2014-04-01 17:41
shouchengcheng
阅读(896)
推荐(0)
Linux驱动程序学习备忘之二
摘要:前面举了一个HelloWorld的例子。在实际字符设备驱动编写中还要加入好多东西。首先要确定的就是主设备号和次设备号主设备号用于区分是否为同一类,次设备号用于区分是否为同一个。在Documentation/devices.txt中有对预定义的设备号的说明。内核用32bit来表示设备号typedef ...
阅读全文
posted @
2014-04-01 17:17
shouchengcheng
阅读(279)
推荐(0)
Linux驱动程序学习备忘之一
摘要:以前断断续续也看过一些linux驱动程序的内容,只知道这个很高深东西。也想过学习一下,但是来来回回,始终实在HelloWorld阶段,话说这个HelloWorld模块已经被我写了n遍了。汗终于我决心要系统的走一边这个流程,于是周末去图书馆借了一本讲嵌入式驱动的书,《深入浅出嵌入式底层软件开发》主要从...
阅读全文
posted @
2014-04-01 14:39
shouchengcheng
阅读(275)
推荐(0)