在Android平台下的基于Linux-C 的测试程序
iTOP-4412 开发板可以运行的文件系统很多,在具体的文件系统上实现特定功能前,可以 使用Linux-C 程序来测试硬件以及驱动。而且这些程序很容易移植到Android、Qt/E 以及最小文件系统上。
1. 编译环境的设置
本质上其实可以理解为,Android 只是一个大的文件而已,在Linux 内核上运行着两个程序“helloworld”+“Android”。 C 程序的应用程序在Android 上运行,使用的编译器是gcc4.4.1。
在上面的开发环境全部搭建好以后,首先修改环境变量,如下图

修改完之后,更新一下环境变量,如下图。

输入“arm”,然后按“TAB”键,会显示后面需要用到的编译器“arm-none-linux-gnueabi-gcc-4.4.1”,如下图所示

2.编译helloworld
程序helloworld.c 的源码如下:

编译hellworld 程序,输入命令“arm-none-linux-gnueabi-gcc-4.4.1 -o helloworld hello.c -static”,并且生成了可执行文件helloworld,如下图所示。

3.上传helloworld 到开发板
将可执行文件helloworld 拷贝到fastboot 烧写目录中,如下图所示,这个目录是烧写fastboot 工具所在的目录。

开发板的Android 系统运行稳定后,将OTG 接口和电脑的USB 连接,打开“USB_fastboot_tool\platform-tools”目录中的“cmd.exe”,如下图所示。

如下图所示,输入命令“adb push helloworld /data”,将程序上传到开发板的“/data”目录中。

4.修改程序权限和运行helloworld
由于我的用的笔记本没有串口,而开发板必需要通过USB转串口的转接头才能正常连接到笔记本,所以这里我只能采用登陆开发板的shell来直接对开发版的安卓文件系统进行操作。
adb 全称是Android Debug Bridge,是android sdk 里的一个工具。它可以用来安装/卸载安卓的应用,上传/下载文件等。当然,如果要用ADB 命令和开发板交互,那么开发板一定要在文件系统模式,也就是开发板必须运行安卓操作系统,并且安卓文件系统必须完全启动。登录开发板Android 设备的shell,如下图所示。

登录后,很多基本命令都是和Linux 的命令类似,在Windows命令行中,输入命令,例如:ls,cd 等。如下图所示

我们可以看到刚才上传的helloworld在/data这个文件夹里。然后修改文件“helloworld”的权限,如下图

运行“helloworld”程序。在Windows 命令行中,输入命令 ./helloworld

可以看到刚才编译的可执行文件在这里的运行结果。
5.退出安卓shell
在Windows 命令行中,输入命令exit,来执行退出安卓shell 的命令,如下图

在Android平台下的基于Linux-C 的测试程序的更多相关文章
- 在Android平台下搭建PhoneGap开发环境--用HTML5开发游戏
一.在Android平台下搭建PhoneGap开发环境具体怎么搭建我这里就不详细说了,如有需要我后面再讲 . PhoneGap 官方地址有详细说明:http://www.phonegap.com. 在 ...
- 【转】Android平台下利用zxing实现二维码开发
http://www.cnblogs.com/dolphin0520/p/3355728.html 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描 ...
- 【转】Android 平台下使用 i2c-tools
原文网址:http://my.oschina.net/luoly/blog/368881 Android 平台下使用 i2c-tools Andorid 开发板为 Freescale imx6 的 S ...
- Android平台下利用zxing实现二维码开发
Android平台下利用zxing实现二维码开发 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平 ...
- Android平台下渗透测试工具大集合
Android平台下渗透测试工具大集合 分享一个google的项目,各种Android下的渗透测试工具. Ad Network Detector (1.2): http://market.androi ...
- (转)android平台下使用点九PNG技术
“点九”是andriod平台的应用软件开发里的一种特殊的图片形式,文件扩展名为:.9.png 智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向, ...
- (转载)Android平台下利用zxing实现二维码开发
Android平台下利用zxing实现二维码开发 现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平 ...
- linux /Android 平台下使用 i2c-tools
下载源码将 i2c-tools 代码下载到 Android 源码的 external 目录下 在 i2c-tools 目录下新建 Android.mk 文件,内容如下: # external/i2c- ...
- Android平台下使用lua调用Java代码经验总结
动态语言以其执行的灵活性,可配置性.方便调试能够为开发带来极大的方便.假设用好了.能够极大的提高开发的效率. 怪不得像游戏开发这样复杂的软件开发里没有不集成脚本语言的. 当中,lua以其小巧,灵活.方 ...
随机推荐
- Memcached 笔记与总结(6)PHP 实现 Memcached 的一致性哈希分布算法
首先创建一个接口,有 3 个方法: addServer:添加一个服务器到服务器列表中 removeServer:从服务器列表中移除一个服务器 lookup:在当前的服务器列表中找到合适的服务器存放数据 ...
- UITableview 多行删除
// RootViewController.m #import "RootViewController.h"#import "NextViewController.h& ...
- SQL查询(一)
查询基础练习 练习一: <学生信息表>:students(学号,姓名,性别,出生年,省份,入学年份,班级) <学生选修信息表>:stucourses(学号,课程号,课程名称,分 ...
- JAVA函数的返回值类型详解以及生成随机数的例题
函数的四要素:函数名.输入.输出(返回).加工. 函数分为两种:一种是有返回值得函数,一种是没有返回值的函数. 1. 定义:没有返回值的函数:(当我不需要函数的计算结果再拿出来进行运算的时候,我就不需 ...
- jira attachement directorey,workflow---extention.
workflow---extention. https://confluence.atlassian.com/jirakb/jira-miscellaneous-workflow-extensions ...
- Windows系统结合MinGW搭建软件开发环境
MinGW介绍 MinGW,即Minimalist GNU For Windows,它包含了GNU工具集的运行环境.GCC编译器工具集以及其它的GNU程序开发工具(如make.gawk.grep等等) ...
- IOS应用程序生命周期的AppDelegate详解
IOS 中的 AppDelegate.m/h 文件是很重要的呢,因为它是对 Application 的整个生命周期进行管理的. 先明白,每个iPhone应用程序都有一个UIApplication,UI ...
- Maven实战(一)安装与配置
1. 简介 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 如果你已经有十次输入同样的Ant targets来编译你的代码.jar或者w ...
- [LeetCode] Divide Two Integers( bit + 二分法 )
Divide two integers without using multiplication, division and mod operator. 常常出现大的负数,无法用abs()转换成正数的 ...
- Dynamics AX 从数据库二进制数据导出图片
// andy 2014/12/10 static void SSW_Bit2ImageFile(Args _args) { Bitmap curBitmap; Image curImage; ; c ...