安卓4-0-4 armA8 LED驱动
来源:互联网 发布:南京听说科技软件下载 编辑:程序博客网 时间:2024/06/07 08:46
写LED驱动遇到的问题
分为led_test.cAndroid.mk
led.c
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<asm/types.h>
#include<linux/fb.h>
#include<linux/kernel.h>
#include<linux/fs.h>
#include<fcntl.h>
#include<string.h>
#include<unistd.h>
#include<sys/mman.h>
#include<sys/poll.h>
#defineDEV_FILE_NAME "/dev/led" //驱动提供
/*应用程序执行ioctl(fd,cmd, arg)时的第2个参数*/
#defineIOCTL_GPIO_ON 1 //驱动提供,表示亮
#defineIOCTL_GPIO_OFF 0 //驱动提供,表示灭
#defineLED1 1 //对应硬件上的led1,驱动提供
#defineLED2 2 //对应硬件上的led2,驱动提供
intmain(void)
{
intdevfd;
inti,err;
devfd= open(DEV_FILE_NAME,O_RDWR); //打开设备,权限是谱写,对应会调用驱动跌tq210_gpio_open
if(devfd< 0) //失败返回小于0,成功返回大于0,这只是一个句柄,无须太多关心它的实际意义
{
printf("can'topen dev (%s)",DEV_FILE_NAME);
return0;
}
for(i=0;i<10;++i)
{
err=ioctl(devfd,IOCTL_GPIO_ON,LED2);//控制LED1亮,ioctl与tq210_gpio_ioctl中的第2,3个参数是对应的
if(err<0)
printf("GPIO_ONfaild! (%d)\n",err);
sleep(1); //休眠1S
err= ioctl(devfd,IOCTL_GPIO_OFF,LED2);//关闭LED1。
if(err<0)
printf("GPIO_OFFfaild! (%d)\n",err);
sleep(1); //休眠1S
}
close(devfd);//关闭设备。对应驱动中的tq210_gpio_close
return0;
}
android.mk
LOCAL_PATH:=$(call my-dir)
include$(CLEAR_VARS)
#使用的源文件
LOCAL_SRC_FILES:=\
led_test.c
LOCAL_CFLAGS:=-O2-g
#LOCAL_CFLAGS+=-DLINUX
LOCAL_MODULE_TAGS:= eng
LOCAL_MODULE_PATH:= $(TARGET_OUT_OPTIONAL_EXECUTABLES)
#生成的对像
LOCAL_MODULE:=ledapp
include$(BUILD_EXECUTABLE)
接着使用mmm命令编译 在out里边找到ledapp
a在PC的终端中运行命令:sourcebuild/envsetup.sh建立环境
b运行命令:exportTARGET_PRODUCT=full_tq210设置平台,注意这个名字要与编译文件系统时的名
字是一样的。(这里是full_tq210)
c运 行 命令:mmm (模块 所 在 的 目 录 ),就 可以 编 译 出 您 所 需 要 的 模 块 了 。 这 里 使 用 目录 是
external/ledApi,所以应该是mmmexternal/ledApi
在win7下打不开可移动磁盘我用的是360软件助手把ledapp放入对应路径。
下载安卓终端模拟器
#cdSystem/xbin
chmod777 ledapp(给ledapp权限)
#./ledapp
- 安卓4-0-4 armA8 LED驱动
- 安卓LED驱动开发体验
- 2-4 LED驱动实例
- 安卓驱动开发之-(一)LED初体验
- 4-安卓底层-HAL层-实现安卓控制LED
- LED驱动实例4(mmap)
- 驱动学习4--led静态映射
- 安卓驱动开发之-(二)硬件服务访问LED
- 基于全志A33的LED驱动开发,安卓6.0.1平台
- 4种LED日光灯驱动方案优缺点分析
- 基于linux2.6.30.4的s3c2440的led字符驱动
- (五)4 写个简单的LED驱动
- led驱动
- led驱动
- led驱动
- LED驱动
- led驱动
- LED驱动
- 最长公共子序列
- Android 使用URL下载图片到本地并显示
- 合并两个排序的链表[剑指offer]之python实现
- 理解伪元素 :before 和 :after
- KNN算法
- 安卓4-0-4 armA8 LED驱动
- UVA 6907 Body Building Tarjan找桥
- 什么是软件测试?
- leetcode_191. Number of 1 Bits 二进制表示中1的个数 ,位运算的应用,按位与&
- hdu1272小希的迷宫
- POJ 2996Help Me with the Game(模拟)
- angularjs项目需要从一个页面跳转到另一个页面,同时需要传递一个参数。
- Android 动画之补间动画
- prim算法 伪代码