迪文科技论坛

 找回密码
 立即注册
搜索
查看: 4965|回复: 25

【提问】C语言开发仿真时xdata变量无法正常查看

[复制链接]

3

主题

5

回帖

112

积分

注册会员

Rank: 2

积分
112
发表于 2020-5-5 15:17:11 | 显示全部楼层 |阅读模式
用T5L1仿真调试时,xdata的变量无法正确显示数值?
回复

使用道具 举报

0

主题

7

回帖

145

积分

注册会员

Rank: 2

积分
145
发表于 2020-5-5 17:53:46 | 显示全部楼层
楼主:
您使用我们迪文产品需要对T5L CPU程序进行初始化,按照开发文档配置,寄存器,配置好后就可以检测变量存储区的数值了

//核心寄存器初始化
void sys_cpu_init()
{
EA = 0;
RS0 = 0;
RS1 = 0;
CKCON = 0x00;
T2CON = 0x70;
DPC = 0x00;
PAGESEL = 0x01;
D_PAGESEL = 0x02; //DATA RAM  0x8000-0xFFFF
MUX_SEL = 0x00;   //UART2,UART3关闭,WDT关闭
RAMMODE = 0x00;
PORTDRV = 0x01;   //驱动强度+/-8mA
IEN0 = 0x00;      //关闭所有中断
IEN1 = 0x00;
IEN2 = 0x00;
IP0 = 0x00;       //中断优先级默认
IP1 = 0x00;
WDT_OFF();       //关闭开门狗
}

本帖子中包含更多资源

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

x
回复

使用道具 举报

45

主题

254

回帖

3215

积分

论坛元老

Rank: 8Rank: 8

积分
3215
发表于 2020-5-7 18:40:19 | 显示全部楼层
本帖最后由 舞指飞扬 于 2020-5-7 19:02 编辑

用T5L1仿真调试时,是可以显示xdata的数值的.

xdata仿真T5L CPU程序进行初始化无关.


仿真先点debug


再点symbol



在展开的树木中找到你的xdata


抄写地址x:0x00ff104,选择一个内存窗口

把地址填入内存窗口



然后就可以单步或者断点运行,查看内存块变化

在symbol窗口右键变量名,选择add to  watch1



可以在查看窗口观察xdata变量把,变化





本帖子中包含更多资源

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

x
回复

使用道具 举报

3

主题

5

回帖

112

积分

注册会员

Rank: 2

积分
112
 楼主| 发表于 2020-5-7 20:39:00 | 显示全部楼层
A海上的船 发表于 2020-5-5 17:53
楼主:
您使用我们迪文产品需要对T5L CPU程序进行初始化,按照开发文档配置,寄存器,配置好后就可以检测变 ...

谢谢解答
回复

使用道具 举报

3

主题

5

回帖

112

积分

注册会员

Rank: 2

积分
112
 楼主| 发表于 2020-5-7 20:39:25 | 显示全部楼层
舞指飞扬 发表于 2020-5-7 18:40
用T5L1仿真调试时,是可以显示xdata的数值的.

xdata仿真T5L CPU程序进行初始化无关.

谢谢解答!
回复

使用道具 举报

0

主题

6

回帖

205

积分

中级会员

Rank: 3Rank: 3

积分
205
发表于 2021-1-31 18:55:33 | 显示全部楼层
本帖最后由 liuje 于 2021-1-31 19:06 编辑
舞指飞扬 发表于 2020-5-7 18:40
用T5L1仿真调试时,是可以显示xdata的数值的.

xdata仿真T5L CPU程序进行初始化无关.

您好, 按ˋ照 @舞指飞扬  您的说明,   我试了一整天, 不管改任何设置, 仍然无法在keil MDK 5.31.0.0中, 正确的显示出任何xdata型的变量.    只有属性设为 "code" (片内RAM)中的变量, 可以正确的显示.    搞了一整天, 网上找了相关讨论, 都无法解决此问题.     我之前使用 新唐N76E003时(51内核), 也碰到相同的问题.  只看到这篇说这样可以看到即时正确的变量值.  但实测debug下, 显示的xdata数据是完全不会变的(永远固定).   所以想再向您请教一次,  您是在什么条件下,  xdata变量看到即时更新 ??        也希望有人可以正常显示的, 也再指导一下关键方法,  感谢 !
STARTUP.A51中, 已做过基本定义,  本问题与此无关的....
                .......................................................
STARTUP1:       
                ;T5L 初始化必须的代码
                MOV          DAGESEL,#01H   
                MOV          D_PAGESEL,#02H       
                MOV        CKCON,#00H
                MOV        DPC,#00H
                MOV        T2CON,#70H
                MOV        MUX_SEL,#60H        ;WDT OFF
                MOV        RAMMODE,#00H        ;释放APP RAM       

                ................................................
回复

使用道具 举报

1

主题

11

回帖

76

积分

注册会员

Rank: 2

积分
76
发表于 2021-2-2 18:30:28 | 显示全部楼层
liuje 发表于 2021-1-31 18:55
您好, 按ˋ照 @舞指飞扬  您的说明,   我试了一整天, 不管改任何设置, 仍然无法在keil MDK 5.31.0.0中, 正 ...

我的问题也是和您一样,在DEBUG下,XDATA的数据无法看到其内容,但程序可以正常的跑,只是出了问题无法观测,DATA区域的数据是可以看到的,用其他的51,STM8,STM32,NXP的都没有出现过这样的情况,好困惑,如果不能看到就失去了DEBUG的意义了KEIL版本V4.00A
回复

使用道具 举报

0

主题

62

回帖

1922

积分

金牌会员

Rank: 6Rank: 6

积分
1922
发表于 2021-2-2 22:20:44 | 显示全部楼层
您这边可以提供下源码吗?顺便留个联系方式,我们这边测试下再回复您。
回复

使用道具 举报

0

主题

6

回帖

205

积分

中级会员

Rank: 3Rank: 3

积分
205
发表于 2021-2-3 00:01:49 | 显示全部楼层
本帖最后由 liuje 于 2021-2-3 00:10 编辑
223869364 发表于 2021-2-2 22:20
您这边可以提供下源码吗?顺便留个联系方式,我们这边测试下再回复您。

您好,

麻烦你们测试看看怎么解决了.  源代码如附档. 因为这个问题非常困扰.   使用HME来DEBUG, 功能等于只剩一半了.
变量被迫只能宣告加上 "data" 型式来除错,  所有使用 xdata的, 是完全无法看到即时更新值的.
您可以把解决办法回覆在版上, 我每天都会过来看看的.  我相信有非常多人也碰到此问题.
谢谢.

(附上 keil版本号)




本帖子中包含更多资源

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

x
回复

使用道具 举报

1

主题

11

回帖

76

积分

注册会员

Rank: 2

积分
76
发表于 2021-2-3 08:19:10 | 显示全部楼层
223869364 发表于 2021-2-2 22:20
您这边可以提供下源码吗?顺便留个联系方式,我们这边测试下再回复您。


程序实现的功能,每秒钟发送HelloWorld





本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-13 04:13 , Processed in 0.097559 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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