发新帖我要提问
12
返回列表
打印
[技术问答]

编程在不同内存空间(data xdata bdata)定义变量的注意事项

[复制链接]
楼主: macpherson
手机看帖
扫描二维码
随时随地手机跟帖
21
未指定类型的通用指针会占用更多空间,而指定指向data区的指针只需一个字节。同时,还可以指定指针本身的存放内存类型,如一个指针指向data区变量而其自身存放在xdata区。

使用特权

评论回复
22
uptown| | 2024-8-9 06:55 | 只看该作者
选择合适的内存空间:根据变量的用途和访问频率,选择合适的内存空间。
内存管理:合理规划内存使用,避免内存碎片和浪费。
性能优化:将频繁访问的变量放在访问速度快的内存空间中,以提高程序性能。
代码效率:考虑内存访问速度对代码效率的影响,尽量减少对外部RAM的访问。
数据安全:确保数据的完整性和一致性,特别是在使用外部RAM时。
位操作:如果需要进行位操作,优先考虑使用 bdata 区域。

使用特权

评论回复
23
earlmax| | 2024-8-10 11:27 | 只看该作者
data空间有限,通常较小,例如8051有128字节。
由于data空间位于内部RAM,访问速度比外部RAM快。
在data空间中定义的变量会占用内部RAM,可能会影响栈空间。
使用关键字data或省略存储类关键字时,变量默认存储在data空间。

使用特权

评论回复
24
hudi008| | 2024-8-10 13:16 | 只看该作者
xdata段用于存储扩展数据空间的全局和静态变量。
这个段的大小取决于具体的微控制器,通常是64KB或更大。
使用xdata段可以避免data段的内存限制。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则