renode,"push" 个按钮和 "see" 个 LED 灯

renode, "push" a button and "see" a LED lighting

我是 运行 我的 first renode demostm32f4_discovery.resc。到目前为止一切顺利,我在 sysbus.uart4 window 和终端中的以太网数据包中看到了来自 Contiki 的公告。

如果 UserLED 打开,我如何 "push" UserButton 和 "see"?

stm32f4_discovery.repl:

UserButton: Miscellaneous.Button @ gpioPortA
    -> gpioPortA@0

UserLED: Miscellaneous.LED @ gpioPortD

gpioPortD:
    12 -> gpioPortD@0

到目前为止我找到的最接近的例子是 I2C temperature

是否有 demo-.elf 的源代码?
http://antmicro.com/projects/renode/stm32f4discovery.elf-s_445441-and.so.on...

Renode 中的 STM32F4 Discovery 平台描述存在问题,现已在 master 上修复。

要切换按钮,您应该使用 Monitor CLI。列出所有可用方法:

(STM32F4_Discovery) gpioPortA.UserButton 
The following methods are available:
[...]
 - Void Press ()
 - Void PressAndRelease ()
 - Void Release ()
[...]
 - Void Toggle ()
[...]

您可以使用这些与按钮进行交互:

(STM32F4_Discovery) gpioPortA.UserButton Toggle

LED 状态会发生变化,但不太容易发现。您可以手动检查状态:

(STM32F4_Discovery) gpioPortA.externalLed State 
False (or True)

您还可以跟踪对记录器中 LED 的访问 window。要启用它,运行:

(STM32F4_Discovery) logLevel -1 gpioPortA.externalLed 
(STM32F4_Discovery) logLevel 3 # this is not required, but will hush other logs

不幸的是,没有可用的来源 - 这是一个非常古老的演示,我们当时也没有跟踪它们。