打印
[技术问答]

Keil uVersion V5.10.0.2软件仿真

[复制链接]
4626|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
软件仿真时,总是进入不到main函数。
Debug设置已经选择软件仿真了,只不过下面几个框里空白,,同事说不对,好像要填什么值?如下图所示。
[img][/img]

究竟是那里不对,仿真时,进不到main,更确切的说进入不到复位状态。
这种问题从什么地方查起比较好?用的工程都是新唐给的工程。
如何解决?期待

1.bmp (850.06 KB )

1.bmp
沙发
nicolas.sail|  楼主 | 2015-1-19 15:36 | 只看该作者
还是没有进入到main.

看看这个有没有配置不对的?

2.bmp (848.18 KB )

2.bmp

使用特权

评论回复
板凳
gaoyang9992006| | 2015-1-20 20:52 | 只看该作者
刚开始默认的不行吗?自己改什么,我从来不自己乱改这个配置。

使用特权

评论回复
地板
mintspring| | 2015-1-20 23:02 | 只看该作者
软件的仿真?我没用过,

使用特权

评论回复
5
zxf0168| | 2015-1-21 09:57 | 只看该作者
看看到了哪一步了,放个while()

使用特权

评论回复
6
nicolas.sail|  楼主 | 2015-1-21 15:57 | 只看该作者
main都进入不了。仿真选项分明选择了Go to main项。
复位时直接进入startup_M451Series.s文件的

Reset_Handler   PROC
                EXPORT  Reset_Handler             [WEAK]
                IMPORT  SystemInit
                IMPORT  __main
               
                LDR     R0, =0x40000100
                ; Unlock Register               
                LDR     R1, =0x59
                STR     R1, [R0]
                [b]LDR     R1, =0x16                   ;复位时指针在此
                STR     R1, [R0]
                LDR     R1, =0x88
                STR     R1, [R0]

然后,按几下run后,一直在下面函数执行。
__STATIC_INLINE void SYS_UnlockReg(void)
{
    do
    {
         SYS->REGLCTL = 0x59;
        SYS->REGLCTL = 0x16;
        SYS->REGLCTL = 0x88;
    }
    while(SYS->REGLCTL == 0);
}

使用特权

评论回复
7
nicolas.sail|  楼主 | 2015-1-21 15:59 | 只看该作者
gaoyang9992006 发表于 2015-1-20 20:52
刚开始默认的不行吗?自己改什么,我从来不自己乱改这个配置。

就是用默认的安装,工程也是默认的。什么都没改。
不知道我的keil版本是不是有些高

使用特权

评论回复
8
nicolas.sail|  楼主 | 2015-1-21 16:00 | 只看该作者
mintspring 发表于 2015-1-20 23:02
软件的仿真?我没用过,

不用软件仿真怎么调试?
串口打印信息?打印的信息多了好像对原来会有影响的。

使用特权

评论回复
9
mintspring| | 2015-1-22 19:26 | 只看该作者
nicolas.sail 发表于 2015-1-21 16:00
不用软件仿真怎么调试?
串口打印信息?打印的信息多了好像对原来会有影响的。 ...

软件仿真不能真实体现硬件的实际工作情况。

使用特权

评论回复
10
nicolas.sail|  楼主 | 2015-1-23 11:01 | 只看该作者
看来没人能搞定这问题了。

使用特权

评论回复
11
戈卫东| | 2015-1-23 12:59 | 只看该作者
KEIL那帮人不熟悉新唐,软件仿真不可用。
老老实实用硬件仿真吧。

使用特权

评论回复
12
戈卫东| | 2015-1-23 13:01 | 只看该作者
像SYS_UnlockReg这些依赖特定硬件的东东它仿不出来

使用特权

评论回复
13
bobde163| | 2015-1-25 23:05 | 只看该作者
楼主正解,依赖硬件标志的没有硬件是不行啊

使用特权

评论回复
14
nicolas.sail|  楼主 | 2015-1-26 17:31 | 只看该作者
关键是新唐这帮人还口口生生说能软件仿真。
我装了好几次都不行,郁闷的很。

使用特权

评论回复
15
mintspring| | 2015-1-26 23:59 | 只看该作者
我从来不软件仿真,都是下载进去看运行结果

使用特权

评论回复
16
lovecat2015| | 2015-1-29 12:35 | 只看该作者
您说的是单步调试吧

使用特权

评论回复
17
mintspring| | 2015-1-29 19:21 | 只看该作者
默认的会有这个情况?

使用特权

评论回复
18
cowboy2014| | 2015-1-29 19:23 | 只看该作者
用单步调试还是挺好的,估计你哪里设置的不对。

使用特权

评论回复
19
quray1985| | 2015-1-29 19:48 | 只看该作者
有没有在设置的debug窗口将从主函数开始勾选上?

使用特权

评论回复
20
nicolas.sail|  楼主 | 2015-1-31 18:44 | 只看该作者
mintspring 发表于 2015-1-29 19:21
默认的会有这个情况?

默认是这样子的。

使用特权

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

本版积分规则

1

主题

13

帖子

1

粉丝