1.嵌入式开发之编辑
嵌入式开发编辑在windows上实现,使用windows上的source insight软件。
1.1.source insight介绍
Source Insight 是 Source Dynamics 公司出品的源代码编辑器。Source Insight 提 供语法突出显示,代码导航和可自定义的键盘快捷键。它不仅仅是一个编辑器,而是一个理解大型源代码库的工具,因此被称为“程序编辑器和分析器”。它灵活轻便,提供有用的功能,如关系,上下文和符号窗口。它在建源码工程时,构建了符号信息的内部数据库,所以还可以显示引用树,类继承图和调用树。它的最大好处是加快了对不熟悉项目的代码理解。(简单来说:就来用来编写代码,阅读源码的作用)
注:在后面开发驱动程序时,驱动程序中用到的函数都是来自内核,所以要多多使用Source Insight 来阅读内核的源码。(内核的源码在哪里?本文章后面会提到)
2.嵌入式开发之编译
嵌入式开发编译在Ubuntu上运行(可以在ubuntu上编译,但是我们一般选择在windows使用Mobaxterm上远程登陆ubuntu)。编译程序需要需要配置编译链
2.1.windows使用Mobaxterm上远程登陆ubuntu
先确认 Ubuntu 的 IP,可以使用它的 NAT 网卡 IP,也可以使用它的桥接网 卡 IP。建议使用 NAT 网卡 IP,因为使用桥接网卡的话必须启动开发板。 在 Ubuntu 终端执行 ifconfig 命令确定 NAT 网卡 IP(注意:这个 IP 过一 段时间会发生变化,那就使用新 IP 重新连接),如图 2.3 所示:
安装、运行 MobaXterm,如下建立 Session
按图 2.4 操作后,在 MobaXterm 左侧就可以看到它,双击它就可 以登录 Ubuntu(第 1 次登录时会提示你输入密码,密码是 xxxxxx),然后就可以执行各种 Linux 命令了。
2.2.下载BSP及配置编译链
100ask_imx6ull 开发板的 BSP 都保存在 Git 站点上,通过 repo 命令进行统一管理。所以我们需要先配置repo,再下载BSP,最后配置编译链。
2.2.1.配置repo
下载 repo 工具前需要设置 git 的邮箱和用户名,git 邮箱和用户名请根据个人情况进行配置
如:
git config --global user.email "xxxxx"
git config --global user.name "xxxxx"
注意:请先配置 git 邮箱和用户名,否则会导致下载失败。
2.2.2.下载BSP
1.下载一个git仓库,里面含有一个repo命令。
git clone https://e.coding.net/codebug8/repo.git
2.创建一个目录并且进入它。
mkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk
3.使用repo仓库的repo命令来初始化。
../repo/repo init -u https://gitee.com/weidongshan /manifests.git -b linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml --no-repo-verify
4.执行命令下载源码。
../repo/repo sync -j4
下载成功后,使用ls命令看一下下载到了什么
有buildroot,有Linux-4.9.88(内核),有Uboot,有ToolChain(工具链)。
注1:此处的Linux-4.9.88就是前面我们需要经常用source insight阅读的内核。
注2:下载成功后,可以看到名为 Linux-4.9.88 的目录,可以在 Ubuntu 压缩它,再传回windows。在 Windows 下解压后,用 source insight 建立工程,这样就可以很方便地阅读源码了。
Ubuntu 下压缩命令为(最好是下载之后马上压缩,不要编译内核后再压缩,否则文件太大了):
tar cjf Linux-4.9.88.tar.bz2 Linux-4.9.88
首次下载时如果提示
Testing colorized output (for 'repo diff', 'repo status'):
此时输入 y 即可,继续执行
../repo/repo sync -j4
命令即可开始同步源码(同步代码根据网络情况需要等待数分钟)。
2.2.3.配置交叉编译工具链
交叉编译工具链用来在 Ubuntu 主机上编译应用程序,而这些应用程序是在 ARM 等其他平台上运行。 设置交叉编译工具主要是设置 PATH, ARCH 和 CROSS_COMPILE 三个环境变量。
设置这 3 个环境变量有多种方法,任意选择其中一种方法即可,建议使用“永久生效”的方法。否则每次编译时,都要配置一下工具链。
永久生效
如需永久修改,请修改用户配置文件:
vim ~/.bashrc
在.bashrc的最尾部添加
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueab ihf_sdk-buildroot/bin
设置完成后需要刷新环境变量
source ~/.bashrc
使用下面命令确认配置成功
arm-buildroot-linux-gnueabihf-gcc -v
临时生效
手工执行“export”命令设置环境变量,该设置只对当前终端有效(另 开一个终端需要再次设置)。
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueab ihf_sdk-buildroot/bin
3.嵌入式开发之运行
嵌入式开发编译在开发板上运行。