• 4418开发板基于Linuxc测试程序的编译和运行


    基于iTOP4418开发板的Linux-c的测试程序
    iTOP-4418 开发板可以运行的文件系统很多,在具体的文件系统上实现特定功能前,可以
    使用 Linux-c 程序来测试硬件以及驱动。而且这些程序很容易移植到 Android、Qt/E 以及最小
    文件系统上。
    特别提醒:Linux-c 程序是跨平台的,只要按照下面介绍的方法去编译,就可以将 Linux-c
    的程序和 Android 系统一起运行,使用 Linux-c 的程序测试我们关注的内容。本质上,我们可以
    这样理解,Android 只是一个大的文件而已,以下面第一个 helloworld 为例,Linux 内核上运行
    着两个程序“helloworld”+“Android”。
    测试代码在网盘目录“iTOP4418 开发板资料汇总(不含光盘内容)\07_iTOP-4418 开发板
    Android 应用开发环境软件以及源码\04_linux-C 测试程序”下。
    8.1 测试程序的编译和运行
    8.1.1 编译环境的设置
    C 程序的应用程序在 Android 上运行,使用的编译器是 gcc4.4.1。编译器的安装方法参考
    第五章。
    如下图所示,修改环境变量。
    <ignore_js_op> 
    修改完之后,更新一下环境变量,如下图。

    <ignore_js_op> 
    如下图所示,输入“arm”,然后按“TAB”键,会显示后面需要用到的编译器
    “arm-none-linux-gnueabi-gcc-4.4.1”。
    <ignore_js_op> 
    8.1.2 编译 helloworld
    程序 helloworld.c 的源码如下。
    <ignore_js_op> 
    编译 helloworld 程序,输入命令“arm-none-linux-gnueabi-gcc-4.4.1 -o helloworld
    helloworld.c -static”,如下图所示,生成可执行文件 helloworld。

    <ignore_js_op> 
    8.1.3 上传 helloworld 到开发板
    将可执行文件 helloworld 拷贝到 fastboot 烧写目录中,如下图所示,这个目录是烧写
    fastboot 工具所在的目录。fastboot 工具的使用方法参考 3.6 小节。
    <ignore_js_op> 
    开发板的 Android 系统运行稳定后,将 OTG 接口和电脑的 USB 连接,打开“fastboot”
    目录中的“cmd.exe”,如下图所示。
    <ignore_js_op> 
    在开发板启动完全之后,连接 OTG 接口,开发板的屏幕上会提示“是否允许调试”,选择
    “允许”即可。
    然后在串口控制台中输入“chmod 777 /data”命令修改 data 目录权限,如下图。
    <ignore_js_op> 
    如下图,在 PC 机的“cmd.exe”中输入命令“adb push helloworld /data”,将程序上传
    到开发板的“/data”目录中。如果不开启“允许 USB 调试”,会提示如下信息。

    <ignore_js_op> 
    开启“运行 USB 调试”之后,如下图所示,使用命令“adb push helloworld /data”。
    <ignore_js_op> 
    当然也可以通过手机助手、TF 卡或者 U 盘来上传可执行文件 helloworld。如果提示命令
    无法使用,注意:请参考使用手册 10.2.2 小节,更新 adb。
    8.1.4 修改程序权限和运行 helloworld
    如下图所示,在超级终端中,输入“cd /data”进入"/data"目录,使用“chmod 777
    helloworld”命令修改权限,最后输入“./helloworld”命令运行程序。超级终端中会打印出
    “Hello world!”,表明程序运行成功。

    <ignore_js_op> 
    iTOP4418开发板已经支持安卓7.1系统

  • 相关阅读:
    ELK--filebeat命令行参数解释
    ELK--filebeat详解
    centOS7 修改DNS
    nginx-日志统计
    ceph 安装ceph问题汇总
    正则 挖网站表格复习
    c#反射优化 表达式树
    combotree 满足条件的节点不可选中
    NHibernate获取实体配置信息(表名,列名等等)
    jqgrid 单元格放超链接文本
  • 原文地址:https://www.cnblogs.com/liyue3/p/11981989.html
Copyright © 2020-2023  润新知