米尔电子
直播中

dutong0321

3年用户 642经验值
擅长:模拟技术 嵌入式技术 接口/总线/驱动 光电显示 控制/MCU RF/无线
私信 关注
[技术]

【米尔NXP i.MX 93开发板试用评测】01.i.MX 93开发环境的搭建

首先要特别感谢发烧友william hill官网 和米尔电子给我们提供的本次试用机会,在申请通过后很快就收到板子了,依旧是顺丰给发来的,米尔的板子包装盒都很精致,电源也适应各种转接头,还带有一个USB转TTL的连接线,真的是万分感激!

资料下载

开箱就不写了,下载资料也很便捷,附带的说明书中就有下载链接。下载是用百度网盘进行下载的,时间有点久,值得一说的是,我们的板子是1G内存的,所以网盘里2G的资料我们就不必进行下载了。
为了方便一些,这里直接粘贴一下载链接吧:

链接: https://pan.baidu.com/s/1LT253JvkOFzUaJ79FdxQTA (百度网盘提取码:myir)

我直接使用的是Debian系统,以后我的项目也将会使用Debian系统进行!

系统的烧写

首先,把USB转TTL和板子的J14相连接,具体的针脚对应在说明书上有详细的介绍,在安装好打开电脑上面的PUTTY,选择串口,然后再输入COM口序号,修改波特率为115200,打开以后上电,就可以看到输出信息了,包括U-BOOT、kernel等

1001.png

然后,我们打开下载下来的软件资料,从里面选择02-Images,选择自己的内存大小,可以看到里面有两个zst文件,我们选择直接烧写到EMMC中,所以选择MYD-LMX9X-Update-System-20240507180526.rootfs.burn_1g.img.zst这个文件,然后我们用7-zip对这个文件进行解压,最后用Win32DiskImager烧写到TF卡中,烧写完成后千万不要点击格式化哈!

然后把TF卡插入板子里,最后拨码启动为0000,然后打开开关!
然后就是不停的updateing,一直等到出现Successful,就算成功了!
1002.png

然后断电,重新拨码启动模式为0001,然后上电!

启动还是挺快的,如果连接HDMI或者屏幕的话,现在就应该已经出现画面了,然后两个U口,一个键盘一个鼠标,最后再连接上网线!

登录是不需要密码的,直接使用myir账户就可以默认登录进去了,但是如果在操作sudo或者SSH连接时肯定还是需要密码的,所以我们要在debug终端中对密码首先进行一下修改。

passwd myir

然后,把myir账户添加sudo权限,我们就可以通过SSH进行登录了。

1004.png
然后把ssh的root登录禁用了,打开/etc/ssh/sshd_config,翻到最后把两个Permit都注释掉,重启一下SSH服务,查看一下软件源是清华的,所以不需要修改,不过debian-security还是以前的,所以修改成ustc的,还有需要把source.list.d中的docker先注释了,虽然没啥影响,不过一方面目前docker不太好连接,另外一方面我们后面也不会用docker,最后把软件进行一下更新就OK了!

sudo apt update
sudo apt upgrade

使用Debian有个非常cool的功能,就是可以在开发板上进行开发,而不是再搭建交叉编译环境,优点就是调试方便,完全可以当成PC一样使用,缺点也很明显,编译速度是肯定比不上PC上面的I7的,另外一个比较严重的问题就是对于Qt来讲,EMMC的8GB容量肯定是不够的,我们需要使用TF卡来启动开发板,这里为了开发的速度还是比较推荐搭建交叉编译环境来进行开发,等到后面我会再来介绍除了以上两种方法外的另外一种方法。

首先让我们来安装一个Debian的PC机,我这里使用了VBox来虚拟一个PC机,然后安装一些必要的软件!我们从百度网盘中软件资料中选择Linux,然后从里面03-Tools中,下载fsl-imx-xwayland-glibc-x86_64-myir-image-full-armv8a-myd-lmx9x-toolchain-6.1-mickledore.sh这个文件,然后我们在虚拟机中执行该文件,这个文件大概4G左右,但是解压后大概是24G,另外还有QT,所以建议硬盘需要大一些,怎么也得32G,为了确保没有问题,建议硬盘在40GB以上吧。接下来我们进行安装QT,首先,下载QT,我们先安装wget,然后执行

wget https://mirrors.ustc.edu.cn/qtproject/official_releases/online_installers/qt-unified-linux-x64-online.run

