K1921VG015 RISC-V开发板工具链与OpenOCD配置指南
基于RISC-V架构的K1921VG015微控制器开发板已启动演示项目。这需要DirtyJTAG JTAG适配器、riscv-gnu-toolchain编译器以及NIIET提供的补丁版OpenOCD。本教程在Windows 11的WSL环境中使用Debian 13(trixie)完成。
安装基础软件包确保工具链能够正常构建:
sudo apt install autoconf automake autotools-dev curl python3 python3-pip python3-tomli libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat1-dev ninja-build git cmake libglib2.0-dev libslirp-dev libncurses-dev libusb-1.0-0-dev libusb-1.0-0 cmake
构建riscv-gnu-toolchain编译器
克隆包含递归子模块的代码仓库:
git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
cd riscv-gnu-toolchain
./configure --prefix=/opt/riscv --enable-multilib
sudo make
--enable-multilib标志启用RV32和RV64架构支持。以root权限构建确保安装到/opt/riscv目录。完成后,将/opt/riscv/bin添加到PATH环境变量,即可访问riscv64-unknown-elf-gcc等工具。
编译支持DirtyJTAG的OpenOCD
使用NIIET的OpenOCD分支(提交ed64294116beb6bc335a6c5809b46a87add8042a):
git clone --recursive https://gitflic.ru/project/niiet/openocd.git
cd openocd/
git apply --verbose 0001-jtag-add-support-for-adapter-DirtyJTAG.patch
git apply --verbose 0002-fix-correct-calloc-argument-order-for-GCC-14-compatibility.patch
./bootstrap
./configure --prefix=/usr/
make -j$(nproc)
sudo make install
补丁0001添加了DirtyJTAG适配器驱动。补丁0002修复了calloc参数顺序以兼容GCC 14。将k1921vg015.cfg配置文件复制到/usr/share/openocd/scripts/target/目录——基础NIIET版本未包含该芯片支持。
构建并烧录演示项目
演示项目在Syntacore Development Toolkit中生成,手动添加了CMakeLists.txt文件。构建项目:
mkdir build
cd build
cmake ../CMakeLists.txt
make
生成的Run_leds.bin文件已准备就绪。在WSL环境中连接USB设备:
usbipd list # 查找DirtyJTAG的BUSID,例如1-3
usbipd attach --wsl --busid 1-3
通过OpenOCD启动固件:
sudo openocd -f interface/dirtyjtag.cfg -f target/k1921vg015.cfg -c "program Run_leds.bin 0x80000000 verify reset exit"
该命令在地址0x80000000处编程,验证完整性,重置并退出。在纯Linux系统中,可跳过usbipd步骤。
关键配置步骤列表:
- 安装Debian软件包以支持工具链
- 在
/opt/riscv目录构建多架构编译器 - 为OpenOCD打补丁并编译,添加DirtyJTAG支持
- 将
k1921vg015.cfg添加到脚本目录 - 在WSL中构建CMake项目并连接USB设备
- 烧录固件并进行验证与重置
注意事项
--enable-multilib对单一工具链支持RV32/RV64至关重要- OpenOCD补丁(DirtyJTAG和GCC14-calloc)必不可少
- 加载地址0x80000000是K1921VG015的标准地址
- WSL环境需要usbipd实现JTAG访问
k1921vg015.cfg配置文件需手动添加
进一步调试可通过类似工具链步骤深入研究芯片架构。
— Editorial Team
暂无评论。