项目简介
本项目基于STM32的NUCLEO - F446RE开发板,借助Renode和Robot Framework,可在无目标硬件的主机PC上对固件进行仿真和测试。通过修改默认repl文件增加蓝色用户按钮功能,按下并释放该按钮能够切换板载LED灯的状态。项目主要利用STM32的HAL库检测按钮状态并控制LED灯亮灭。
项目的主要特性和功能
- 支持硬件仿真测试,利用Renode和Robot Framework在主机PC上对固件进行仿真与测试,无需目标硬件。
- 可通过外部中断检测按钮的按下和释放,触发中断事件。
- 能使用GPIO控制LED灯的亮灭,按钮按下时LED灯状态切换。
- 配置了系统时钟和中断,确保程序正确运行,包含电源管理功能,可进入低功耗模式。
- STM32F4xx的HAL库支持DMA功能,可提高数据传输效率(本项目未使用)。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件,并已安装必要依赖,依赖如下: - GNU Arm Embedded Toolchain 10 - 2020 - q4 - major - GNU Make 4.2.1 - Renode 1.14.0 - STM32CubeMX 6.8.1(仅用于初始项目设置)
操作步骤
- 准备好STM32F4xx微控制器开发板(如NUCLEO - F446RE),并连接好LED灯和按钮。
- 构建项目:在安装好所需软件包后,打开终端,执行以下命令构建项目:
bash cd nucleo-f446re/ButtonLed make
编译后的二进制文件将生成在nucleo-f446re/ButtonLed/build
目录下。 - 测试项目:从主目录运行以下命令测试预期行为:
bash renode-test tests/test-button.robot
- 使用Renode进行仿真测试,确保程序在PC上按预期运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】