迪文科技论坛

 找回密码
 立即注册
搜索
查看: 729|回复: 3

【提问】有个关于内存的问题,被文档整的有点蒙

[复制链接]

32

主题

60

回帖

361

积分

中级会员

Rank: 3Rank: 3

积分
361
发表于 2022-3-8 11:10:05 | 显示全部楼层 |阅读模式
问题:1:RAM存储器变量地址空间是属于os核还是DGUS核?
2:程序中定义的变量时保存在数据存储器还是其它地方,从keil配置看像是数据存储器0x8000-0xffff这段空间内?
3:DGUS变量存储器是ram还是rom类型,它和RAM存储器变量地址空间又有什么关系?
4:RAM存储器变量地址空间用来保存系统变量接口和界面控件地址,还是DGUS 变量存储器用来保存控件变量地址的?
5:sys_write_vp这类函数写的地址只能是界面上控件的变量地址?这个变量地址值是ram存储器变量地址空间
6:DGUS II应用开发手册和T5L ASIC应用开发手册能否坐下对接,统一一下名词

希望能针对我提的几个问题说下,不要推送别人的帖子,没有针对性。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

12

回帖

987

积分

高级会员

Rank: 4

积分
987
发表于 2022-3-8 15:12:07 | 显示全部楼层
问题2 楼主可以看看单片机原理--对51单片机的数据存储器加深认识.
一般keil通过选择LARGE 编译模式,默认将数据变量放在 外部ram (汇编上通过MOVX访问),0x8000-0xffff表示DPTR数据指针只能访问此段空间(只开放了32K的ram--数据存储器)
问题3 rom空间就是存放代码以及常量.不能够修改的空间,那他就肯定不是变量空间,DGUS变量存储器看下ASIC开发指南,他是通过SFR寄存器,由DWIN底层程序访问的256k空间.一块定制化的可以存放数据的RAM空间.
和0x8000-0xffff的RAM不是同一个,前者是DWIN设计配合DGUS开发用.后者是标准51单片机架构自带的.
问题1 双核基于51单片机都有RAM,但是GUI未开放,仅支持OS核的二次开发.
问题4/5  就是开放了一段空间,需要写一个接口(类似sys_write_vp)去访问DGUS变量存储.底层GUI核会自动根据13/14文件 以及DGUS变量值 完成多功能显示.参考应用开发指南 2.3 T5L_dgusii开发体系了解DGUS变量存储的使用.
问题6 DGUS_RAM的访问就是基于SFR ---0xF1--0XFD这一段片内RAM,来间接访问的空间.
官方手册一般都是精简至上.避免找不到核心.
回复

使用道具 举报

11

主题

37

回帖

367

积分

中级会员

Rank: 3Rank: 3

积分
367
发表于 2023-12-24 19:16:46 | 显示全部楼层
tyrjj112100 发表于 2022-3-8 15:12
问题2 楼主可以看看单片机原理--对51单片机的数据存储器加深认识.
一般keil通过选择LARGE 编译模式,默认将 ...

人家问的明显不是这个意思,答非所问
回复

使用道具 举报

1

主题

14

回帖

345

积分

中级会员

Rank: 3Rank: 3

积分
345
发表于 2024-2-8 21:56:39 | 显示全部楼层
文档确实看的费劲,关于楼主的上述问题,我尝试回答一下:
1.楼主说的RAM存储器变量地址空间,如果是指第二张图里的这个,也就是上位机DGUS TOOL那个配置控件用到的0x0000-0xFFFF等地址的,就是属于GUI核的,第二张图应该是DGUS应用开发指南里的,和第一张图里的DGUS变量存储器的是一个东西;但OS核也可以读写,这是一个双口RAM(其实OS核和UI核都是8051单片机,两个MCU通过DGUS变量存储器交换数据);

2.程序中定义的变量时保存在数据存储器里,也就是单片机的RAM里,因为8051单片机分为内部RAM和外扩RAM,地址不一样,文档里0x00-0xFF地址范围的数据寄存器是内部RAM,51架构下只有256B,外部那个扩展RAM最大64KB,也就是文档里的那个0x8000-0XFFFF的数据储存器,平常代码中xdata即在这个范围;keil配置成这个0x8000-0XFFFF,为的是默认使用外部RAM,即xdata;

3.如上所述,DGUS变量存储器是RAM,断电即消失数据,它不是我们平常说的单片机内部的那个RAM,物理上没有关系,可以理解成一个挂在GUI核下的RAM,里面储存的DGUS控件的配置信息,GUI核需要根据里面的数据做界面渲染,OS通过DGUS变量存储器往读写关于控件的数据(GUI核不开放,明显GUI核对DGUS变量存储器的控制权限是最大的);故DGUS存储器和数据存储器的地址空间没有任何关系;

4.如上所述,储存界面控件地址和作为系统变量接口的是DGUS变量存储器;

5.sys_write_vp这类函数读写的地址只能是DGUS变量地址,包括控件地址和系统变量接口的地址,也就是DGUS TOOL上位机里面的配置的那些地址,范围x0000-0xFFFF,和单片机那个32KB的数据存储器没有半毛钱关系;文档里写的RAM存储器变量地址空间实际上是说DGUS变量存储器;

6.DGUS应用开发手册和ASIC手册里面的名称不统一问题,从个人经验来看,文档资料的质量确实需要提升,文档还有其他不少问题,文档的不尽人意只能让官方重视修改甚至重写。所以有时候不用迷信文档,如果有疑问电话找支持可能更快些(这和平常靠自己通过研究文档解决问题不一样,有时候这个文档反而影响判断,耽误时间);
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-7-12 17:14 , Processed in 0.036140 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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