上传的代码未在 Nucleo H745ZI 上执行

Posted

技术标签:

【中文标题】上传的代码未在 Nucleo H745ZI 上执行【英文标题】:Uploaded code not executing on the Nucleo H745ZI 【发布时间】:2021-06-06 14:42:11 【问题描述】:

这是为熟悉 Nucleo H745ZI 或 H7 的人提出的问题。

当我收到 Nucleo H745ZI 时,它上面有闪烁的 LED 程序。这工作正常。

现在我正在尝试上传我自己的程序,但它根本没有做任何事情。 LED 和 UART 都没有输出。这是在 CubeMXIDE 中生成一个新项目之后。一切都是默认的。

我的代码;

  HAL_GPIO_TogglePin (GPIOB, GPIO_PIN_14);
  HAL_Delay(50);
  HAL_GPIO_TogglePin (GPIOE, GPIO_PIN_1);
  HAL_Delay(100);
  HAL_GPIO_TogglePin (GPIOB, GPIO_PIN_0);
  HAL_Delay(200);
 
  uint8_t buff[4] = 3, 4, 5, 6;
  HAL_UART_Transmit(&huart3, buff, sizeof(buff), HAL_MAX_DELAY);

我已经尝试过构建和手动上传 CM7.bin 文件并使用 CubeMXIDE 中的调试工具。两者都不起作用。

固件已更新。

顺便问一下,有谁知道我在哪里可以找到这个默认程序?

【问题讨论】:

【参考方案1】:

当我们在 NUCLEO-H745ZI-Q 上工作时,请记住我们有一个双核架构,因此我们必须在 CubeMX 项目中或在 System Core > GPIO 选项卡上的 Cube IDE 配置窗口中为每个内核配置外设LEDS 和 UART 相同

一旦你生成了代码,你就会在 M4 和 M7 子项目目录中使用它们自己的源文件和 main.c 文件。

另外,根据我的经验,我注意到您必须编译和上传 core-main.c-program 才能在板上运行您的代码,特别是当您在核心 M4 上编程时,因为上传的代码在您上传之前不会执行M7 程序。

【讨论】:

嗨,JCTV。请使用 cmets 部分的 cmets。【参考方案2】:

为 NUCLEO-H745ZI-Q 找到解决方案: 请勿在 Nucleo 板存储中拖放 CM4 或 CM7 bin 文件。使用STM32CubeIDE将程序上传到每一台。创建新项目时使用默认的 NUCLEO-H745ZI-Q 板设置。您只需连接 ST Link USB。

【讨论】:

以上是关于上传的代码未在 Nucleo H745ZI 上执行的主要内容,如果未能解决你的问题,请参考以下文章

CAN BUS STM32 Nucleo F429ZI CAN 写入失败

RTThread-NUCLEO-L4R5ZI-OTG(USBHOST)功能实现和测试

RTThread-NUCLEO-L4R5ZI-OTG(USBHOST)功能实现和测试

STM32F767ZI nucleo板没有连接USB

STM32H743ZI Nucleo 似乎无法通过 FDCAN 2 传输?

为啥 Nucleo 144 上的引脚没有输出足够高的电压,尽管输出设置为 HIGH?