最近要做无线监测方面的项目,是从 labview 转成 LabWindowsCVI,公司组织了一个嵌入式开发的培训,这位培训讲师是电子科大从事嵌入式开发多年的一位教授,以下就是在听课时做的笔记,如有什么地方有误还请各位指出,在此先谢过了。
嵌入式开发的linux版本有:read hat linux、rtlinux、uclinux、monta vista hard hat linux等。
网上标准linux源代码的包:arch(对各种cpu的支持,内存管理,boot,pci等)、block、erypto(加密算法)、drivers、fs、include、init、kernel、net、mm
数据结构 file_operations
所有驱动程序入口 init_module()
驱动程序分类分类:字符型、块型、网络
设备分件:文件类型、主设备号、次设备号、使用mknod来创建设备分件
字符驱动程序:register_chrdev函数进行注册 unregister_chrdev函数进行卸载
块驱动程序:register_blkdev注册 unregister_blkdev卸载
block_device_operations来注册该设备的相应操作
内核树www.kernel.org 最新内核2.6
内核解压。
配置内核(裁剪内核) make menuconfig
编译内核 make zImage(bzImage) 其中zImage为编译后小于1M bzImage为编译后大于1M
依赖性检测 make dep
驱动程序的编译 make modules
linux是严格按照OSI体系结构
gcc inline()内链函数
linux支持ram(虚拟)文件系统,将一个文件虚拟为一个文件系统,可以手工制作,也可以用busybox类型工具来制做
声音采集
/dev/dsp 数字样本
/dev/mixer 混合音器
/dev/audio 声音设备
如果需要定时钟1MS,标准LINUX是不可能的,因为标准LINUX的时钟为10MS,要实现需要修改标准LINUX,打rtlinux补丁
虚拟文件系统必有:bin,dev,etc,lib,sbin
文本编辑命令有:
kate
vi
ismod .....ko安装驱动程序
makenod 创建设备文件
make.ext3 目录 格式华成ext3格式