遇到segment .ubsct size overflow的错误

阅读: 评论:0

遇到segment .ubsct size overflow的错误

遇到segment .ubsct size overflow的错误

遇到#error clnk Debugroewe.lkf:1 segment .ubsct size overflow的错误。

原因:导致COSMIC报告segment .ubsct overflow错误的根本原因是内存溢出, 相关原因分析如下。
(1) 变量存储空间结构。
STM8系列CPU的RAM地址范围为0~0x7FF的2K空间,其中默认将高512字节分配给堆栈,剩下0~0x5FF字节为变量存储空间 。在0~0x5FF的空间范围内,低256字节被定义为Zero page,其中包括.bsct,.ubsct,.bit,.share。
可见, 当segment .ubsct overflow错误出现时, 应该是低0~FF段空间出现溢出。cosmic默认将所有变量存储在zero page段, 如要将变量置于0x100~0x5FF的空间里, 需要将变量前添加@near的申明, 如同idata的功能。通常将所有全局变量都加上@near申明, 以放置在zero page外的存储空间
(2) 具体解析请参考:.htm

解决方法:在“工程选项”(project settings)中,确定“Settings”下树状列表中工程被选中点选右边“C Compiler”选项卡,在C Compiler中有一个“Category”下拉列表,选此下拉列表中”General”会在下面显示Memory Models中把选项Short Stack[+mods0]选择更改为Long Stack[+modsl]

注:本文章内容来源网络,由博主整理。

本文发布于:2024-02-01 10:55:02,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170675610236123.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:错误   ubsct   segment   overflow   size
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23