然后需要安装一些库:

sudo apt install gcc g++ libxcb-cursor-dev libxcb-cursor0 libxcb-icccm4 libxcb-keysyms1
sudo ./qt-unified-linux-x64-online.run --mirror https://mirrors.ustc.edu.cn/qtproject

微信截图_20240724172915.png

第一个界面是登录界面,没有账号的话需要注册一个账号,然后进行登录,我这里已经有了,所以直接登录即可!
这是第二个界面,需要把第一个勾勾和第二个勾勾都勾上,说明自己是个人开发者。

1005.png

在这个几面勾选第二个选项即可,大意就是不向QT提供个人使用习惯记录。

1006.png

然后,选择安装目录,我把目录定在了默认的/opt/Qt下,然后选择Custom Installation,然后点击Next。

1007.png

首先打开看看有没有Qt6.5.0,如果没有的话可以勾上Archive然后点击Filter,不过我这里勾的是Qt6.5.3的Desktop gcc 64-bit,因为官方提供的SDK是6.5.0,不过版本差距不大,那么问题就不大,尤其我估计我在编译的时候应该不会编译x64平台的,所以这里勾选啥都无所谓。

1008.png

然后再把最下面的QtCreator、Cmake、Ninja这几个组件也勾上,然后再继续点击Next。

1009.png

下一步就是同意协议,然后继续下一步就可以了,一直到安装成功就可以了。
然后打开QtCreator,打开以后,点击Create Project,新建一个程序!
然后选择Application(Qt),选择Qt Widgets Application,然后选择choose。
接下来选择安装目录,输入工程的名字。在Build System中选择默认的QMake就可以了,继续Next。
创建主页面,也直接默认就可以了!再继续进行下一步,在这里可能只出现了Desktop Qt后面加上版本号,我们需要把开发板的QT开发环境也引入进来,点击Manage新增一个Kit.

1011.png

先点击Devices创建一个设备,设置好SSH的选项,然后把私钥导入到开发板中,不过,也可以不配置,直接编译,把生成的程序用scp传到开发板中,然后手动执行。

1012.png

然后返回Kits中,选择Compilers然后点击ADD增加官方提供的交叉编译链,GCC和G++要都设置好,其实就是设置一下名称和交叉编译链的路径。

1013.png

然后选择QtVersion,同样点击Add进行增加,同样也是主要选择一下qmake的路径即可!

1010.png

接下来,最后设置Kits,同样先点击Add,设置好名称,选择设备,选择编译器,最后选择QT版本即可!

1014.png

然后,在编译的时候要选择ARM64和Desktop这两份KIT,还是以前那句话,如果在编译的时候应该不会编译x64平台的,x64这里可以不用勾选的。

安装成功后,我们先随便拖入一个Linetext控件,然后进行编译,编译后发送到开发板中,然后执行,你就会发现无法执行成功。原因其实很简单,那就是我们的开发板上面并没有QT6的库,所以我们需要把QT6的库装入到开发板中,但是不可以用APT来进行安装,因为APT安装的库目前是6.4.2,而我们目前编译出来的是6.5.0,不过好在官方也给我们准备好了,我们只需要把开发板中/opt/aarch64/sysroots/armv8a-poky-linux/usr/lib下面所有的libQt6*.so.6的文件拷贝出来,发送到开发板中/lib/aarch64-linux-gnu/中,例如:libQt6Xml.so.6,然后还不够我们还需要把/opt/aarch64/sysroots/armv8a-poky-linux/usr/lib/plugins中的platforms文件夹传送到开发板中的用户根目录中,最后还需要通过APT把libxcb-cursor-dev libxcb-cursor0 libxcb-icccm4 libxcb-keysyms1 xcb libpcre2-16-0安装上去,安装成功,我们再把生成的程序也拷贝到开发板的用户根目录中,执行,如果没问题的话应该是可以运行了,如果失败可以看看有什么提示没有。

1015.jpg

其实,如果使用官方的Linux系统的话,我们可能并不需要这么麻烦,毕竟官方已经为我们把QT环境之类的已经全部准备好了,但是我依旧是选择了官方提供的Debian系统,原因是接下来我们需要更多的库,所以我们如果使用Debian系统的话,接下来可用的现成软件将会更多一些,而不用自己单独去移植,例如:输入法之类的。

更多回帖

发帖
×
20
完善资料,
赚取积分