iTOP-4412 开发板可以运行的文件系统很多,在具体的文件系统上实现特定功能前,可
以使用 Linux-C 程序来测试硬件以及驱动。而且这些程序很容易移植到 Android、Qt/E 以及
最小文件系统上。
特别提醒:Linux-C 程序是跨平台的,只要按照下面介绍的方法去编译,就可以将 Linux-
C 的程序和 Android 系统一起运行,使用 Linux-C 的程序测试我们关注的内容。本质上,我们
可以这样理解,Android 只是一个大的文件而已,以下面第一个 helloworld 为例,Linux 内核上
运行着两个程序“helloworld”+“Android”。
Linux-C 的测试程序源码和可执行程序在网盘目录“iTOP4412 开发板资料汇总(不含光盘
内容)\iTOP-4412 开发板系统源码及镜像(其他)\小模块的测试程序”下。
8.1 测试程序的编译和运行
8.1.1 编译环境的设置
C 程序的应用程序在 Android 上运行,使用的编译器是 gcc4.4.1。编译器的安装方法参
考第五章。
如下图所示,修改环境变量。
修改完之后,更新一下环境变量,如下图
如下图所示,输入“arm”,然后按“TAB”键,会显示后面需要用到的编译器“arm-
none-linux-gnueabi-gcc-4.4.1”。
8.1.2 编译 helloworld
程序 helloworld.c 的源码如下。
编译 helloworld 程序,输入命令“arm-none-linux-gnueabi-gcc-4.4.1 -o helloworld
helloworld.c -static”,如下图所示。
如下图,生成可执行文件 helloworld。
8.1.3 上传 helloworld 到开发板
开发板运行出厂自带的 Android4.0.3 系统,连接串口控制台,启动开发板,Android 运
行之后接上 OTG 线。
将可执行文件 helloworld 拷贝到 fastboot 烧写目录中,如下图所示,这个目录是烧写
fastboot 工具所在的目录。fastboot 工具的使用方法参考 3.6 小节。
开发板的 Android 系统运行稳定后,将 OTG 接口和电脑的 USB 连接,打开
“USB_fastboot_tool\platform-tools”目录中的“cmd.exe”,如下图所示。
如下图所示,输入命令“adb push helloworld /data”,将程序上传到开发板的
“/data”目录中。
当然也可以通过手机助手、TF 卡或者 U 盘来上传可执行文件 helloworld。
8.1.4 修改程序权限和运行 helloworld
如下图所示,在超级终端中,输入“cd /data”进入"/data"目录,使用“chmod 777
helloworld”修改权限,最后输入命令“./helloworld”运行程序。超级终端中会打印出
“Hello world!”,表明程序运行成功。
除了通过控制台修改权限和运行程序,还可以通过 adb 控制台修改权限和运行程序。如
下图所示,上传 helloworld 程序之后,使用命令“adb shell”打开 adb 命令行(更多 adb
命令参考 3.6.4 小节),使用“cd /data”进入 helloworld 程序上传目录“/data”,使用命
令“chmod 777 helloworld”修改权限,接着使用“./helloworld”运行 helloworld 可执行
程序。可以看到 adb 控制台打印“Hello World!”。
后面的测试可以使用串口控制台运行程序,也可以使用 adb 命令运行程序。