STM32F103C8t6移植uCOSIII提示内存溢出

目标:将uCOSIII移植到C8T6芯片上,使用的是野火的例程工程进行移植的

出现问题:

将任务调度和SysTick时基中断配置完成后,编译工程出现无法链接的情况,提示内存不足的情况,观察map文件,map文件也为完全生成

解决办法:

程序在执行到mem_lib.o文件时出错,原因是该文件中有使用到大量的堆空间,导致内存溢出,在lib_cfg.h中修改LIB_MEM_CFG_HEAP_SIZE参数,野火默认使用27K,这里改小一点可以编译成功。

 参考链接:stm32f103c8t6移植ucos-Ⅲ内存溢出bug_Top嵌入式的博客-CSDN博客_stm32f103c8t6移植ucos项目场景:移植UCOS到stm32f103c8t6时BUG日志问题描述:c8t6移植ucos中报错内存溢出 报错代码如下: .\Objects\ISO-STM32.axf: Error: L6406E: No space in execution regions with .ANY selector matching lib_mem.o(.bss)..\Objects\ISO-STM32.axf: Error: L6406E: No space in execution regions withttps://blog.csdn.net/qq_45396672/article/details/110222577?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0-110222577-blog-103569502.pc_relevant_paycolumn_v3&spm=1001.2101.3001.4242.1&utm_relevant_index=2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!感谢您的提问。要在STM32F103C8T6移植uC/OS-II操作系统,您可以按照以下步骤进行操作: 1. 准备工作: - 下载uC/OS-II源代码,并将其加入您的工程中。您可以从Micrium官方网站获取源代码。 - 确保您已经熟悉STM32F103C8T6的硬件配置,并且已经完成了基本的初始化工作。 2. 配置uC/OS-II: - 打开uC-CPU目录下的"cpu_cfg.h"文件,根据您的硬件平台配置相关选项,如时钟频率、堆栈大小等。 - 打开OS_CFG目录下的"os_cfg.h"文件,配置uC/OS-II的一些参数,如任务数量、时钟节拍等。 3. 硬件驱动支持: - 根据您的需求,编写或添加适当的设备驱动程序。 - 确保uC/OS-II能够与硬件平台协同工作,例如定时器、中断等。 4. 创建任务: - 在main函数中使用OSTaskCreate函数创建您的任务。您可以根据自己的需求创建多个任务。 - 每个任务都应该有一个入口函数,您可以在这里编写任务的逻辑。 5. 启动uC/OS-II: - 在main函数中调用OSStart函数启动uC/OS-II内核。这会启动任务调度器并开始执行任务。 这些是移植uC/OS-IISTM32F103C8T6的基本步骤。请注意,移植过程可能会因为您的具体需求和硬件平台的差异而有所不同。为了成功移植,您可能需要进一步了解uC/OS-II的使用文档和STM32F103C8T6的技术参考手册。 希望这些信息对您有所帮助!如有任何疑问,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值