ThreadX @ Milk-V Duo (64M) 测试报告

支持状态

BASIC

最后更新

2024-06-21

ThreadX Milk-V Duo 测试报告

测试环境

操作系统信息

硬件信息

  • Milk-V Duo 64M
  • USB 电源适配器一个
  • USB-A to C 或 USB C to C 线缆一条
  • TF 卡一张
  • USB to UART 调试器一个(如:CH340, CH341, FT2232 等)
  • 杜邦线三根
  • Milk-V Duo 本体上预先焊接好调试所需的排针

测试示例 2

构建步骤

准备系统环境

sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tcl openssh-client cmake expect -y

下载和构建

git clone https://github.com/milkv-duo/duo-buildroot-sdk.git --depth=1
cd duo-buildroot-sdk/
./build.sh milkv-duo -j${nproc}

此时会产生 out/milkv-duo-????????-????.img 的镜像文件。该文件为镜像。

如此过程不正常,请参考 项目简介 排除故障。

展开 ThreadX-to-RISC-V64

duo-buildroot-sdk 中运行。

git clone https://github.com/saicogn/ThreadX-to-RISC-V64.git --depth=1

然后修改 build/milkvsetup.sh。大约为 455 行。

  FREERTOS_PATH="$TOP_DIR"/freertos

修改为

  #FREERTOS_PATH="$TOP_DIR"/freertos # 修改此项
  FREERTOS_PATH="$TOP_DIR"/ThreadX-to-RISC-V64

然后构建。

./build.sh milkv-duo -j${nproc}

此时会产生 out/milkv-duo-????????-????.img 的镜像文件。该文件为镜像。刷写到 SD 卡即可。

准备 TF 卡

将产生的 out/milkv-duo-????????-????.img 刷入 TF 卡即可。可使用 rufus。

登录系统

通过串口登录系统。

预期结果

系统正常启动,输出 threadx 相关信息。

实际结果

系统正常启动,输出 threadx 相关信息。

启动信息

启动完成后串口输出如下内容。

[root@milkv-duo]~# RT: [9.378810]threadx 1 running: 11
RT: [9.381959]threadx 0 running: 12
RT: [9.385273]float cal: 54
RT: [13.383809]threadx 0 running: 13
RT: [13.387046]float cal: 75
RT: [17.378809]threadx 1 running: 12
RT: [17.388810]threadx 0 running: 14
RT: [17.392046]float cal: 97
RT: [21.393809]threadx 0 running: 15
RT: [21.397046]float cal: 121
RT: [25.378809]threadx 1 running: 13
RT: [25.398810]threadx 0 running: 16
RT: [25.402046]float cal: 147
RT: [29.403809]threadx 0 running: 17
RT: [29.407046]float cal: 174
RT: [33.378809]threadx 1 running: 14
RT: [33.408809]threadx 0 running: 18
RT: [33.412046]float cal: 202
RT: [37.413809]threadx 0 running: 19
RT: [37.417046]float cal: 232

屏幕截图:

uart

测试示例 2

准备系统环境

sudo apt install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git gcc libssl-dev bc slib squashfs-tools android-sdk-libsparse-utils jq python3-distutils scons parallel tree python3-dev python3-pip device-tree-compiler ssh cpio fakeroot libncurses5 flex bison libncurses5-dev genext2fs rsync unzip dosfstools mtools tcl openssh-client cmake expect -y

下载和构建

sudo apt-get install wget git make
git clone https://github.com/milkv-duo/duo-examples.git --depth=1
cd duo-examples
source envsetup.sh
cd mailbox-test
make

此时会产生 mailbox_test 的可执行文件。

如此过程不正常,请参考 项目简介 排除故障。

部署可执行文件

将可执行文件拷贝到用户家目录下。

chmod +x mailbox_test
./mailbox_test

在串口中运行输出如下。

[root@milkv-duo]~# ./mailbox_test 
RT: [507.950049]prvQueueISR
RT: [507.952485]recv cmd(19) from C906B, param_ptr [0x00000002]
RT: [507.958306]recv cmd(19) from C906B...send [0x00000004] to C906B
C906B: cmd.param_ptr = 0x4
RT: [511.965433]prvQueueISR
RT: [511.967867]recv cmd(19) from C906B, param_ptr [0x00000003]
RT: [511.973689]recv cmd(19) from C906B...send [0x00000004] to C906B
C906B: cmd.param_ptr = 0x3

预期结果

灯亮起三秒后熄灭。

实际结果

灯亮起三秒后熄灭。

录像:

https://github.com/ruyisdk/support-matrix/assets/17025286/c0350c17-5e94-4c07-96f7-a6b3f66c531c

测试判定标准

测试成功:实际结果与预期结果相符。

测试失败:实际结果与预期结果不符。

测试结论

测试成功。