完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
文章目录
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登录就可以了。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1100 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1118 浏览 1 评论
551 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
417 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1004 浏览 2 评论
1596浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
266浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
280浏览 3评论
249浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
242浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 19:15 , Processed in 0.640233 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号