基于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系统

4418开发板基于Linux-c测试程序的编译和运行的更多相关文章

  1. 4418开发板Android源码整体&单独编译

    内核缺省文件配置之后,Android 目录,运行一键编译脚本“build_android.sh”,如下图所示.注意:本篇文章基于iTOP-4418开发板,编译 Android 必须保证给 Ubuntu ...

  2. 迅为最新推出iTOP-6818开发平台无缝支持4418开发板

    iTOP-6818开发板是一款四核ARM 八核开发板与iTOP-4418开发板完全兼容,CPU主频1.4GHz,内存1GB DDR3(2GB可选),存储16GB EMMC,板载千兆以太网,GPS,WI ...

  3. Go 语言开发的基于 Linux 虚拟服务器的负载平衡平台 Seesaw

    负载均衡系统 Seesaw Seesaw是由我们网络可靠性工程师用 Go 语言开发的基于 Linux 虚拟服务器的负载平衡平台,就像所有好的项目一样,这个项目也是为了解决实际问题而产生的. Seesa ...

  4. 嵌入式开发-迅为4418开发板Android4.4.4实现ble功能

    ①.如果是迅为4418开发板:在4418/android/device/nexell/drone2/device.mk中添加: frameworks/native/data/etc/android.h ...

  5. [转帖]4412开发板/4418开发板Android4.4.4实现ble功能

    本文转自迅为论坛:http://bbs.topeetboard.com ①.4418开发板实现ble功能方法: 在4418/android/device/nexell/drone2/device.mk ...

  6. Android嵌入式安卓触摸屏|4418开发板平台

    核心板参数 尺寸:50mm*60mm 高度:核心板连接器为1.5mm 4418 CPU:ARM Cortex-A9 四核 S5P4418处理器 1.4GHz 6818 CPU:ARM Cortex-A ...

  7. [转帖]迅为4412开发板最小linux系统的存储空间修改

    本文转自迅为论坛:http://www.topeetboard.com 最小linux系统的存储空间修改以修改成 1G 存储空间为例来修改,如果需要改成其他大小的存储空间,参照此方法修改即可. 首先连 ...

  8. 【分享】4412开发板-嵌入式Linux开发须要掌握的基础知识和技能

    本文转自迅为电子论坛:http://www.topeetboard.com 1.Linux 基础 安装Linux操作系统 Linux文件系统 Linux经常使用命令 Linux启动过程具体解释 熟悉L ...

  9. ARM 开发板嵌入式linux系统与主机PC通过串口传输文件

    本文转载自http://useless20.blog.163.com/blog/static/237409982010227127576/ 嵌入式linux系统与主机通过串口传输文件 我想如果要从PC ...

随机推荐

  1. impdp导入.dmp到oracle

    1.创建表空间 create tablespace CCGRP_PRO --表空间名 datafile 'D:\oracleData\test.dbf' --物理文件 表空间数据文件存放路径size ...

  2. Mybatis实现增删改查(二)

    1. 准备 请先完成Mybatis基本配置(一)的基本内容 2. 查询多条商品信息 1)在com.mybatis.dao.PartDao中增加接口函数 public List<PartInfo& ...

  3. POJ - 2385 Apple Catching (dp)

    题意:有两棵树,标号为1和2,在Tmin内,每分钟都会有一个苹果从其中一棵树上落下,问最多移动M次的情况下(该人可瞬间移动),最多能吃到多少苹果.假设该人一开始在标号为1的树下. 分析: 1.dp[x ...

  4. opencv3。4安装出错

    https://www.samontab.com/web/2017/06/installing-opencv-3-2-0-with-contrib-modules-in-ubuntu-16-04-lt ...

  5. Linux(CENTOS7) NodeJs安装

    1.下载NodeJs 官网下载地址:http://nodejs.cn/download/ ​ 2.上传到linux系统 我这里上传到/disk/nodejs目录下面的,上传工具使用的xftp. ​ 3 ...

  6. .NET技术-2.0. 操作数据库-Dapper

    .NET技术-2.0. 操作数据库-Dapper 项目参见: 1. 为什么选择Dapper 1) 性能优越: 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco seria ...

  7. SPOJ 247 chocolate (CHOCLO)

    题目http://www.spoj.com/problems/CHOCOLA/ 把一整块巧克力分成一个一个单元,掰断每一横行有个代价值,掰断每个纵行也有个代价值,要你求最后的总代价值最小 这个题目放在 ...

  8. 如何向女朋友介绍MySQL索引

    目录 一.前言 二.正文 三.索引的类型 四.动态查找树 五.B-Tree 1.B-Tree特征 2.B-Tree的查找(select) 3.B-Tree的插入(insert) 4.B-Tree的删除 ...

  9. Linux相关笔记

    vim下 r /etc/hosts  会把这个文件读进来 r! df -Th  会把执行的内容读取进来 查找 /  ? 替换:s/old/new/g 2到9行替换2,9s/old/new/g 全部替换 ...

  10. Codeforces Round #571 (Unrated for Div. 1+Div. 2)

    A 略 B 被删了,被这个假题搞自闭了,显然没做出来. C 开始莽了个NTT,后来发现会TLE,其实是个SB前缀和,对于这题,我无**说. #include<bits/stdc++.h> ...