找回密码
 立即注册
查看: 205|回复: 7

FreeRTOS库函数版20220817,改成HUGE模式为什么不能运行了|不使用REMOVEUNUSED即可

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-03-08 11:46:17
已绑定手机

1

主题

6

回帖

45

积分

新手上路

积分
45
发表于 2025-3-6 13:28:06 | 显示全部楼层 |阅读模式
一直想研究一下FreeRTOS,这几天刚好不忙,就翻出了之前买的STC大学计划实验箱9.4版2022-3-01
官网上下载的FreeRTOS-STC32G-CORE-V1.0.2-Library-DemoCode-20220817(函数库版)

用在STC实验箱9.4版上,LARGE模式下可以正常运行(数码管温度和时间显示正常),改成HUGE模式就能不能运行了(数码管不显示)

我改了如下部分,大家帮我看还有没有其他要改的

改configUSE_ROMHUGE

改configUSE_ROMHUGE



截图202503061326512944.jpg
还有其他兄弟碰到这个问题吗?

另外:我试了一下寄存器版---FreeRTOS-STC32G-CORE-V1.0.2-DemoCode-20220609,也是改上面的这些地方,可以正常运行。




回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-6 13:33:00 | 显示全部楼层
关于FreeRTOS在STC32G-CORE平台上从LARGE模式切换到HUGE模式后无法正常运行的问题,可能涉及内存模型切换带来的指针大小和内存布局变化。HUGE模式下,指针从16位扩展至24位,可能导致原本在LARGE模式下正常使用的内存地址访问失效。建议检查以下几点:

1. **内存映射配置**:确保在HUGE模式下,内存映射配置正确,尤其是堆栈和任务控制块的地址范围。

2. **指针类型处理**:检查代码中所有指针相关操作,确保在HUGE模式下使用正确的指针类型和内存访问方式。

3. **编译选项**:确认编译器选项已正确设置为HUGE模式,且相关库函数支持该模式。

4. **调试信息**:通过调试工具查看程序运行时的内存状态和错误信息,定位问题所在。

建议参考STC官方文档和FreeRTOS移植指南,确保所有配置和代码修改符合HUGE模式的要求。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 0 反对 1

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-3-6 13:38:00 | 显示全部楼层
在将FreeRTOS库函数版从LARGE模式切换到HUGE模式时,可能会遇到运行异常的问题。主要原因在于内存模型的差异,LARGE模式和HUGE模式对内存的访问方式和地址空间管理不同,可能导致代码和数据段的重定位出现问题。

建议检查以下方面:
1. **内存映射**:确保在HUGE模式下,代码和数据段的内存映射设置正确,特别是堆栈和全局变量的地址范围。
2. **编译器配置**:检查编译器的内存模型设置,确保所有模块和库文件都一致使用HUGE模式编译。
3. **链接脚本**:验证链接脚本是否适配HUGE模式,确保代码和数据段的分配符合预期。
4. **函数调用**:某些库函数可能对内存模型有依赖,需确认其是否支持HUGE模式。

建议参考STC官方文档和FreeRTOS的移植指南,确保所有配置和代码修改符合HUGE模式的要求。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 0 反对 1

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-03-08 11:46:17
已绑定手机

1

主题

6

回帖

45

积分

新手上路

积分
45
发表于 2025-3-6 13:46:23 | 显示全部楼层
国芯人*** 发表于 2025-3-6 13:38
在将FreeRTOS库函数版从LARGE模式切换到HUGE模式时,可能会遇到运行异常的问题。主要原因在于内存模型的差 ...

AI别捣乱,用的就是STC官方移植的版本
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 08:13:06
已绑定手机

27

主题

341

回帖

1687

积分

金牌会员

机长

积分
1687
发表于 2025-3-7 11:42:06 | 显示全部楼层
应该指针长度变了,有些直接操作寄存器的地方地址偏了
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-03-08 11:46:17
已绑定手机

1

主题

6

回帖

45

积分

新手上路

积分
45
发表于 2025-3-7 11:56:03 | 显示全部楼层
我用的是STC官方已经测试过的正式发布的版本FreeRTOS-STC32G-CORE-V1.0.2-Library-DemoCode-20220817,除了configUSE_ROMHUGE,没有改一行代码,
会不会是还有什么地方修改或配置的,我没有做?

点评

[attachimg]87127[/attachimg] 删除这个额外参数即可 HUGE模式下Keil编译对于这个指令的支持不是很好,所以会造成不能正常运行  详情 回复 发表于 2025-3-7 13:36
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2025-3-7 13:36:40 | 显示全部楼层
sla*** 发表于 2025-3-7 11:56
我用的是STC官方已经测试过的正式发布的版本FreeRTOS-STC32G-CORE-V1.0.2-Library-DemoCode-20220817,除了 ...

截图202503071336035411.jpg

删除这个额外参数即可
HUGE模式下Keil编译对于这个指令的支持不是很好,所以会造成不能正常运行
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-03-08 11:46:17
已绑定手机

1

主题

6

回帖

45

积分

新手上路

积分
45
发表于 2025-3-7 16:00:36 | 显示全部楼层
王*** 发表于 2025-3-7 13:36
删除这个额外参数即可
HUGE模式下Keil编译对于这个指令的支持不是很好,所以会造成不能正常运行
...

果然,我搞了两天都没搞定,
谢了,兄弟
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 06:53 , Processed in 0.175945 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表