[分享] FRDM-MCXN947的纯Linux命令行环境搭建

walker2048   2024-7-27 23:31 楼主

前言
个人已经习惯使用Docker容器搭建编译环境,OpenHarmony也一样是用Scons和Python环境作为构建系统的基础。所以我就直接用现有的OpenHarmony容器环境来搭建RT-Thread的环境。

1、下载源码
直接下载源码到自己可以操作的目录里,我喜欢放到/mnt目录下,当然权限是给到普通用户了。

git clone https://github.com/RT-Thread/rt-thread.git


2、配置工具链
2.1 安装Scons和ccache

sudo apt install scons ccache -y


2.2 安装和配置arm-none-eabi-gcc
从arm官网下载标准工具链(arm-none-eabi-gcc),并解压缩。由于RTT可以直接在脚本里指定工具链的绝对路径,我们也可以偷懒不配置环境变量。
直接修改板级目录洗的编译配置脚本,设置gcc的绝对路径

 

553a4ce9a3033b18104670c5670c96b5.png.jpg


添加ccache配置,虽然默认情况下,编译文件不多,是不需要使用ccache的,但是如果用的第三方库比较多,例如lvgl,mqtt等等。需要编译的文件越多,缓冲带来的加速性能就更好。

 

8da30b5b04c0216b22a33c100c088f42.png.jpg


添加环境变量配置(如果想使用scons —menuconfig来选择软件包或者配置)。需要在~/.bashrc里添加一下内容。

export RTT_ROOT=/mnt/rt-thread
export PYTHONPATH=/mnt/rt-thread/tools

配置好之后,就可以使用scons -j8命令进行编译了,编译结束后就可以准备烧录了。

3、尝试使用pyocd烧录
安装了pyocd和nxp芯片支持后,就可以尝试使用命令烧录了,结果尝试了几次,不管是正常状态或者ISP状态,都没办法烧录。错误提示如下:

 

df16665d3c9b0d3e34fc8a352949e7b8.png.jpg

 

4、使用Jlink烧录
既然pyocd走不通,那我们直接换成Jlink来烧录,使用NXP的软件将daplink烧录成Jlink ob,然后解压缩最新版本的Jlink驱动。
接下来直接在.bashrc里添加一个alias,实现短命令烧录

alias jflash='sudo /mnt/MyNAS/walker/.bin/JLink/JLinkExe -autoconnect 1 -device MCXN947 -if swd -speed 10000  -commandfile /mnt/MyNAS/walker/work/rt-thread/bsp/nxp/mcx/mcxn/frdm-mcxn947/flash.jlink'

编写flash.jlink烧录文件

reset
loadfile /mnt/MyNAS/walker/work/rt-thread/bsp/nxp/mcx/mcxn/frdm-mcxn947/rtthread.elf
exit

 

3395fb99e7c003b17e5e3d2e0b92deb6.png.jpg

 

烧录完毕后,就可以使用minicom查看串口信息,这时候就可以看到RTT的msh shell了

b7c885e96a30a1324c98bbbf2f63d05e.png.jpg

 

回复评论 (3)

大佬,你也太牛了,linux下面工具简单易用。
点赞  2024-7-28 07:51
引用: lugl4313820 发表于 2024-7-28 07:51 大佬,你也太牛了,linux下面工具简单易用。

菜得抠脚,不是大佬,只会点灯而已

点赞  2024-7-28 09:53
引用: walker2048 发表于 2024-7-28 09:53 菜得抠脚,不是大佬,只会点灯而已

李大佬,太谦虚了,您在嵌入界那绝对了大神!

点赞  2024-7-28 13:22
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复