基于Linux-C 的测试程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于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 的命令,如下图

技术分享

以上是关于基于Linux-C 的测试程序的主要内容,如果未能解决你的问题,请参考以下文章

分享iTOP-iMX6UL开发板驱动看门狗 watchdog 以及 Linux-c 测试例程

嵌入式Linux-C01 嵌入式LinuxC语言编程的概念

嵌入式Linux-C01 嵌入式LinuxC语言编程的概念

linux重新开始学习

linux-c/c++调试利器gdbddd小试

Linux-c编程实现简单的cp命令