Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
NXP 微控制器
NXP-MCXN947
NXP MCXN947测评之(一)linux下scons+gcc+pyocd开发环境搭建
发布于 2024-03-21 13:12:54 浏览:583
订阅该版
[tocm] 谢谢rt-thread,这是一块很好的开发板,做工优良。大概说下肉眼观板的细节:板载一颗LPC55S69做的daplink;板载nor flash; tfcard槽未焊;板子四脚有橡皮圈,放桌子上声音没那么刺耳; 开发环境主要解决两个问题:编译、烧录和调试。对于喜欢linux命令行下开发的人来说,更习惯scons/makefile/cmake/meson + gcc + openocd/pyocd,下面分享适用于NXP MCXN947平台的scons + gcc + pyocd开发环境搭建,其中scons是build工具,gcc是toolchain,pyocd用来烧录和调试。假设系统是debian系,其它系列arch、红帽、gentoo大同小异。按步骤做完后你也能从源码编译rt-thread并烧录到板子上启动进msh。 # 一 工具安装 scons和gcc建议安装linux发行版自带的,还能随着系统升级而升级 ```bash $ sudo apt-get install gcc-arm-none-eabi scons ``` 对于pyocd的安装有讲究,因pyocd开发非常快,更新比较频繁,所以发行版自带的版本可能有点旧,所以笔者选择通过pip安装,当然如果芯片架构比较成熟,可用旧版本的pyocd ```bash $ python3 -m pip install -U pyocd ``` 注意1:通过上述pip安装的pyocd,其位置在$HOME/.local/bin,记得将此目录设置进PATH环境变量 注意2:通过上述pip安装的pyocd,未安装对应的udev rules,请到pyocd官方仓库下载50-cmsis-dap.rules文件,并将其放入/etc/udev/rules.d/目录,并执行 ```bash $ sudo udevadm control --reload ``` pyocd对各种SoC的支持是通过所谓的DFP(Device Familiy Pack)来支持的, pack格式遵循Open-CMSIS-Pack Spec。pack来源又分为pyocd built in,pyocd下载的,手动管理的。这里并不过于深入pyocd的pack管理。幸运的是MCXN947可以由pyocd命令下载,说明NXP已经将其pack上传到Keil了。让我们安装MCXN947对应的pack ```bash $ pyocd pack install MCXN947 ``` 看看安装成功没有 ```bash $ pyocd list -t ... mcxn947 NXP MCXN947 MCXN947 pack mcxn947vdf NXP MCXN947VDF MCXN947 pack mcxn947vnl NXP MCXN947VNL MCXN947 pack ... ``` 可以看到已经支持MCXN947 target了 # 二 rt-thread源码clone和编译 ```bash $ git clone https://gitee.com/rtthread/rt-thread.git $ cd rt-thread ``` 设置好RTT_EXEC_PATH环境变量 ```bash export RTT_EXEC_PATH=$PATH ``` 编译rt-thread ```bash $ cd bsp/nxp/mcx/mcxn/frdm-mcxn947 $ scons --menuconfig //选你要选的内容,或者什么都不做直接退出 $ scons ``` 编译结束会在当前目录下有rtthread.bin文件,我们需要把它烧入开发板。 # 三 bin文件烧入开发板 用USB线缆连接PC机usb端口和开发板的标记为MCU-LINK type-c端口,然后运行pyocd测试能否看到调试器和目标版 ```bash $ pyocd list # Probe/Board Unique ID Target -------------------------------------------------------------------------------------------------------- 0 NXP Semiconductors MCU-LINK FRDM-MCXN947 (r0E7) CMSIS-DAP V3.128 B04TBJOPWGO3X ✖ mcxn947vdft NXP FRDM-MCXN947 ``` Nice, 已经识别调试器daplink和目标板! 开始烧录镜像,不过在烧录镜像前打开串口吧,板子的uart接入了daplink的cdc虚拟串口,可以用minicom等串口工具,这里不多费笔墨。 ```bash $ pyocd load -e sector -t mcxn947vdf rtthread.bin ``` 这里并不对pyocd命令参数做过多介绍,以后有机会可以单独写一篇文章介绍pyocd的使用、pack管理和在线调试。镜像烧录完毕后,板子会被自动reset,然后minicom下就能看到rtt启动log和msh了 ```bash sram heap, begin: 0x0x200019e8, end: 0x0x200119e8 \ | / - RT - Thread Operating System / | \ 5.1.0 build Mar 19 2024 21:21:21 2006 - 2024 Copyright by RT-Thread team using gcc, version: 13.2 MCXN947 HelloWorld msh > ```
2
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
rvcore
这家伙很懒,什么也没写!
文章
10
回答
7
被采纳
1
关注TA
发私信
相关文章
1
试贴-消灭0主题
2
LPC M4的一些资料
3
LPC4088的临时分支
4
lpc1788 ad 不稳定
5
1788 LCD控制器缓冲区字节问题
6
一起来学习LPC4088吧
7
上传LPC4088的realtouch主工程
8
RealBoard 4088预定帖 [第一批板子不多,预定提前结束]
9
晒RealBoard LPC4088开箱照啦,速带小板凳前来围观
10
4088主程序需要的SD卡资源
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
a1012112796
20
个答案
3
次被采纳
张世争
11
个答案
3
次被采纳
踩姑娘的小蘑菇
7
个答案
3
次被采纳
rv666
9
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
6
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部