基于i.MX6芯片的飞凌OKMX6Q-C开发板上手(零基础 STM32过渡)

STM32F407过渡i.MX6Q

之前开发平台是STM32F407,没有使用过操作系统,这次因为项目的设计需要,使用i.MX6Q平台进行控制板的设计工作。

先说一下区别,首先是显而易见的性能区别,二者性能天差地别,i.MX6是NXP公司基于Cortex A9架构开发,并且支持片上操作系统,可以运行Linux操作系统。

然后因为操作系统的加入,设计思路与之前有了很大的却别,对于STM32,需要对每个GPIO口进行初始化配置,在开发过程中,相当多的精力花费在了底层代码的适配。

对于带有片上系统的开发环境,尤其是Linux,可以屏蔽掉底层的配置,使用Linux操作系统进行接口的操作,对于硬件端口的初始化工作得到了极大的简化,系统的可移植性也大大的增强。

Linux系统带来的多线程管理,让程序运行更加的高效。对于数据的存储调用也更加的方便,存储空间也更加的大。

i.MX6开发板的选择

对于开发板的选择,淘宝搜索i.MX6 核心板 关键词,基本就两家飞凌还有明远智睿,对比之后,至少从底板的美观度还有功能来说,飞凌的要更好一些,然后就选定了飞凌的开发板。
在这里插入图片描述
正点原子 还有 野火,这两家STM32开发板出名的厂家也有自己的开发板,但是考虑到量产的需求,一步到位的选择了供货更加批量稳定的厂家。

i.MX6的学习相较于stm32有一个很大的不同,就是学习资料的不同,对于STM32,每家都有自己的一些自定义的库,对ST的标准库或者HAL进行过修改,所以切换不同厂家的配套库会有一些撕裂感,但是对于i.MX6来说,因为基于Linux,所以底层的很多东西就可以不去考虑,之前STM32的缺点,在这里没有了,只要是Linux能跑的教程,都是可以学习和使用的。

但这个带来便利的同时,也带来了一个非常大的缺点,那就是Linux的资料可太多了,如何从海量的资料中获取到自己需要的也需要很多的时间去试错。

对于飞凌的这款核心板,我选择了接口板作为接口的核心板。
在这里插入图片描述
外接的GPIO口有80*4个,对于项目来说绰绰有余。

目前的思路是:首先使用开发板,对功能进行实现和验证,之后根据需要的模块,对底板进行裁切。只需要自己设计底板就可以了,使用现成的核心板。

这个也是使用核心板后比之前stm32那种设计的简化的地方,使用成熟的最小硬件系统的核心板,极大简化了设计,还提供了稳定性。

i.MX6环境准备

开发板到手后,先去飞凌的官方论坛进行了资料的下载。

http://bbs.witech.com.cn/forum.php?gid=64

然后最重要最重要的,芯片手册的下载,这才是万物起源啊。

I.MX6Q英文参考手册(NXP官方)

在这里插入图片描述
上面是我下载的一些资料,大部分都是论坛里的,论坛需要授权,下载方法去问客服吧。

飞凌的官方资料用来学习是远远不够的,更像是针对具有Linux开发经验的人。

对于零基础,推荐还是去看正点原子左盟主的教程,B站就有视频。还有正点原子出品的用户开发手册,一千六百多页,质量可以。

飞凌虽然提供了一个现成的虚拟机开发环境,但是我觉着作为初学者,还是不要想着去省事儿直接使用,最好是跟着正点原子的环境搭建,在自己熟悉的Linux分发版本上进项环境的配置,相信我,这个过程会学到很多东西,遇到的错误越多,学到的越多。直接用现成的,依然会出现很多问题,因为缺少了前面的配置环境的过程,出现问题更难去排查。

我的选择就是VMware虚拟机中安装了官网下载的

Ubuntu20.04.0LTS桌面版

安装的是

Qt5.6.2

这些都是准备过程,具体的这个配置过程我遇到了很多问题,开个新坑,下篇文章详细说明。

WSL2的坑

东西都下载完毕,PDF文档也都准备好了。

因为之前一致接触WSL2,虽然没有图形化界面,但是对于一开始的构想,我只需要使用Linux的环境进行一个交叉编译,然后把编译后的文件直接发送到板子就可以了。Qt和其他代码的编写都是可以在windows环境先编辑好的,只需要Linux环境编译就可以了。
在这里插入图片描述
这次也想着能省事儿不安装虚拟机就不安装虚拟机VMware了,在进行Linux的编译测试时候,就一直出现问题,起初是因为我直接在E盘下对文件进行操作,就各种错误,后来搬移到wsl的根目录下,虽然有些问题不出现了,但还后续还是出现了问题。之后师哥说可能是硬盘格式还有其他一些环境问题,结合我的实际错误,决定全部搬移到虚拟机中继续测试。

结果,一点,错误,都没了

。。。。。。。。

啊!

i.MX6上手

在这里插入图片描述
对于板子,首先看看板子里有没有烧录进去Linux系统, 方法呢就是用ssh登录或者串口登录试一试。

串口登录

在底板上预留的RS232接口,设计为Debug功能,使用终端软件,这里推荐

在这里插入图片描述

终端其实就是个显示界面,因为我的电脑没有RS232的接口,所以一开始是没有办法直接连接登录,后来老师给找到了RS232转USB接口,顺利使用串口登录到板子的Linux。

ssh登录

上面是使用串口,这里是使用网线,直接通过ip还有账号密码登录,和windows远程的原理差不太多。

登陆方法就是打开一个linux终端,例如wsl,然后输入

ssh root@192.168.0.232

这时候板子里面的Linux必须有密码才可以登录,不然没有办法登录。

所以我就先用一台可以连接RS232 的电脑,连接到板子,然后添加了一个密码,这样再用网线连接,使用ssh登录就可以了。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值