找回密码
 立即注册
查看: 155|回复: 15

data数据超出问题:ADDRESS SPACE OVERFLOW

[复制链接]
  • TA的每日心情
    开心
    2024-5-11 11:11
  • 签到天数: 45 天

    [LV.5]常住居民I

    4

    主题

    45

    回帖

    310

    积分

    中级会员

    积分
    310
    发表于 2024-3-26 13:00:04 | 显示全部楼层 |阅读模式
    本帖最后由 feiyu 于 2024-3-26 15:01 编辑

    这是个什么东西超出了



    截图202403261256158333.jpg


    截图202403261257596523.jpg

    后续问题定位如下图,adr用xdata就过了,别的变量改xdata也不行,很奇怪。

    截图202403261456278818.jpg


    截图202403261457049109.jpg






    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 101 天

    [LV.6]常住居民II

    41

    主题

    1016

    回帖

    6971

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    6971
    QQ
    发表于 2024-3-26 13:39:34 来自手机 | 显示全部楼层
    你的变量都定义在data区了吧,把比较长的变量或者数组放大xdata区域,变量定义的时候加个xdata ,例如u8 xdata parm;
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-11 11:11
  • 签到天数: 45 天

    [LV.5]常住居民I

    4

    主题

    45

    回帖

    310

    积分

    中级会员

    积分
    310
     楼主| 发表于 2024-3-26 14:03:17 | 显示全部楼层
    电子DIY小家 发表于 2024-3-26 13:39
    你的变量都定义在data区了吧,把比较长的变量或者数组放大xdata区域,变量定义的时候加个xdata ,例如u8 xd ...

    按道理data=107.3应该不会报这个错吧,不知道是不是我理解有问题?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 08:18
  • 签到天数: 173 天

    [LV.7]常住居民III

    26

    主题

    828

    回帖

    2082

    积分

    金牌会员

    积分
    2082
    发表于 2024-3-26 14:12:22 | 显示全部楼层
    feiyu 发表于 2024-3-26 14:03
    按道理data=107.3应该不会报这个错吧,不知道是不是我理解有问题?

    107.3应该没有超过,我这个也没有报警
    截图202403261412018297.jpg
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 21:58
  • 签到天数: 111 天

    [LV.6]常住居民II

    10

    主题

    583

    回帖

    930

    积分

    高级会员

    积分
    930
    发表于 2024-3-26 14:26:27 | 显示全部楼层
    内存分配的截图不全,或者把代码发一下看看

    点评

    帖子更新了,一个变量用xdata就过了,改别的变量都不行,特别奇怪  发表于 2024-3-26 15:01
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 20:17
  • 签到天数: 173 天

    [LV.7]常住居民III

    17

    主题

    371

    回帖

    1367

    积分

    荣誉版主

    积分
    1367
    发表于 2024-3-26 14:54:00 | 显示全部楼层
    函数调用层级太多,堆栈空间不够。

    点评

    看DATA的使用量和修改某个变量为xdata后正常,说明就是堆栈空间不够了。  发表于 2024-3-26 15:22
    帖子更新了,一个变量用xdata就过了,改别的变量都不行,特别奇怪  发表于 2024-3-26 15:00
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-11 11:11
  • 签到天数: 45 天

    [LV.5]常住居民I

    4

    主题

    45

    回帖

    310

    积分

    中级会员

    积分
    310
     楼主| 发表于 2024-3-26 15:29:02 | 显示全部楼层
    21cnsound 发表于 2024-3-26 14:26
    内存分配的截图不全,或者把代码发一下看看

    那我正常写程序的话,我怎么看这个堆栈空间是不是够的?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 20:17
  • 签到天数: 173 天

    [LV.7]常住居民III

    17

    主题

    371

    回帖

    1367

    积分

    荣誉版主

    积分
    1367
    发表于 2024-3-26 15:49:26 | 显示全部楼层
    51芯片,地址用u16变量就够了,楼主用U32变量,并且对这个变量进行运算,代码量大大提高。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-11 11:11
  • 签到天数: 45 天

    [LV.5]常住居民I

    4

    主题

    45

    回帖

    310

    积分

    中级会员

    积分
    310
     楼主| 发表于 2024-3-26 16:11:32 | 显示全部楼层
    社区闲人 发表于 2024-3-26 15:49
    51芯片,地址用u16变量就够了,楼主用U32变量,并且对这个变量进行运算,代码量大大提高。 ...

    这点代码量并不在考虑范围内,STC32这里的地址16位数据装不下,我会串用,特意改成16位到时候还容易出问题。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 21:58
  • 签到天数: 111 天

    [LV.6]常住居民II

    10

    主题

    583

    回帖

    930

    积分

    高级会员

    积分
    930
    发表于 2024-3-26 16:58:51 | 显示全部楼层
    feiyu 发表于 2024-3-26 15:29
    那我正常写程序的话,我怎么看这个堆栈空间是不是够的?

    堆栈空间够不够用,没有一个准确的、可衡量的做法;
    新的单片机XDATA速度也不慢了,建议内存选LARGE模式,变量默认使用XDATA,给STACK足够的空间。

    堆栈的使用量,和函数嵌套层数、中断嵌套等相关。
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-20 01:20 , Processed in 0.072157 second(s), 70 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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