stm32cubemx生成不了keil工程文件_STM32CubeMx取消freeRTOS重新生成工程运行卡死

芯片型号:STM32F427VG

软件版本:Stm32CubeMx 5.6.0

库版本:STM32Cube FW_F4 V1.25.0

使用STM32CubeMx配置了freeRTOS,用得不爽等各种原因又不想要freeRTOS了,就取消了freeRTOS,将SYS->Timebase Souce改回SysTick,重新设置中断优先级,重新生成工程,去除工程中自己添加的和freeRTOS有关的代码,重新编译,编译没问题,下载到stm32板子上后莫名的卡死,启动就卡死,串口打印信息打印到一半就卡住了,很无语

经过艰难的检查,发现系统的SysTick_Handler中断代码不存在,代码没有自动生成,估计这是个bug,然后自己对比了之前没有配置freeRTOS前的stm32CubeMx工程文件(你的工程名称.ioc)

比较结果如下:左侧为之前没配置freeRTOS前的ioc文件内容,右侧为配置freeRTOS后又取消的ioc文件内容

3dadbd18a76106e80386fcec96f0d06a.png

正确配置应该为:

NVIC.SysTick_IRQn=true:0:0:false:false:true:false:true

手动修改一下ioc文件然后重新打开,重新生成工程即可

当然也可以手动添加中断函数,或者保留使用定时器方式也应该没问题

/**  * @brief This function handles System tick timer.  */void SysTick_Handler(void){  /* USER CODE BEGIN SysTick_IRQn 0 */  /* USER CODE END SysTick_IRQn 0 */  HAL_IncTick();  /* USER CODE BEGIN SysTick_IRQn 1 */  /* USER CODE END SysTick_IRQn 1 */}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 要将Keil工程迁移到STM32CubeMx,可以按照以下步骤进行操作。首先,新建一个工程文件夹,并将STM32CubeIDE的工作空间中的空白工程文件全部复制到该文件夹中。工作空间的地址可以在STM32CubeIDE中找到。\[1\]然后,删除旧工程中的"system_stm32f4xx.c"文件。接下来,在STM32CubeMx重新生成代码,这将自动生成一个新的同名文件,这样就成功将工程迁移到新版本中了。请注意,只能从低版本迁移到高版本,不建议从高版本迁移到低版本,因为高版本向下兼容的常识是不可行的。\[2\]在迁移过程中,可能会遇到一些兼容性问题和错误。这是因为STM32CubeMx的版本更新非常快,所以建议在更新版本后,使用新版本打开旧工程时要注意这些问题。\[3\] #### 引用[.reference_title] - *1* [STM32项目从Keil MDK迁移至STM32CubeIDE(不含LWIP和FreeRTOS)](https://blog.csdn.net/wujunfeng200808/article/details/128119979)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [STM32CubeMx在不同版本的工程迁移时生成代码编译出错各种multiply defined](https://blog.csdn.net/wu10188/article/details/89692407)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值