作为一名初次体验到Linux开发板的小白,我将一步步探索学习这款基于NXP i.MX 6UL/6ULL嵌入式处理器的开发板,逐步的从硬件认识到系统了解,这里记录一下自己的开发过程。
![poYBAGRt7gKAephHAAJujNXamIc422.png](https://file.elecfans.com/web2/M00/A7/6C/poYBAGRt7gKAephHAAJujNXamIc422.png)
![pYYBAGRt7gyAcMgsAASkv_VdZ-4681.png](https://file.elecfans.com/web2/M00/A7/E8/pYYBAGRt7gyAcMgsAASkv_VdZ-4681.png)
硬件环境
1.1准备工作
![pYYBAGRt7tKAV2E3AAWDOHNNGzc775.png](https://file.elecfans.com/web2/M00/A7/E8/pYYBAGRt7tKAV2E3AAWDOHNNGzc775.png)
1.2开发板启动设置
![poYBAGRt7wSADe6NAAEoJ6LdvrM660.png](https://file.elecfans.com/web2/M00/A7/6C/poYBAGRt7wSADe6NAAEoJ6LdvrM660.png)
拨码启动方式
这里我们设置位eMMC启动也就是0010拨码状态
1.3 串口配置
将 USB转 TTL线正确接到调试串口 JP1,USB端连到 PC上,并使用调试软件设置,PC串口的波特率设为 115200,数据位为 8,停止位为 1,无奇偶校验。
连接如图所示
![pYYBAGRt7yiARwa1AAV5L6s7KQM769.png](https://file.elecfans.com/web2/M00/A7/E8/pYYBAGRt7yiARwa1AAV5L6s7KQM769.png)
![poYBAGRt7zGATq1xAACECazjDBs428.png](https://file.elecfans.com/web2/M00/A7/6D/poYBAGRt7zGATq1xAACECazjDBs428.png)
按图设置好,点击OK
二、软件环境
2.1获取资料
根据官网发布的资料,下载相关的操作手册、开发指南
![poYBAGRt72GAJoscAAGF8IML6V8799.png](https://file.elecfans.com/web2/M00/A7/6D/poYBAGRt72GAJoscAAGF8IML6V8799.png)
下载链接:http://down.myir-tech.com/MYD-Y6ULX/
2.2搭建编译环境
我这里使用的是VMware16.1.1虚拟机搭建的开发环境
![pYYBAGRt722AVQWzAAD_F8kiFFs725.png](https://file.elecfans.com/web2/M00/A7/E8/pYYBAGRt722AVQWzAAD_F8kiFFs725.png)
根据官方给的镜像包和开发工具安装到我们的电脑上即可
三、系统核心资源
搭建完最基础的环境之后,我们进一步了解一下它有哪些系统资源,以至于我们后面可以更好的使用它来完成项目开发
这里我们用正点原子阿尔法Linux开发板做一个比较
3.1 CPU资源比较
3.1.1查看 CPU信息命令
根据我们上面的串口调试模块,可以跟我们的开发板进行串口通信,读取系统中CPU的提供商和参数信息,则可以通过/proc/cpuinfo文件得到
![pYYBAGRt74yAbmxuAAG93QjmCNM680.png](https://file.elecfans.com/web2/M00/A7/E9/pYYBAGRt74yAbmxuAAG93QjmCNM680.png)
米尔
![pYYBAGRt75KAMohhAAG4yU3l1ik640.png](https://file.elecfans.com/web2/M00/A7/E9/pYYBAGRt75KAMohhAAG4yU3l1ik640.png)
正点原子
bogomips:在系统内核启动时粗略测算的 CPU每秒运行百万条指令数
这里可以看到米尔在的 CPU每秒运行百万条指令数是正点原子的2倍
3.1.2 CPU工作频率测试
![pYYBAGRt756AbukHAAGQ4DQdUVk655.png](https://file.elecfans.com/web2/M00/A7/E9/pYYBAGRt756AbukHAAGQ4DQdUVk655.png)
可以看到正点原子的最大工作频率可达792000,米尔的最大工作频率可达528000
3.2内存资源比较
3.2.1查看内存信息
![pYYBAGRt76eASxs6AARIKxtPtq4392.png](https://file.elecfans.com/web2/M00/A7/E9/pYYBAGRt76eASxs6AARIKxtPtq4392.png)
MemTotal:所有可用的 RAM大小,物理内存减去预留位和内核使用
MemFree:LowFree + HighFree
Buffers:用来给块设备做缓存的大小
Cached:文件的缓冲区大小
SwapCached:已经被交换出来的内存。与 I/O相关
Active:经常(最近)被使用的内存
Inactive:最近不常使用的内存
3.2.2获取内存使用率
![poYBAGRt77GAH6DGAACIUdaRkxA806.png](https://file.elecfans.com/web2/M00/A7/6D/poYBAGRt77GAH6DGAACIUdaRkxA806.png)
total:内存总量。
used:被使用的内存量。
free:可使用的内存量。
3.3 RTC资源比较
![poYBAGRt77uAPblQAADRmRxLsNk415.png](https://file.elecfans.com/web2/M00/A7/6D/poYBAGRt77uAPblQAADRmRxLsNk415.png)
rtc属于 linux设备,在/dev下有其设备节点 rtc0,rtc1可供用户操作。
四、系统外围资源
4.1 GPIO
之前接触单片机开发,对外围接口接触的最多的就是我们的GPIO口了,MYD-Y6ULX的 GPIO脚是以 GPIOX_Y形式来定义的,pin脚标签名和 GPIOX_Y形式之间的映射关系可以参考《MYC-Y6ULX Pin list_V13.xlsx》手册。
GPIOX_Y转换成引脚编号公式为:(X-1)*32+Y
接下来我们利用GPIO来点亮系统板上的LED
![pYYBAGRt782AUkQPAAEWdgsG7zw780.png](https://file.elecfans.com/web2/M00/A7/E9/pYYBAGRt782AUkQPAAEWdgsG7zw780.png)
![pYYBAGRt79KAdlOHAAQDgwFK1h4989.png](https://file.elecfans.com/web2/M00/A7/E9/pYYBAGRt79KAdlOHAAQDgwFK1h4989.png)
![pYYBAGRt79mAV2dEAARerblUzjs648.png](https://file.elecfans.com/web2/M00/A7/E9/pYYBAGRt79mAV2dEAARerblUzjs648.png)
从图上可以看到LED亮灭的结果
我们还可以使用以下命令,实现LED按固定频率闪烁
echo "heartbeat" > /sys/class/leds/cpu/trigger
4.2 KEY(按键)
Linux的/etc/input/eventxx设备可以用来方便地调试鼠标、键盘、触摸板等输入
设备。这里主要是测试 key。通过 evtest命令来查看按键是否有反应。MYD-Y6ULX有
三个按键,K1是 onoff按键,K2系统复位按键,K3是用户按键;
我们通过evtest命令来测试按键是否按下,并在串口上打印按键信息
![poYBAGRt8ASAF0YwAANA-Ot2rlM502.png](https://file.elecfans.com/web2/M00/A7/6D/poYBAGRt8ASAF0YwAANA-Ot2rlM502.png)
4.3 USB
MYD-Y6ULX拥有 2路 USB2.0接口,一路用于 OTG下载镜像,另一路 USB2.0口
经过拓展芯片变成 2路 USB口。
4.3.1查看插入 usb的打印信息
将 U盘连接到开发板 USB Host接口,内核提示信息如下:
![poYBAGRt8A-AY0d8AAJjwEDlAYI426.png](https://file.elecfans.com/web2/M00/A7/6D/poYBAGRt8A-AY0d8AAJjwEDlAYI426.png)
![pYYBAGRt8BqAHr3rAAL1LQ-qhnI990.png](https://file.elecfans.com/web2/M00/A7/E9/pYYBAGRt8BqAHr3rAAL1LQ-qhnI990.png)
五、开发语言
5.1 SHELL
Shell是一个用 C语言编写的程序,它是用户使用 Linux的桥梁。Shell既是一种
命令语言,又是一种程序设计语言。常见的 Linux的 Shell种类众多,常见的有:
1、Bourne Shell(/usr/bin/sh或/bin/sh)
2、Bourne Again Shell(/bin/bash)
3、C Shell(/usr/bin/csh)
4、K Shell(/usr/bin/ksh)
5、Shell for Root(/sbin/sh)
MYD-Y6ULX支持 bourne shell和 Bourne Again Shell 2种
![poYBAGRt8D-AMOjYAADatMpQ4-c634.png](https://file.elecfans.com/web2/M00/A7/6D/poYBAGRt8D-AMOjYAADatMpQ4-c634.png)
5.2 Python
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python由
Guido van Rossum于 1989年底发明,第一个公开发行版发行于 1991年。像 Perl
语言一样, Python源代码同样遵循 GPL(GNU General Public License)协议。本节主要
测试 python的使用,从 python命令行和脚本两个方面来说明。
5.2.1 python命令行测试
启动 python,并在 python提示符中输入以下文本信息,然后按 Enter键查看运
行效果
![poYBAGRt8EiAeAAvAACBEr_QUGU658.png](https://file.elecfans.com/web2/M00/A7/6D/poYBAGRt8EiAeAAvAACBEr_QUGU658.png)
-
NXP
+关注
关注
60文章
1292浏览量
185669 -
Linux
+关注
关注
87文章
11355浏览量
210675 -
开发板
+关注
关注
25文章
5145浏览量
98448 -
MYD-Y6ULX
+关注
关注
0文章
1浏览量
1742 -
米尔电子
+关注
关注
0文章
113浏览量
520
发布评论请先 登录
相关推荐
Linux从零到精通:最简单的Shell脚本入门教程
![<b class='flag-5'>Linux</b><b class='flag-5'>从</b><b class='flag-5'>零</b><b class='flag-5'>到</b>精通:最简单的Shell脚本入门教程](https://file1.elecfans.com/web3/M00/01/1E/wKgZPGdRCS2ACku7AAAiM7-x7u0394.png)
追加名额丨米尔瑞芯微RK3576开发板有奖试用
![追加名额丨米尔瑞芯微RK3576<b class='flag-5'>开发</b>板有奖<b class='flag-5'>试用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
有奖丨米尔 瑞芯微RK3576开发板免费试用
![有奖丨米尔 瑞芯微RK3576<b class='flag-5'>开发</b>板免费<b class='flag-5'>试用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
Openharmony软件评估指南-米尔瑞芯微RK3568开发板
点击参与米尔NXP i.MX 93开发板有奖试用
![点击参与米尔NXP i.MX 93<b class='flag-5'>开发</b>板有奖<b class='flag-5'>试用</b>](https://file.elecfans.com/web2/M00/08/64/pYYBAGDwFEGADIPWAAFlJOlmLxg664.jpg)
评论