基于Linux的C应用编程,是学习嵌入式的一个重要分支,明日历经万难,才把灯给照亮,我认为还是有必要记录一下的。
首先是要打算的硬件条件:
之后是软件部份:
本次实验的具体框图如下:
顶楼框图
下边开始每一步的详尽介绍:
第一部份:先给开发板烧入系统。
烧写有2种方式,每种方式又可以烧在不同的储存介质上。分别是USB_OTG和脚本烧写,可以烧在SD卡、eMMC或NANDFlash上。本次实验是通过USB_OTG烧写在eMMC上。
一根USB插在板子的USB_OTG上,烧系统用;另一根插在USB_TTL上,与板子通信用。
开发板子上的USB
由于是用OTG烧写,所以拨码开关拨到如图所示的位置,即01000000。
OTG下载的拨码配置
之后打开烧写软件,这儿使用的是正点原子家的,可以去他家找下载得到。按照自己的选择的烧写方案选择对应的下载脚本,本次实验用到的是图中绿色框选中的脚本。
正点原子提供的烧写脚本
打开界面如下:
烧写软件界面
出现“符合HID标准的供应商定义设备”则表示没问题,点击“Start”开始烧写。
当烧写完成后,点击Stop(一定要点),之后点击Exit。
done
烧写完成后,我们再度调整拨码开关,由于本次实验是EMMC启动,所以是10100110。
各类启动设备的拨码配置
接出来打开SecureCRTlinux应用编程,选择开发板对应的COM口,PC是通过并口来与板子通讯的。新建一个书法之后有如下配置:
SecureCRT配置
SecureCRT并口配置
配置好SecureCRT后,按下板子上的RST按键。此时SecureCRT会接收到板子上的信息,表示正在启动Linux系统。启动完成如图所示。
启动完成
第二部份:程序编撰
步入虚拟机下的Ubuntu18,在用户目录下构建一个Linux文件夹,之后完善两个子目录,分别是vsCode_ws(放源代码)和tools(放交叉编译工具链)。
构建目录如下
在vscode_ws目录下构建一个工程文件夹。
构建工程名
打开Vscode。打开刚才构建的工程文件夹,之后完善一个.c文件
写上代码:
具体功能就步解释了linux 删除文件,不是本章重点。
第三部份,编译,调试。
从正点原子资料中找到,fsl-imx-xll-glibc-x86_64.................sh文件linux应用编程,用XFTP等文件传输工具从window传到Ubuntu上面,放在刚才构建的tools下。
早已从window传过来了
假如是红色的字符显示,说明不够执行权限。用一下命令添加权限。
之后执行:
终端会问你存在哪个目录,我们默认就好。按照提示敲入回车。
添加下环境变量:
搞定交叉编译器后linux课程,就可以在Vscode中点击“新建终端”,在终端里输入:
之后可以发觉我们生成了一个ELE文件,这个文件可以被开发板执行。
形成了新的文件
再度打开XFTP,把这个文件传去window。
XFTP操作
打开SecureCRT,选择一个目录(别再root下,最好在用户目录下),输入rz命令,回车。
早已传输到板子上了
执行以下,发觉失败,应当是权限不够。
使用如下代码给文件添加权限。
更改权限
可以发觉板子上的灯亮了。
之后试试熄灯:
灯点好了,之后呢?
参考文献:
1、【正点原子】I.MX6U嵌入式LinuxC应用编程手册V1.4
2、【正点原子】I.MX6U用户快速体验V2.6
正点原子资料下载: