移植librt库到uclinux

     最近一个ARM7+uClinux项目需用到定时器,但定时精度要求不是很高。所以想到了LibRT库。Librt库实现的POSIX 100b.3标准的定时器和消息队列接口,在Linux 2.6内核中已普遍支持,部分后期2.4内核版本也已补丁形式提供了librt库。

    

    uClinux 2.4.x 并未提供现成的Librt库,虽然uClibc0.9.7提供了Librt库,但由于2.4内核的不支持,也无法直接使用。网上查阅了很多资料也没有找到针对uclinux的POSIX timer补丁。考虑到uClinux源于Linux,利用Linux 的posix timer patch给uclinux打上,使uclinux 2.4内核也支持posix timer。从而使librt库能在uclinux 2.4下使用。

      以下是librt 简要移植步骤。

     

      1.从 http://home.concepts-ict.nl/~rhdv/posix.html,下载Posix Timer Patch.选较新的Linux 2.4.8版本的。很遗憾,我的uclinux 2.4内核版本是2.4.x的(x>16),而且目录结构不同,不能直接使用patch命令直接给内核打补丁。 呵,patch补丁是使用‘diff’制作的,当然也可以根据补丁内容纯手工修改文件咯。由于我是ARM平台(nommu),所以只修改linux2.4.x/arch/下的arm和armnmmu目录就行了。(当然我现在利用修改后的结果可以制作出针对uclinux 2.4.x的patch文件了)

 

      2.下载uclibc0.9.7,重新编译librt库得到librt.a静态库。记得make config时配置系统Include路径要修改到uclinux/linux2.4.x下。

 

      3.使用patch后的内核和编译出的librt.a,就可以在uclinux上做Real-time的应用开发了。如果是对定时器精度要求很高的场合,可以考虑移植HRT,soureforge上有相应的开源。

 

      需要Posix Timer Patch for uClinux 2.4和librt.a的朋友,可以跟贴。详细的补丁和librt库编译过程就不方便公布了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值