首页 / 安卓 / 安卓移植和驱动开发第七章心得体会
安卓移植和驱动开发第七章心得体会
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了安卓移植和驱动开发第七章心得体会,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1166字,纯文字阅读大概需要2分钟。
内容图文
第七章 Led为我闪烁
尽管 Linux 驱动直接与硬件打交道,但并不是 Linux 驱动直接向硬件中的内存写数据, 而是与本机的内存(νO Memory,位于内核空间〉进行交互。所谓 1/0 内存是通过各种接口(PCI、USB、蓝牙、以太网口等〉连接到主机( PC、手机〉的硬件〈网卡。声卡、摄像头等〉在主机内 存中的映射。例如,在 Ubuntu Linux 上运行的驱动只需要访问运行 Ubuntu Linux 的主机中的内存即可,然后Linux内核会利1/0内存中的数据硬件交互。
如果在不同Linux内核版本之间的移植,主要是移植第1 部分( Linux驱动的内部处理,一般Linux 内核版本相差较大时,Linux内核的APl 会有很大差别),如果在不同硬件平台(如在不同开发板之间的移植)的移植,主要是移植第2部分。当然,在一些情况不, Linux 驱动的移植基本上相当于重新编写一遍Linux 驱动,在这种情况下,就要更好地了解Linux 驱动的高级技术,在后面的章节将深入地介绍Linux 驱动的这些技术,以便读者可以驾轻就熟地编写Linux 驱动。1.创建LED驱动的设备文件
使用cdev_init函数初始化cdev;指定设备号 ;Linux设备文件的设备号分为主设备号和次设备号,前12位主设备号,后20位表示次设备号。设备号指定方法:直接在代码中指定(硬编码),动态分配,多个Linux设备文件可以拥有同一个主设备号。但两个设备的主设备号和次设备号不都能一样。使用cdev_add函数将字符设备添加到内核中德字符设备数组中。使用class_create宏创建struct class。使用device_create函数创建设备文件
2.卸载Led驱动的设备文件
依次调用三个方法:
Void device_destroy(struct class *class,dev_t devt)
Void class_destroy(struct class *cls)
Void unregister_chrdev_region(dev_t from,unsigned count)
3.设置寄存器与初始化LED驱动
4.控制LED
通过字符串控制LED;通过I/O命令控制LED
5.LED驱动的模块参数
如果Linux驱动中有多个模块参数,需要将这些参数用单引号或双引号括起来
LED 驱动可以使用如下两种方式控制:LED通过字符串控制;通过命令控制LED。在将LED灯代码编写完成后,然后进行LED灯的测试。也可以使用JAVA测试LED灯驱动。测试完成后可以将LED灯移植。
原文:http://www.cnblogs.com/suntao123/p/5561532.html
内容总结
以上是互联网集市为您收集整理的安卓移植和驱动开发第七章心得体会全部内容,希望文章能够帮你解决安卓移植和驱动开发第七章心得体会所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。