|
|
1 месяц назад | |
|---|---|---|
| .. | ||
| README.assets | 1 месяц назад | |
| applications | 1 месяц назад | |
| drivers | 1 месяц назад | |
| .config | 1 месяц назад | |
| Kconfig | 1 месяц назад | |
| Makefile | 1 месяц назад | |
| README.md | 1 месяц назад | |
| SConscript | 1 месяц назад | |
| SConstruct | 1 месяц назад | |
| rtconfig.h | 1 месяц назад | |
| rtconfig.py | 1 месяц назад | |
本目录包含NXP FRDM-IMX91 开发板的板级支持包代码。
i.MX 91系列采用了可扩展的Arm® Cortex®-A55内核,其主频高达1.4GHz,支持新一代LPDDR4内存以延长平台寿命,支持双千兆以太网和双USB端口,以及面向医疗、工业和消费物联网市场细分领域的丰富外设。
FRDM i.MX 91开发板是一款低成本、紧凑型开发板,采用i.MX 91应用处理器。该板配备板载IW610模块,集成了恩智浦的三频解决方案,支持Wi-Fi 6、BLE 5.4和802.15.4,适用于开发现代工业和物联网应用。该开发板包含LPDDR4、用于快速启动的eMMC存储、PMIC以及扩展功能。
FRDM i.MX 91开发板是一款入门级紧凑型开发板,采用i.MX 91应用处理器。
开发板主要硬件资源:
| 资源 | 简介 |
|---|---|
| 处理器 | ◆ i.MX 91应用处理器 ◆ Cortex-A55@1.4G ◆ EdgeLock®安全区域 |
| 存储器 | ◆ 1GB LPDDR4 ◆ 8GB eMMC5.1 ◆ MicroSD插槽 ◆ EEPROM |
| 显示器和摄像头接口 | ◆ 并行RGB LCD接口(40引脚扩展接口) ◆ 并行摄像头接口(40引脚扩展接口) |
| 无线 | ◆ u-blox MAYA-W476-00B三频Wi-Fi 6/BLE 5.4/802.15.4模块 |
| 音频 | ◆ 3.5mm耳机插孔 |
| 连接 | ◆ USB2.0 Type-C连接器 ◆ USB2.0 type A连接器 ◆ 两个GbE RJ45 ◆ CAN(HDR) ◆ 40引脚(2x20) ◆ 扩展接口 ◆ I²C HDR ◆ ADC HDR |
| 调试 | ◆ SWD连接器 ◆ 通过USB Type C的UART |
在FRDM i.MX 91开发板上调测RT-Thread的过程中,需要使用到的接口有:
从ARM开发者网站下载AArch64裸机工具链,
下载页面: Arm GNU Toolchain Downloads – Arm Developer
例如,64位Windows主机上下载: https://developer.arm.com/-/media/Files/downloads/gnu/14.3.rel1/binrel/arm-gnu-toolchain-14.3.rel1-mingw-w64-x86_64-aarch64-none-elf.zip
例如,下载后解压到本地路径:D:\ARM\arm-gnu-toolchain-14.3.rel1-mingw-w64-x86_64-aarch64-none-elf
下载页面:rt-thread.org/download.html#download-rt-thread-env-tool
在Env环境中,使用git命令下载RT-Thread源代码,例如:
git clone https://github.com/RT-Thread/rt-thread.git
在Env环境中,转到i.MX 91的BSP目录:
cd bsp/nxp/imx/imx91/
然后,设置工具链路径(Windows Env环境):
set RTT_EXEC_PATH=D:\ARM\arm-gnu-toolchain-14.3.rel1-mingw-w64-x86_64-aarch64-none-elf\bin
或者(bash):
export RTT_EXEC_PATH=/path/to/aarch64-none-elf/bin
接着,执行scons命令开始编译:
scons -j 8
开发板默认固件带有U-Boot启动加载器,开机3秒内通过串口发送换行符,可以进入U-Boot命令行界面。
将开发板和PC连接到同一个路由器。
例如,PC的IP地址为:192.168.0.101
在开发板的U-Boot命令行界面内,设置FRDM-i.MX为静态IP:
setenv ipaddr 192.168.0.120
或者从路由器动态获取IP:
dhcp
成功后,可以使用ping命令测试是否可以访问PC:
ping 192.168.0.101
成功则表示网络环境正常,可以执行后续步骤。
Windows系统可以使用Tftpd,下载链接: Releases · PJO2/tftpd64
例如,下载portable免安装版本: https://github.com/PJO2/tftpd64/releases/download/v4.74/tftpd64_portable_v4.74.zip
启动后,设置TFTP工作目录:
在PC的Env环境中,将 rtthread.bin 拷贝到TFTP工作目录:
copy /Y rtthread.bin D:\PortableSoftwareApps\tftpd64_portable_v4.74\work\
或者:
cp rtthread.bin /path/to/tftp_work_dir/
在开发板的U-Boot命令行界面中,首先执行如下命令,设置TFTP服务地址(PC的IP地址):
setenv serverip 192.168.0.101
然后,继续在开发板的U-Boot命令行界面中,执行如下命令,将rtthread.bin下载到内存中:
tftp 0x80000000 rtthread.bin
下载的目标内存地址为:0x80000000;
完成前述步骤后,在开发板的 U-Boot 命令行界面中,继续执行以下命令,以跳转至 0x80000000 地址并执行代码:
dcache flush
icache flush
go 0x80000000
每次开发板上电启动后,均需执行上述 U-Boot 命令,RT-Thread 方可正常运行。这在需要反复调试时显得不够便捷。
为此,可将以上命令写入 U-Boot 的环境变量 bootcmd 中,从而实现开机自动执行,便于后续调试。具体操作命令如下:
setenv ipaddr 192.168.0.120
setenv serverip 192.168.0.101
setenv bootcmd "tftp 0x80000000 rtthread.bin; dcache flush; icache flush; go 0x80000000"
saveenv
reset
其中,saveenv 命令用于保存环境变量的值,确保重启后依然生效;最后的 reset 为重启命令。
执行效果如下图所示:
另外,也可以先将PC上编译生产的rtthread.bin文件拷贝到MicroSD卡中,再将MicroSD弹出后插到开发板上,然后通过U-Boot的fatload命令将MicroSD卡中的文件加载内存,再执行跳转:
fatload mmc 1:1 0x80000000 rtthread.bin; dcache flush ; icache flush; go 0x80000000
相应的也可以保存到bootcmd变量中:
setenv bootcmd "fatload mmc 1:1 0x80000000 rtthread.bin; dcache flush ; icache flush; go 0x80000000"