书白的个人空间 https://www.eechina.com/space-uid-134862.html [收藏] [复制] [RSS]

博客

嵌入式开发 iTOP-4412 迅为开发板ANROID系统的烧写方法分享

已有 1273 次阅读2017-2-8 10:02 | 嵌入式开发, 迅为开发板, ANROID系统的烧写

在默认安装的Android系统中,可以使用简单的c语言来控制GPIO,这里以led为例。

编译和上传二进制文件 1.编译led测试程序, 在Ubuntu系统中,输入编译命令“arm-none-linux-gnueabi-gc***.4.1 -o ledtest ledtest.c -static”,生成ledtest可执行程序“ledtest”。 
2.拷贝二进制文件到“fastboot”目录下,上传文件到开发板的“/data”,在cmd命令行中,输入adb传文件的命令“adb push ledtest /data”。



运行测试
1.修改权限
在超级终端中,输入命令“cd /data”,输入修改权限命令“ chmod 777 ledtest”。 2.测试 在超级终端中可以使用以下两组命令,控制小灯的亮和灭。 使用命令“./ledtest 0”运行程序,小灯灭。 使用命令“./ledtest 1”运行程序,小灯亮。 
C测试代码 ledtest.c 
#include <stdio.h>
#include <stdlib.h>


#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>


#include <unistd.h>


#define MAX 10
void main(void)
{
        int fd,LedOnOffTimes;
        char gpio[MAX],cmd[MAX];
        char *leds = "/dev/leds_ctl";
        LedOnOffTimes = MAX;
        
        printf("leds light on and off 5 times \r\n");


        
        if((fd = open(leds, O_RDWR|O_NOCTTY|O_NDELAY))<0)
        printf("open %s failed\n",leds);   
        else
        {        
            printf("open %s success\r\n",leds);
                while(LedOnOffTimes--)
                {
                        printf("ioctl leds %d times\n",LedOnOffTimes);
                        ioctl(fd,0,0);        //parameter 2 is cmd ,cmd = 1 leds on
                        ioctl(fd,0,1);
                        sleep(1);
                        ioctl(fd,1,0);
                        ioctl(fd,1,1);
                        sleep(1);                
                }
    }
        close(fd);
}
 


编译图片

详情了解:http://topeetboard.com  更多了解:https://arm-board.taobao.com


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部