空间设计_头像大全_壁纸设计_空间代码

  • 400-800-1234
  • 打造本地最大生活服务平台
搜索
猜你喜欢
查看: 56|回复: 0

KEIL编译错误之xdata空间的代码

[复制链接]

411

主题

411

帖子

1279

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1279
发表于 2020-3-5 21:56:53 | 显示全部楼层 |阅读模式
  ta空间已经不够用,原因是你可能有好多函数,而函数内部的局部变量又没有定义其空间,这种情况下,系统会将变量分配到你在Otions for Target 对话框里的设置的空间。如果你在下图所示中的 Memory Model 里设置成 Small:variables in DA
  解决的办法有两种,一是通过更改Memory Model设置,可以设置成pdata或xdata,以便有足够大的空间,但这又带来新的问题,程序运行速度减慢,而且code代码也会加大,因为如果一个局部变量被存放在了xdata空间,汇编语言访问xdata空间的代码大小要比访问data空间的代码大,变量一旦很多,程序的代码也会逐渐增大;二是根据自己的要求设置变量的空间。
  所以这涉及到代码优化的问题,遇到具体问题时,在运行速度和代码大小之间取得适合自己的情况。
回复

使用道具 举报

使用 高级模式(可批量传图、插入视频等)
您需要登录后才可以回帖 登录 | 立即注册

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