walker2048 发表于 2024-7-27 23:31

FRDM-MCXN947的纯Linux命令行环境搭建

<p><span style="font-size:16px;"><strong>前言</strong></span><br />
个人已经习惯使用Docker容器搭建编译环境,OpenHarmony也一样是用Scons和Python环境作为构建系统的基础。所以我就直接用现有的OpenHarmony容器环境来搭建RT-Thread的环境。</p>

<p><span style="font-size:16px;"><strong>1、下载源码</strong></span><br />
直接下载源码到自己可以操作的目录里,我喜欢放到/mnt目录下,当然权限是给到普通用户了。</p>

<pre>
<code>git clone https://github.com/RT-Thread/rt-thread.git</code></pre>

<p><br />
<span style="font-size:16px;"><strong>2、配置工具链</strong></span><br />
2.1 安装Scons和ccache</p>

<pre>
<code>sudo apt install scons ccache -y</code></pre>

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

<p>&nbsp;</p>

<div style="text-align: center;"></div>

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

<p>&nbsp;</p>

<div style="text-align: center;"></div>

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

<pre>
<code>export RTT_ROOT=/mnt/rt-thread
export PYTHONPATH=/mnt/rt-thread/tools</code></pre>

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

<p><span style="font-size:16px;"><strong>3、尝试使用pyocd烧录</strong></span><br />
安装了pyocd和nxp芯片支持后,就可以尝试使用命令烧录了,结果尝试了几次,不管是正常状态或者ISP状态,都没办法烧录。错误提示如下:</p>

<p>&nbsp;</p>

<div style="text-align: center;"></div>

<p>&nbsp;</p>

<p><span style="font-size:16px;"><strong>4、使用Jlink烧录</strong></span><br />
既然pyocd走不通,那我们直接换成Jlink来烧录,使用NXP的软件将daplink烧录成Jlink ob,然后解压缩最新版本的Jlink驱动。<br />
接下来直接在.bashrc里添加一个alias,实现短命令烧录</p>

<pre>
<code>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'</code></pre>

<p>编写flash.jlink烧录文件</p>

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

<p>&nbsp;</p>

<div style="text-align: center;"></div>

<p>&nbsp;</p>

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

<div style="text-align: center;"></div>

<p>&nbsp;</p>

lugl4313820 发表于 2024-7-28 07:51

大佬,你也太牛了,linux下面工具简单易用。

walker2048 发表于 2024-7-28 09:53

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

<p>菜得抠脚,不是大佬,只会点灯而已</p>

lugl4313820 发表于 2024-7-28 13:22

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

<p>李大佬,太谦虚了,您在嵌入界那绝对了大神!</p>
页: [1]
查看完整版本: FRDM-MCXN947的纯Linux命令行环境搭建