ST意法半导体
直播中

听风说梦

9年用户 831经验值
擅长:可编程逻辑 嵌入式技术 EMC/EMI设计
私信 关注
[问答]

STM32CubeMX为IAR生成的构建不起作用是何原因?怎么解决

你好
为 CubeIDE 生成固件时,在生产和工程模式下都可以正常执行。
但对于 IAR/EWARM 只有工程模式有效。而且,是的,我知道不支持开箱即用的生产模式。需要手动复制到目标并启动。
目标 STM32MP1-DK2
STMCubeMX 6.3.0
STMCubeIDE 1.7.0
EWARM 9.10.1
  •   /* USER CODE BEGIN WHILE */
  •   while (1)
  •   {
  •     static int loopCounter;
  •     loopCounter++;
  •     HAL_GPIO_WritePin(LED_Y_GPIO_Port, LED_Y_Pin, GPIO_PIN_SET);
  •     if( loopCounter < 10 )
  •     {
  •       for(volatile int i = 0; i < 5000000; i++);
  •     }
  •     else
  •     {
  •       HAL_Delay(500);
  •     }
  •     HAL_GPIO_WritePin(LED_Y_GPIO_Port, LED_Y_Pin, GPIO_PIN_RESET);
  •     if( loopCounter < 10 )
  •     {
  •       for(volatile int i = 0; i < 5000000; i++);
  •     }
  •     else
  •     {
  •       HAL_Delay(500);
  •     }
  •     /* USER CODE END WHILE */
  •     /* USER CODE BEGIN 3 */
  •   }
  •   /* USER CODE END 3 */
繁殖方法
通过在 MX 项目管理器中更改附加的 HAL_Tick_TIM6.ioc 来生成 STMCubeIDE 和 EWARM 项目。
将代码片段添加到 main.c
  • 在 IDE 中以生产模式运行 STMCubeIDE 生成的项目。检查预期结果
  • 构建 EWARM 并复制/重命名为 /usr/local/project/HAL_Tick_TIM6_CM4/lib/firmware/HAL_Tick_TIM6_CM4.elf。启动 /usr/local/project/HAL_Tick_TIM6_CM4/fw_cortex_m4.sh stop 然后启动。检查错误结果。
  • 再次从 STMCubeIDE(步骤 1)运行 elf-file。检查错误结果。
预期结果
琥珀色 LED 持续闪烁。
错误结果
琥珀色 LED 闪烁 9 次,然后停止。
观察到的错误原因,不知道根本原因
NVIC TIM6 IRQ 由于某种原因被禁用。很难从 IAR 环境中调试...

回帖(1)

彭铮

2022-12-16 11:36:06
您是否在步骤 1/2/3 之间执行了电路板重置?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分