使用DragonBoard 410c开发linux应用
拿到DragonBoard 410c已经有很长一段时间,也试着研究了Adreno与410c上高通内核驱动。 不过为了让广大爱好者能够快速上手这一台开发板,我打算使用官方提供的Linux指南上的源码作为入门,从而让开发者能够迅速的使用手上的资源。
推荐配置
首先假设,看这篇文章的人都有了如下图所示的全部设备,其中需要特别提醒的是,我们使用的是Linux的一个发行版本Debian, 如果谁想去深入研究Android以及Win 10 IoT,可以等待我的后期教程,或者去我的论坛帖中去搜索我贴出来的410c安卓开发手册
上图是官方给出的推荐配置,既然我们是基于debian进行开发,那么要注意屏幕的最佳分辨率是1080p,否则显示效果会没有那么完美。
先给各位看看我的配置:
有了如上的设备,我们就可以按照官方的流程刷Debian系统了。刷Debian系统可以在这里找到,这里就不再啰嗦了,我们直接开始对开发环境进行熟悉吧。
基于Ubuntu在PC端使用Eclipse进行开发
这种方法是官方推荐的开发方式,不但方便而且使用很简单。有些开发者可能大部分没有使用过Ubuntu,或者懒得再给自己的电脑安装一个系统(比如我)。因此我们也可以直接在410c系统里面对程序进行编写和编译。这里我们先介绍PC端下基于Eclipse的交叉编译方式
工具链
为了能够让PC端可以编写运行在410c上的Linux应用,我们需要一个交叉编译工具链。交叉工具链,顾名思义就是能够在不同的处理器上编译出可以运行于某处理器上的工具。
根据官方给出的链接,有两种Linaro的交叉工具链可供下载,分别是32位于64位:
32位Linux系统工具链下载
64位Linux系统工具链下载
工具链的安装
我们在ubuntu的命令行中使用如下的指令解压工具链
~/DragonBoard/toolchain/:
tar xz gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz
Eclipse的开发环境安装
Eclipse是一个出名的开源基础开发环境,并且是高度可定制的
首先我们可以从如下链接中选择自己需要的Eclipse软件
32位Linux系统Eclipse下载
64位Linux系统Eclipse下载
然后使用如下的代码进行解压
~/DragonBoard/ide/
tar xz eclipse-cpp-luna-SR2-linux-gtk-x86_64.tar.gz
至此,Eclipse的下载内容就完成了。至于添加工具链,以及转移程序可在官方的教程中看到
直接在410c上编译与运行
本方法没有出现在官方的教程中,但是相比于Eclipse开发环境,这种方法可以快速的进行配置与测试,所以本文中我们就用这种方法进行快速的上手。
登录到410c终端
Qualcomm提供了简单粗暴的登录方式:HDMI+键盘+鼠标
因此我们可以通过410c内置的界面登录到系统内部,410c的Debian系统内置了LXDE界面,自带LXterminal终端。因此我们本教程就使用LXterminal终端编写我们的程序
使用VI编写第一个程序
如果各位对VI不熟悉,可以去网上看详细的VI教程,它是Linux中一个简单的纯文本编辑器。虽然它没有图形界面,但是如果熟悉起来还是非常方便的,而且十分简单。 我们通过vi指令在~目录下创建一个Hello.c文件,然后编写如下的代码:
#include <stdio.h>
#include <stdlib.h>
int main(void){
puts("!!Hello World"); //这一句大家应该比较熟悉了吧
return EXIT_SUCCESS;//程序成功退出
}
在410c内部编译代码
接下来我们可以使用Debian中自带的gcc指令对Hello.c进行编译了, 我们在终端中输入
gcc hello.c –o hello
接下来我们就可以在目录下看到一个名为hello的可执行文件
虽然我们已经编译出来了可执行文件,但是还需要给文件提供足够的权限才能够执行。接下来我们使用如下的指令使hello文件可以正确执行:
Chmod u+x hello
然后使用以下的指令就可以执行文件:
./hello
如果一切顺利,我们可以在终端上看到!!Hello World的文字输出。这正式表明410c已经合理的跑起来了。
总结
本文简单的在410c中进行了代码编写,并成功对代码进行编译与运行,输出了hello world文字。 如果各位对eclipse更感兴趣,也可以看我接下来的实验与文章。
现在程序已经正确运行,说明我们的410c已经可以跑更复杂的程序,下一章我将介绍在程序中直接调用硬件的方法,并提供演示图片。欢迎大家捧场。
DragonBoard 410c Linux 相关文章: