当前位置:资讯 > 嵌入式系统 > 正文

基于ARM的嵌入式设备中uCLinux系统开发

发布时间:2006-09-21     作者:高荣山 张颜岭      

摘要:    信息家电和手持设备大大加速了嵌入式系统的发展,而ARM体系32位高性能、低功耗处理器和嵌入式操作系统Linux无疑成为佼佼者。因为Linux源代码开放、免费,任何将其定制于PDA、掌上机或者便携式设备感兴趣的人都可以从因特网免费下载其内核和应用程序,并开始移植或开发,所以Linux在嵌入式开发领域得到稳步发展。uCLinux 即是目前嵌入式linux 中最流行的一种,它是针对微控制领域而设计的Linux系统,其最大特征就是没有MMU(内存管理单元模块),适合嵌入式系统小型化应用。
过中断实现。驱动程序被调用时CPU由内核程序控制控制工程网版权所有,故不可抢占,驱动程序必须调用sleep_on()函数释放对CPU的占用,在中断服务子程序将数据复制到内核内核后,再发出wake_up()调用。
    字符设备如LCD、USB应用广泛,下面以此为例详细说明添加设备驱动的过程。设备名称为scre,设备号为254。块设备与网络设备可以比照处理。
    在目录/linux_2.4/drives/char编写源程序scre.c,编写字符设备的处理函数。
1.设备驱动原文件必须包括这样的一个函数:
    void scre_init(void){register(254www.cechina.cn, 'scre', &scre_fops)} 这个函数完成注册.在linux-2.4.x/driver/mem.c 将会调用它。
2.修改 linux-2.4.x/driver/char/Makefile 在适当位置添加一行:obj_$(CONFIG_SCRE) += scre.o
3.修改linux-2.4.x/driver/char/
Config.in, 添加一行:
   bool   'scre device' CONFIG_SCRE,便于在 make menuconfig 时选择
4.修改linux-2.4.x/driver/char/mem.c ,在适当位置(你去找就会发现,在文件头部)添加:
#ifdef CONFIG_SCRE
       extern void scre_init(void);
      #endif
     在chr_dev_init()函数添加:
      #ifdef CONFIG_SCRE
         scre_init();
      #endif  
5. 修改vendor/Samsung/4510b/Makefile ,建立设备节点;在12---35行间,DEVICE 部分添加如下内容 :scre,c,254www.cechina.cn,0 。
6.make menuconfig 选中scre device,编译,下载;启动后你会看到 /proc/devices 中字符设备多了一项 scre 254 。
    uClinux的Web技术,主要有三个Web服务器:httpd,thttpd和boa。Httpd简单,但只能Web浏览,不支持认证、CGI,thttpd和boa Web服务器功能较全;而boa Web代码简单、速度快,适合嵌入式应用。Boa作为一个简单的http服务器,与传统服务器的主要区别是它是单进程的。boa在uClinux下的实现需要对boa.conf和mime.types作一些配置和修改,并且需在命令行指定配置文件所在目录。配置完成后需要重新编译内核,并选中boa选项CONTROL ENGINEERING China版权所有,将编译好的内核下载到开发板,启动uClinux,完成IP设置,启动boa Web后便可通过IE访问网页了。
5 结语
    uClinux在嵌入式领域凭借其稳定、良好的移植性,优秀的网络功能,灵活完备的文件系统以及众多的技术支持等优点得到广泛应用,并将有更广阔的应用前景。本文针对uClinux的开发应用步骤作了大致的阐述,对ARM应用平台上的系统移植和应用开发作了分析,具有一定的指导意义。
参考文献
[1].刘安昱 温晓辉 刘志红,基于S3C44B0X的uClinux的移植,《单片机与嵌入式系统应用》[J]2003.12.
[2].徐雪松等,基于嵌入式Linux的DiskOnChip设备的驱动开发实现www.cechina.cn,《电子设计应用》[J]2003.12
[3].Linux on module project-Lom ARM7 ,www.lomx.net.
[4].朱珂等译CONTROL ENGINEERING China版权所有,《Linux编程白皮书》[M],机械工业出版社,2000.
[5].赵炯,《Linux内核完全注释(内核版本0.11)》[M],2003





























标签:ARM,uCLinux系统,程序,内核,嵌入式设备,
版权声明:版权归中国控制工程网所有,转载请注明出处!