CosyOS
私信程序收发失败,不知什么原因STC8H吗?
专业版测试程序,STC32G默认配置,私信不能使用。
如果是STC8H,是测试程序发现问题,还是你自己重新创建的任务?
把情况描述更具体一些,我好方便判断。
STC32 自己重新创建的 本帖最后由 CosyOS 于 2024-4-21 13:40 编辑
单片机小白 发表于 2024-4-21 09:36
STC32 自己重新创建的
针对STC32,有两种配置方案可供选择:
方案一、“Generate reentrant functions” + “REMOVEUNUSED”
1、C251标签页,“Generate reentrant functions”打勾,以生成全局可重入函数。
2、L251 Misc标签页,添加控制命令“REMOVEUNUSED”,以自动移除未使用的代码段和数据段。
方案二、“NOOVERLAY” + “reentrant” + “手动移除未使用”
1、C251标签页,“Generate reentrant functions”不可打勾。
2、L251 Misc标签页,添加控制命令“NOOVERLAY”,以禁用数据覆盖。
3、用户的自定义函数如需要可重入,应手动添加“reentrant”属性。
4、为减少代码量,用户应手动移除未使用的变量、函数或C文件,因为“NOOVERLAY”会导致“REMOVEUNUSED”失效。
方案一 PK 方案二
1、方案一为智能方案,所有函数都试图生成可重入函数,并自动移除未使用的代码段和数据段。
2、方案二为性能方案,性能上优于方案一,但需要用户明确哪些函数需要可重入并声明,并手动移除未使用的代码段和数据段。
3、方案一相较方案二,需配置更大的任务栈,对edata内存的需求将明显增加。
4、如果启用私信功能,您仅能采用方案二。
如果已配置为方案二,私信功能还是异常,再找其它原因。
私信创建模式分为智能创建模式和性能创建模式,
如果是性能创建模式,需要预处理指令 #pragma NOREGPARMS、#pragma REGPARMS,相配合,如果处理不好,也会异常。
页:
[1]