接着上面《嵌入式Linux驱动之一》
下面编译$ gcc -O2 -DMODULE -D__KERNEL__ -c test.c得到文件test.o就是一个设备驱动程序。如果设备驱动程序有多个文件,把每个文件按上面的命令行编译,然后ld -r file1.o file2.o -o modulename.驱动程序已经编译好了,现在把它安装到系统中去。$ insmod -f test.o如果安装成功,在/proc/devices文件中就可以看到设备test,并可以看到它的主设备号,。要卸载的话,运行$ rmmod test下一步要创建设备文件。mknod /dev/test c major minorc 是指字符设备,major是主设备号,就是在/proc/devices里看到的。用shell命令$ cat /proc/devices | awk "\$2=="test" {print \$1}"就可以获得主设备号,可以把上面的命令行加入你的shell script中去。minor是从设备号,设置成0就可以了。我们现在可以通过设备文件来访问我们的驱动程序。写一个小小的测试程序。#include #include #include #include main(){int testdev;int i;char buf[10];testdev = open("/dev/test",O_RDWR);if ( testdev == -1 ){printf("Cann''t open file ");exit(0);}read(testdev,buf,10);for (i = 0; i printf("%d ...

>> 阅读全文

嵌入式Linux软件工程师周末培训班
培训班目
近几年嵌入式软件行业发展迅猛,嵌入式产品渗入各个行业,如手机、PDA、机顶盒、高清电视、汽车电子、数码相机、航天航空设备等都是典型的嵌入式系统,嵌入式开发已经成为当前最热门、最有发展前途的行业之一。行业调查发现,目前嵌入式行业至少存在30-50万的专业人才缺口,仅深圳市嵌入式软件开发人员的需求就已经超过了5万人,而且还在持续增加。
培训模式
通过近72个课时的培训,学员可以熟练掌握Linux基本命令、在Linux环境下进行C语言程序开发、独立完成创建Linux交叉编译环境、熟悉建立Bootloader的过程、掌握在ARM9硬件平台上移植Linux内核、建立Rootfs等文件系统、熟悉Linux设备驱动程序的开发和Linux网络编程以及GUI应用程序的开发。 经过这些内容的学习和实践,学员将基本上可以从事嵌入式Linux产品的软件开发工作,完成从一个嵌入式Linux技术生手到熟手的转变,并对电子产品的设计方法和流程有较深入地了解和掌握。
学员收益
2 课程采用 “理论讲解+课堂实验+项目实战”的教学模式。在培训课程中我们将理论内容和操作实验相结合,使学员达到能进行实...

>> 阅读全文

Linux是Unix操作系统的一种变种,在Linux下编写驱动程序的原理和思想完全类似于其他的Unix系统,但它dos或window环境下的驱动程序有很大的区别.在Linux环境下设计驱动程序,思想简洁,操作方便,功能也很强大,但是支持函数少,只能依赖kernel中的函数,有些常用的操作要自己来编写,而且调试也不方便.本人这几周来为实验室自行研制的一块多媒体卡编制了驱动程序,获得了一些经验,愿与Linux fans共享,有不当之处,请予指正.以下的一些文字主要来源于khg,johnsonm的Write linux device driver,Brennan''s Guide to Inline Assembly,The Linux A-Z,还有清华BBS上的有关device driver的一些资料. 这些资料有的已经过时,有的还有一些错误,我依据自己的试验结果进行了修正.一. Linux device driver 的概念系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口.设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件, 应用程序可以象操作普通文件一样对硬件设备进行操作.设备驱动程序是内核的一部分,它完成以下的功能:1.对设备初始化和释放.2.把数据从内核传送到硬件和从硬件读取数据.3.读取应用程序传送给设备文件...

>> 阅读全文

