调试UCOSii空闲任务跳不出来,调试程序时有些语句不执行 且不可设置成断点

在裸机STM32程序中移植UCOSii出现以下问题:

任务运行到空闲任务跳不出来。

查询资料半天是systeminit没有初始化

可是明明在delay_init中有初始化

单布debug程序发现一条语句不执行:reload=SystemCoreClock/8000000;

哎,居然是魔术棒中C/C++中的Optimization要选择level 0(-O0),

重新编译后,该条语句才能被执行,

这才初始化算成功,

任务也不会出现卡在空闲任务中出不来的现象

希望可以帮助到小伙伴。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ucos ii调试程序下载可以按照以下步骤进行: 1. 首先,确保使用的是支持ucos ii的硬件平台和开发环境。ucos ii可以在多种硬件平台上运行,如ARM、MIPS等,因此需要根据具体的硬件平台进行选择。 2. 在开发环境中,需要为ucos ii项目进行配置。这包括指定任务的优先级、任务堆栈大小、钟频率等参数。通过配置文件或开发工具进行配置,确保ucos ii可以正常运行。 3. 在开发环境中编写应用程序,包括ucos ii的初始化、任务创建和任务函数等。根据需求编写应用程序的代码,并将其集成到ucos ii的框架中。 4. 使用支持ucos ii的调试工具连接硬件平台,例如JTAG或SWD,并将调试工具连接到计算机上。 5. 在开发环境中进行编译和链接,生成可执行文件。通过编译器将编写的代码编译成机器可以执行的形式,并将不同的模块链接在一起,生成可执行文件。 6. 将生成的可执行文件下载到硬件平台上。使用相应的下载工具,将可执行文件通过调试工具下载到硬件平台的存储器中。 7. 启动硬件平台,并观察调试工具上的信息。跟踪程序的执行,查看各个任务是否按照优先级进行正确的调度,确保ucos ii的运行正常。 8. 若发现问题,可以通过调试工具提供的功能进行调试。例如,通过断点、变量监视等功能,定位问题的源头,并进行修改。 9. 进行迭代和调试,直到应用程序能够正常运行。 通过以上步骤,可以完成ucos ii调试程序的下载过程,并确保应用程序可以在硬件平台上顺利运行

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值