1
开箱即用2
连接3
获取软件4
搭建构建环境5
使用West命令行构建和加载6
使用VS Code构建和加载7
VS Code故障排除8
VS Code故障排除(续)Trimension SR250开发板提供了一个灵活的平台,可轻松将UWB测距与雷达功能集成至消费电子及工业物联网解决方案中。它支持轻松集成Trimension SR250,实现存在检测、定位及运动检测,助力提升效率与安全性。
本页面将指导您完成Trimension SR250开发板的设置与操作流程。
该套件内含物包括:
Something went wrong! Please try again.
除套件内含物外,还需要以下硬件。
FRDM-RW612开发板:需要进行少量改装,将API接口引脚链接到Arduino接头,以便与SR250-ARD板进行正常通信。
为使SR250-ARD Shield扩展板能够通过SPI与FRDM-RW612板进行通信,需要稍作改装,将SPI信号引出至Arduino接头。
或者,也可以直接使用跳线导线,将FRDM-RW612的Arduino兼容接头上的引脚D0连接至D11,将D1连接至D12。
Something went wrong! Please try again.
在第1步中,通过Arduino接头将两块板组装在一起:
确保FRDM-RW612板的两个USB-C端口连接至笔记本电脑。
如需更多指导,请参阅《SR250 UWB即插即用应用》 。
Something went wrong! Please try again.
搭建开发环境时,需要以下软件:
Python 3.8及以上版本。
以下依赖项:
# Install Python dependencies
pip3 install west ninja# Verify installations
python3 --version
cmake --version
ninja --version
west --versionSomething went wrong! Please try again.
以下步骤将指导您为基于Zephyr的项目搭建构建环境。
# Download SR250 Software to working directory
git clone https://github.com/nxp-uwb/sr250-uwbiot-zephyr.gitSomething went wrong! Please try again.
# Initialize west workspace
cd ~/sr250-uwbiot-zephyr
west init -l --mf west.yml uwbiot-topSomething went wrong! Please try again.
# Download Zephyr OS and all dependencies
west updateSomething went wrong! Please try again.
# Install Zephyr Python dependencies
pip install -r zephyr/scripts/requirements.txtSomething went wrong! Please try again.
# Set the environment (required for each new terminal session)# Windows:
zephyr\zephyr-env.cmd# Linux:
source zephyr/zephyr-env.shSomething went wrong! Please try again.
# Example: Build ranging controller demo
west build -b frdm_rw612 -p auto uwbiot-top/demos/common/demo_ranging_controller/zephyr# Example: Build radar demo
west build -b frdm_rw612 -p auto uwbiot-top/demos/radar/demo_radar/zephyr请将演示路径替换为要构建的具体演示路径。
注: 为确保SR250固件和校准参数为最新,建议在运行其他演示前先执行以下操作:
Something went wrong! Please try again.
# Flash built application using west flashSomething went wrong! Please try again.
打开串行终端应用,通过虚拟COM端口连接到FRDM-RW612 HS-USB接口,并设置以下配置:
复位FRDM-RW612板后,演示应用程序将在终端窗口中显示初始化消息、状态更新和运行日志。
Something went wrong! Please try again.
在本步骤中,需确保MS Visual Studio (VS) Code 已正确安装。
按照以下步骤安装Zephyr开发所需的VS Code扩展:
第1步:打开扩展视图
Ctrl+Shift+X,macOS上为Cmd+Shift+X)第2步:安装所需扩展
要设置VS Code,需要安装以下扩展:
第3步:安装MCUXpresso Zephyr依赖项
在设置过程中,Zephyr集成开发环境(IDE)扩展会提示您安装MCUXpresso Zephyr开发所需的依赖项。
打开MCUXpresso安装程序
注:如果MCUXpresso安全配置工具(SEC)或FreeMASTER安装失败,可跳过这些组件继续操作。
第1部分:Zephyr依赖项安装
在安装Zephyr依赖项的第1部分过程中,屏幕上将显示如下图所示内容。
第2部分:Zephyr依赖项安装
在安装Zephyr依赖项的第2部分过程中,屏幕上将显示如下图所示内容。
注:依赖项的安装可能需要几分钟时间,具体取决于网络连接速度。
导入FRDM-RW612 Zephyr存储库
Ctrl+Shift+P,macOS上为Cmd+Shift+P)
了解项目结构
FRDM-RW612 Zephyr项目基于CMake,提供以下功能:
导入CMake项目
在接下来的步骤中,完成CMake的导入。
注:将“应用类型”设置为“存储库”应用。
重要提示:在尝试导入项目之前,请确保已正确安装CMake工具扩展。
Something went wrong! Please try again.
在接下来的步骤中,构建并烧写应用。
选择构建配置
构建应用
Build(构建)按钮,或打开命令面板并选择CMake: Build构建输出位置
编译生成的二进制文件将位于与所选配置对应的构建目录中:
build/Debug/ (用于Debug构建)build/Release/ (用于Release构建)注:首次运行时,由于需要编译依赖项,构建过程可能需要几分钟。
Something went wrong! Please try again.
在接下来的步骤中,对开发环境进行调试。
配置调试设置
Ctrl+Shift+D)
硬件连接检查清单
在开始调试之前,需确认以下事项:
开始调试
F5,或点击“运行与调试”视图中的绿色启动按钮Something went wrong! Please try again.
本章节涵盖VS Code和命令行构建的常见问题。
# Install west via pip
pip install --user west
export PATH=$PATH:~/.local/binSomething went wrong! Please try again.
# Ensure west update completed successfully
west update# Try a pristine build
west build -b frdm_rw612 -p always Something went wrong! Please try again.
症状:
即使工作区中存在相关文件,仍可能遇到如下所示的错误:
fatal error: : No such file or directory CMake Error: Cannot find source file: Error: The system cannot find the path specified原因:
Windows默认的MAX_PATH限制为260个字符。当文件路径超过该字符限制时,Windows将无法访问这些文件,从而导致“找不到文件”错误。
解决方案:
要找到这些文件,可以使用较短的工作区路径(如C:\uwb),或者通过以下方法之一启用长路径支持:
# first method: in registry editor
1. Press Win + R, type "regedit" and press Enter
2. Go to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
3. Find or create a DWORD value: LongPathsEnabled
4. Set value to: 1
5. Restart your computer# Second method: in Group policy editor
1. Press Win + R, type "gpedit.msc" and press Enter
2. Navigate to: Computer Configuration > Administrative Templates > System > Filesystem
3. Enable "Enable Win32 long paths"
4. Restart your computer# Third method: via PowerShell command (to be run as Administrator)
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -ForceSomething went wrong! Please try again.
当遇到兼容性问题时,请尝试使用Windows Subsystem for Linux (如下所示)。
# Install WSL2 from PowerShell (Administrator)
wsl --install# Then work within WSL2 Ubuntu environment# Follow Linux instructions from thereSomething went wrong! Please try again.
当CMake无法找到生成的依赖文件时,会出现上述错误,常见原因包括:
错误示例
使用CMake时,可能会遇到以下情况:
fatal error: opening dependency file modules\psa_crypto_driver\...
\mcuxClPsaDriver_generate_ecp_key.c.obj.d: No such file or directoryfatal error: opening dependency file build/CMakeFiles/myproject.dir/src/
main.c.obj.d: No such file or directory出现此问题的原因可能包括:
解决方案
以下是为解决CMake错误而提供的建议。
# 1. Clean build directory completely
rm -rf build/
# 2. Re-run west update to ensure all dependencies are fetched
west update
# 3. Try pristine build
west build -b frdm_rw612 -p always
# 4. If still failing, check if all modules are present
west list
# 5. Verify CMake can find the toolchain
cmake --version Something went wrong! Please try again.
如果遇到Python版本不匹配问题,请参考以下内容:
# Ensure Python 3.8 or later
python --version
# Upgrade if needed
sudo apt install python3.10 # LinuxSomething went wrong! Please try again.
为排除CMake版本过时问题,请参考以下内容:
# Check version
cmake --version
# Upgrade via pip
pip install --upgrade cmake
# Or install from official source
# Linux: https://cmake.org/download/
# macOS: brew install cmakeSomething went wrong! Please try again.
如果未找到Ninja,请参考以下内容:
# Install Ninja
pip install ninja
# Or via package manager
sudo apt install ninja-build # Linux
brew install ninja # macOSSomething went wrong! Please try again.
如果未找到SDK,请参考以下内容:
# Set environment variable
export ZEPHYR_SDK_INSTALL_DIR=~/zephyr-sdk-0.16.5
# Add to ~/.bashrc for persistence
echo 'export ZEPHYR_SDK_INSTALL_DIR=~/zephyr-sdk-0.16.5' >> ~/.bashrcSomething went wrong! Please try again.
如果系统提示内存不足,请参考以下内容:
# Limit parallel jobs
west build -b frdm_rw612 -p auto -- -j2
# Or set in environment (Linux)
export CMAKE_BUILD_PARALLEL_LEVEL=2 Something went wrong! Please try again.
如果遇到磁盘空间错误,请参考以下内容:
# Check available space
df -h .
# Clean old builds
rm -rf build/
# Clean west cache (if needed)
rm -rf ~/.west/Something went wrong! Please try again.
如果遇到模块导入错误,请参考以下内容:
# Reinstall requirements
pip install -r zephyr/scripts/requirements.txt --force-reinstall
# Clear pip cache
pip cache purgeSomething went wrong! Please try again.
如果在烧写时权限被拒绝,请参考以下内容:
sudo usermod -a -G dialout $USER# Log out and log back inSomething went wrong! Please try again.
如果因未找到设备而导致烧写失败,请参考以下内容:
# Check if device is connected
# Check J-Link connection
JLinkExe # Should detect device (Linux)Something went wrong! Please try again.
如果遇到“未找到板”错误,请参考以下内容:
# List available boards
west boards
# Ensure you're using the correct board name
# For FRDM-RW612: frdm_rw612Something went wrong! Please try again.
本节继续介绍VS Code和命令行构建的常见问题。
在运行演示应用时,如果日志中出现如下所示的错误,则表示SR250固件版本与UWBIOT中间件版本不匹配。
运行演示应用uwbiot-top/demos/SR2xx/demo_sr2xx_fw_update将允许更新SR250固件。
Something went wrong! Please try again.
如果遇到与多个Python版本相关的冲突,请参考以下内容:
# Use virtual environment
python -m venv ~/Myvenv
source ~/Myvenv/bin/activate
# Then proceed with setupSomething went wrong! Please try again.
以下是可用于辅助完成调试过程的更多命令:
# Verbose build
west build -b frdm_rw612 -p auto -v # Show west configuration
west config# List all projects and their status
west list# Show build system info
west build -b frdm_rw612 -p auto -- --trace # Check environment variables
env | grep ZEPHYRSomething went wrong! Please try again.
如果问题仍然存在,请参阅以下附加资源:
Something went wrong! Please try again.
以下是用于辅助完成调试过程的更多命令:
# Verbose build
west build -b frdm_rw612 -p auto -v # Show west configuration
west config# List all projects and their status
west list# Show build system info
west build -b frdm_rw612 -p auto -- --trace # Check environment variables
env | grep ZEPHYRSomething went wrong! Please try again.