内容提要?嵌入式操作系统简介?VxWorks简介?μC/OS II简介?WinCE简介?μCLinux简介
何为嵌入式系统?
嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。
嵌入式实时多任务操作系统
实时多任务操作系统(Real Time Operating System)是根据操作系统的工作特性而言的。实时是指物理进程的真实时间。实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。对于分时操作系统,软件的执行在时间上的要求,并不严格,时间上的错误,一般不会造成灾难性的后果。实时操作系统的重要特点是具有系统的可确定性,即系统能对运行情况的最好和最坏等的情况能做出精确的估计。
实时操作系统的需求
实时操作系统一定要保证各类实时进程的正确运行–周期运行的实时进程–非周期的实时进程–不同优先级的实...

>> 阅读全文


#
课程单元
主要内容
授课时间
第一课
1
Linux操作系统基础
1. 介绍Linux操作系统的基本知识,包括发展概述,目前应用情况,技术优势和特点等。
2. Linux系统的安装准备,Linux文件系统。
实验内容:安装Linux操作系统
第二课
2
Linux基本命令
1. Linux常用操作命令,包括用户系统相关命令,文件目录相关命令,压缩打包相关命令,网络相关命令等。
2. Linux启动过程详解
3. Linux系统服务
实验内容:Linux系统常用命令操作
第三课
3
Linux下C编程基础
1. C语言编程概述
2. Vi等编辑工具使用
3. Gcc和GDB的使用
4. Make工程管理器
实验内容:Vi使用,用GDB调试程序,编写简单的Makefile
第四课
4
嵌入式系统和ARM介绍
1. 嵌入式系统概述
2. ARM硬件平台介绍,ARM处理器体系结构
3. 嵌入式软件开发...

>> 阅读全文

北京大学深圳SOC重点实验室免费公开课系列
嵌入式Linux讲座(第一期)
课程目标
本课程是帮助初学者快速了解嵌入式开发的入门培训课程,使学员能快速熟悉Linux系统和各种常用命令,以及如何使用Linux应用产品开发。同时与嵌入式高级工程师和北京大学嵌入式软件教学老师面对面交流。
培养对象
有志从事Linux内核开发/Linux驱动开发/嵌入式开发的,但无Linux基础的工程师或学生。
入学要求
◆有计算机相关基础知识;◆有C语言基础。
时间地点
上课地点:深圳市南山区西丽镇丽水路大学城北大校区
世界之窗坐43路车到北大园区下车
或者坐车到西丽医院东,再转车43路到北大园区
上课时间: 2008年9月13日 (下午:14:00~17:00)
每期班限额30名,请填写报名表并电话预约确认。
学时费用
◆ 课时: 半天
◆ 培训费:免费
● 联系方式
1. 联系人:吴老师
2. 在线咨询QQ:540816349
MSN: allen.woo@hotmail.com
3. 报名咨询电话:0755...

>> 阅读全文

Q:什么是嵌入式系统?
国际电气和电子工程师协会(IEEE)对嵌入式系统的定义是这样的:嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。 但是这个定义非常的难于理解——句子的主干:“嵌入式系统是装置”——并且不太会被计算机行业的人士接受,为什么呢?因为做出这个定义的组织是IEEE,是搞电子的一群人,在他们眼里,当然是Device比较重要。Google一下,还可以找到另外一个定义,我觉得这个定义是比较不错的: 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。 这样句子的主干就成了“嵌入式系统是计算机系统”。我们可以通过上面的定义,挖掘嵌入式系统的三个特点: (1) 嵌入性:由于是嵌入到对象系统中,必须满足对象系统的环境要求,如物理环境(小型)、电气/气氛环境(可靠)、成本(价廉)等要求。通俗一点说,嵌入式系统通常需要与某些特定的应用领域紧密结合。 (2) 专用性:软、硬件的裁剪性;满足对象要求的最小软、硬件配置等。...

>> 阅读全文

嵌入式Linux操作系统学习规划ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2)必须掌握一个嵌入式操作系统(初步定为uclinux或linux,版本待定)(3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。从事嵌入式软件开发的好处是:(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。(4)兴趣所在,这是最主要的。从事嵌入式软件开发的缺点是:(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。(2)这方面的企业数量要远少于企业计算类企业。(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多...

>> 阅读全文