Linux之C应用编程点灯步骤
基于Linux的C应用编程,是学习嵌入式的一个重要分支,今日历经万难,才把灯给点亮,我觉得还是有必要记录一下的。
首先是要准备的硬件条件:
PC一台;
开发板(正点原子IMX6ULL-MINI,eMMC+DDR);
2根USB数据线;
然后是软件部分:
VMware+Ubuntu18;
SecureCRT7.0;
VScode(ubuntu);
XFTP(文件传输工具);
本次实验的具体框图如下:

下面开始每一步的详细介绍:
第一部分:先给开发板烧入系统。
烧录有2种方法,每种方法又可以烧在不同的存储介质上。分别是USB_OTG和脚本烧录,可以烧在SD卡、eMMC或NANDFlash上。本次实验是通过USB_OTG烧录在eMMC上。
一根USB插在板子的USB_OTG上,烧系统用;另一根插在USB_TTL上,与板子通信用。

因为是用OTG烧录,所以拨码开关拨到如图所示的位置,即0100 0000。

然后打开烧录软件,这里使用的是正点原子家的,可以去他家找下载得到。根据自己的选择的烧录方案选择对应的下载脚本,本次实验用到的是图中绿色框选中的脚本。

打开界面如下:

出现 “符合HID 标准的供应商定义设备” 则表示没问题,点击“Start” 开始烧录。
当烧录完成后,点击Stop(一定要点),然后点击Exit。

烧录完成后,我们再次调整拨码开关,因为本次实验是EMMC启动,所以是10100110。

接下来打开SecureCRT,选择开发板对应的COM口,PC是通过串口来与板子通信的。新建一个绘画然后有如下配置:


配置好SecureCRT后,按下板子上的RST按钮。此时SecureCRT会接收到板子上的信息,表示正在启动Linux系统。启动完成如图所示。

第二部分:程序编写
进入虚拟机下的Ubuntu18,在用户目录下建立一个Linux文件夹,然后建立两个子目录,分别是 vsCode_ws(放源代码) 和tools(放交叉编译工具链)。

在vscode_ws目录下建立一个工程文件夹。

打开Vscode。打开刚刚建立的工程文件夹,然后建立一个.c文件

写上代码:
具体功能就步解释了,不是本章重点。
第三部分,编译,调试。
从正点原子资料中找到,fsl-imx-xll-glibc-x86_64.................sh 文件,用XFTP等文件传输工具从window传到Ubuntu里面,放到刚刚建立的tools下。

如果是白色的字符显示,说明不够执行权限。用一下命令添加权限。
然后执行:
终端会问你存在那个目录,我们默认就好。根据提示敲入回车。
添加下环境变量:
搞定交叉编译器后,就可以在Vscode中点击“新建终端”,在终端里输入:
然后可以发现我们生成了一个ELE文件,这个文件可以被开发板执行。

再次打开XFTP,把这个文件传去window。

打开SecureCRT,选择一个目录(别再root下,最好在用户目录下),输入 rz 命令,回车。


执行以下,发现失败,应该是权限不够。

使用如下代码给文件添加权限。

可以发现板子上的灯亮了。
然后试试关灯:

灯点好了,然后呢?
参考文献:
1、【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.4
2、【正点原子】I.MX6U用户快速体验V2.6
正点原子资料下载:
http://www.openedv.com/docs/index.html