改造成一个 UART 程序
上一课你的工程只会闪灯,这一课我们让它开口打印。最简单的办法是用
uart_hello 起手重新生成一个工程,在 QEMU 里看到它打印 Hello from WS63 ...。
QEMU 是本课可靠的成功路径。
uart_hello就是为 QEMU 设计的:它故意不初始化时钟, 只碰 UART0 寄存器。
第 1 步:用 uart_hello 起手生成工程
再跑一次 cargo generate,这次 Starter app 选 uart_hello:
cargo generate --git https://github.com/hispark-rs/hisi-rs-template
- 项目名:比如
my-uart。 - Target chip:
ws63(默认)。 - Starter app:选
uart_hello。 - App partition flash address:默认
0x00230000。
进入工程目录:
cd my-uart
第 2 步:在 QEMU 里运行
just run
-nographic 会把 UART0 接到你的终端。
第 3 步:看到它说话
控制台上你应当立刻看到 banner,随后是不断递增的 tick 计数:
Hello from WS63 on QEMU!
UART0 @ 0x44010000 is alive.
tick 0
tick 1
tick 2
...
计数器会一直涨下去。看到这些输出,说明你的 Rust 程序成功通过 UART0 打印了文本。
按 Ctrl-A 然后按 X 退出 QEMU。
成功了!你刚刚让一个属于你的工程打印出了第一行串口日志。
关于真机
在真正的硬件上,串口 banner 的点亮工作仍在进行中——真机需要先初始化时钟,
让波特率分频与 PLL 匹配,而 uart_hello 为了适配 QEMU 故意省去了这一步。
所以本课不承诺真机上能看到这条 banner;要在真板上稳定看到串口输出,
请关注 HIL 测试框架 的进展。
想在真机上看到稳定可观测的行为,最稳妥的仍是上一课的 blinky(GPIO 翻转,已验证)。
接下来想做点什么?