在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以其小巧,灵活.方 ...
随机推荐
- 解决mysql出现“the table is full”的问题
解决mysql出现“the table is full”的问题 2010-12-20 09:15:17 分类: LINUX 今天中午收到mysql错误日志监控发来的警报,错误日志如下: 101209 ...
- Bootstrap页面布局23 - BS折叠内容
<div class='container-fluid'> <h3 class='page-header'>Bootstrap 折叠内容</h3> <!--如 ...
- Class Abstraction -- Object Interfaces
<?php /* PHP 5 introduces abstract classes and methods. Classes defined as abstract may not be in ...
- nrf51822-广播模式
解决以下几个问题: 1 SDK9 中的几种广播模型 2 广播超时如何进入睡眠 3 如何取消广播超时睡眠使其可以无限广播. 1 SDK9 中的几种广播模型 Nordci SDK对于广播方面有一个模块.这 ...
- WeakHashMap 理解笔记
An entry in a WeakHashMap will automatically be removed when its key is no longer in ordinary use. M ...
- 利用堆排序找出数组中前n大的元素
#include <stdio.h> #include <stdint.h> #include <stdlib.h> #include <time.h> ...
- HTML5新标签和属性
1.<time>标签(支持IE9以上和其他浏览器) 今年是<time datetime="2015-12-12">2015年</time> &l ...
- MongoDB直接执行js脚本
有时候很大一段命令要执行,中间有错就得重新写,这样超麻烦的,不妨存放于js文件里,然后通过shell命令执行,重复利用率高,修改方便. 比如创建test.js print('=========WECO ...
- [Stanford 2011] 知识点小结
1.获得帮助:option+click / option+double click 2.@property里的nonatomic,表示非原子性访问,atomic是obj-c里使用的一种线程保护技术, ...
- Magento订单打印(pdf格式)
Magento自身包含有:打印发票单,打印装箱单,打印退款单.这些都是基于西方国家的习惯来布置的.公司有个需求就是打印订单的四联单,PDF格式的,要一周内完成.刚接到这个任务时,觉得头大,因为对于PH ...