在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以其小巧,灵活.方 ...
随机推荐
- linux常用命令的英文单词缩写
命令缩写: ls:list(列出目录内容) cd:Change Directory(改变目录) su:switch user 切换用户rpm:redhat package manager 红帽子打包管 ...
- ip sevices
http://www.ip138.com/ip2city.asp http://www.bliao.com/ip.phtml http://www.whereismyip.com/ http://ww ...
- web_custom_request函数详解
在LR中当使用HTML录制方式时,录制的脚本中主要由函数web_link().web_submit_form().web_url().web_submit_data()组成,当使用HTTP录制方式时, ...
- img base64
<?php header('Content-type:text/html;charset=utf-8'); //读取图片文件,转换成base64编码格式 $image_file = './429 ...
- java实现的https请求
转载并修改自 http://www.blogjava.net/etlan/archive/2006/06/29/55767.html Https请求 超文本传输协议HTTP协议:被用于在Web浏览器和 ...
- Bootstrap 路径分页标签和徽章组件
一.路径组件 路径组件也叫做面包屑导航. //面包屑导航 <ol class="breadcrumb"> <li><a href="#&qu ...
- 低功耗蓝牙4.0BLE编程-nrf51822开发(10)-描述符
特性中的属性有两种:属性值或描述符. 支持通知或指示的特性中默认有一个描述符:客户端特性配置描述符(Client Characteristic Configuration Descriptor,CCC ...
- 通过全局设置过滤器,就能让所有窗口都可移动,而不是都要继承指定QDialog
#include "appinit.h" #include <QMouseEvent> #include <QApplication> #include & ...
- 设计模式:观察者模式(Observer)
定 义:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象.这个主题对象在状态发生 变化时,会通知所有观察者对象,使他们能够自动更新自己. 结构图: 抽象主题类: abstract c ...
- 说说怎么写clean code
前两天参加了公司组织的一个培训,主题是“如何写出好的代码” ,刚看到这个主题,第一反应是又不知道是哪个培训机构来忽悠钱的!老大安排了,就去听听呗. 说实在的,课程内容没有什么新鲜的东西,就是讲讲如何发 ...