zoukankan      html  css  js  c++  java
  • 第七章 LED将为我闪烁:控制发光二极管

    LED驱动的移植:Android系统能否正常运行,很大程度上取决于Android能否识别当前设备的硬件,识别工作主要由Linux驱动完成。而Linux驱动必须要在当前使用的Linux内核编译才可安装在当前的Linux或Android系统中。LED驱动最简单的移植就是将其在不同的Linux内核版本下进行编译。若Linux驱动使用的API在移植目标Linux内核未发生改变,只需重新编译Linux驱动的源代码就可轻松地将Linux驱动从一个Linux内核移植到另一个Linux内核,但大多数情况并非如此。由于LED驱动未调用太多的Linux内核API,这些API在更新的Linux内核被去掉或修改的可能性不大,因此,将LED驱动移植到更新的Linux内核是一般只需在新内核下重新编译即可。LED驱动是通过设置GPMDAT寄存器来控制LED的亮灭。若要将LED驱动移植到另外基于S3C6410的开发板上,而目标开发板上与原开发板的GPMDAT寄存器的低4位含义相反,则LED驱动的代码要做相应的改变。首先要改变leds_init(),在LED驱动装载后,会用0xE设置4个LED的默认状态,新的开发板上就变成0x1。然后需要修改控制LED的代码,用于发送控制字符串,需将生成开关LED的代码互换位置,LED驱动中其他的类似的代码也可采用同样的方法修改。按照目标开发板的说明书修改LED驱动的代码,并在新的Linux内核下重新编译后,可安装在目标开发板上了。移植Linux驱动最重要的是在修改Linux驱动的源代码时,应尽量不修改Linux驱动的接口。如果修改if语句本身,就意味着LED驱动的接口变化了,这样所有调用Linux驱动的程序都需进行修改,会造成不必要的麻烦。

  • 相关阅读:
    IE6 兼容问题总结
    WPF 带CheckBox、图标的TreeView
    Fast Report Data Filter
    【转】NHibernate入门教程
    【转】Spring.NET学习笔记——目录
    【转】.Net中通过反射技术的应用----插件程序的开发入门
    【转】ASP.NET常用数据绑定控件优劣总结
    【转】通用分页用户控件(DataGrid,DataList,Repeater都可以用它来分页)
    【转】ASP.NET MVC教程
    【转】设计模式介绍
  • 原文地址:https://www.cnblogs.com/mch0dm1n/p/5562767.html
Copyright © 2011-2022 走看看