搜索
bottom↓
回复: 10

怎样使用protues的source code debug

[复制链接]

出0入0汤圆

发表于 2006-3-3 16:19:05 | 显示全部楼层 |阅读模式
怎么才能从debug选项中调出这个窗口呢?

贴补上图呀?

出0入0汤圆

发表于 2006-3-3 17:33:45 | 显示全部楼层
要调出source code debug窗口,要求你的单片机AVR的源文件使用cof文件,并且这个cof文件有版本限制。ICC6.31a Pro,你应该改一下编译器选项,AVR Studio Version选Studio 3.x 。Gcc中也要修改Debug Format,改为AVR-COFF.



我的教程里提到了,里面有很多图

http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=555615&bbs_page_no=1&bbs_id=1037



Gcc设置参考

http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=591552&bbs_page_no=2&bbs_id=1000

出0入0汤圆

 楼主| 发表于 2006-3-3 21:05:19 | 显示全部楼层
谢谢 archeng504 阿成

你说的那个编译器应该需要另外下载吧,AVR系列我不太熟悉,我用的51单片机,在安装目录下的例子里并没有.cof格式的文加呀,在source code 的窗口下有个.SDI格式的文件,用记事本打开内容如下:

,,,; EEPROM - Read Write the EEPROM.

,,,; Specify Device.

,,,.device AT90S8515

,,,         

,,,; I/O Register Definitions

,,,.equ    SREG    =$3F

,,,.equ    SP      =$3D            

,,,.equ    TIMSK   =$39              

,,,.equ    TIFR    =$38        

,,,.equ    MCUCR   =$35

,,,.equ    TCCR1A  =$2F

,,,.equ    TCCR1B  =$2E   

,,,.equ    OCR1AH  =$2B

,,,.equ    OCR1AL  =$2A         

,,,.equ    ICR1H   =$25

,,,.equ    ICR1L   =$24

,,,.equ    EECR  =$1C

,,,.equ    EEDR    =$1D

,,,.equ    EEAR    =$1E

,,,.equ  PORTB   =$18            

,,,.equ  DDRB    =$17            

,,,.equ    PINB    =$16

,,,.equ    PORTC   =$15   

,,,.equ    DDRC    =$14

,,,.equ  PINC    =$13

,,,.equ  PORTD   =$12            

,,,.equ  DDRD    =$11

,,,.equ    SPDR    =$0F

,,,.equ    SPSR    =$0E         

,,,.equ    SPCR    =$0D

,,,.equ    UDR     =$0C

,,,.equ    USR     =$0B

,,,.equ    UCR     =$0A

,,,.equ    UBRR    =$09

,,,.equ    ACSR    =$08     

,,,.equ    ADMUX   =$07

,,,.equ    ADCSR   =$06

,,,.equ    ADCH    =$05

,,,.equ    ADCL    =$04      

,,,                    

,,,                    

,,,; Variable Declarations

,,,.def temp     = r16

,,,.def isrsreg  = r17

,,,.def isrtemp1 = r18     

,,,.def isrtemp2 = r19   

,,,.def isrflag  = r20     

,,,.def X        = r26

,,,.def Y        = r28

,,,.def Z        = r30

,,,         

,,,.cseg                                 ; CODE segment.

,,,         

,,,.org 0      

000000,C000,,       rjmp init                       ; origin.

,,,         

,,,         

,,,;Main Routine                    

000002,ED0F,init,init:   ldi r16,$DF                    ; Initialize the stack.

000004,BF0D,,       out SP,r16

,,,                  

,,,; Write some data to the external memory at 0x0400

000006,EA00,loop,loop:   ldi r16,$A0                    ; Enable Sleep and SRAM - 0 ws

000008,BF05,,       out MCUCR,r16   

00000A,E505,,       ldi r16,$55

00000C,9300,,        sts $0400,r16           

000010,9300,,        sts $0401,r16

000014,9000,,        lds r0,$0400

000018,9000,,        lds r0,$0401

,,,         

00001C,EE00,,       ldi r16,$E0                     ; Enable Sleep and SRAM - 1 ws

00001E,BF05,,       out MCUCR,r16   

000020,EA0A,,        ldi r16,$AA

000022,9300,,        sts $0400,r16

000026,9300,,        sts $0401,r16

00002A,9000,,        lds r0,$0400

00002E,9000,,        lds r0,$0401

,,,      

000032,9588,,       sleep      

,,,

也许这是他的文加格式,是不是有这中格式的文件就可以打开source code了?另外,有.BAS的文件也可以打开,但这些文件是怎么生成的呢?

出0入0汤圆

发表于 2006-3-3 23:39:26 | 显示全部楼层
51用汇编的话,利用Proteus中Code Generation Tool可以生成SDI格式的文件,有这个文件就可以在Proteus中进行调试了(打开source code)。

   Proteus仿真文件(DSN文件)和51的asm文件放到同一个的文件夹里,

   到菜单“Source”->"Add/Remove Source files",会出现一个对话框



照图设置好有关内容,ok退出。

执行菜单“Source”->“Build All”之后会有Build log窗口,如果编译成功的话,你就可以调试了。菜单“Debug”->"Start/Restart Debugging"就会出现源代码窗口!!!

上面说Proteus仿真文件(DSN文件)是指你用PROTEUS画的那个原理图啊,其后缀为DSN


-----此内容被archeng504于2006-03-03,23:48:48编辑过

出0入0汤圆

 楼主| 发表于 2006-3-4 09:49:52 | 显示全部楼层
archeng504 阿成

你说的这一步我之前也试过了,问题是我找遍了keil\c51\bin和Proteus 6.7\Tools\ASEM51下的两个目录没有发现ASEM51这个代码产生工具,在Proteus 6.7\Tools\ASEM51倒是有一个ASEM.exe,我用“Source”->"Add/Remove Code Generation Tools"添加,然后回到“Source”->"Add/Remove Source files这一步选择ASEM作为代码产生工具,build all后没有SDI文件呀,后来我重启了proteus还是打开那个例子,选用默认的ASEM51,竟然无法build all,提示如下:



Processing EXTMEM.ASM...

NOT built - requires ASEM51

N.B. 3rd party assemblers such as MPASM, ASEM51, ASM11 and AVRASM can be installed using the Proteus SETUP program.



Build FAILED with 1 error(s).



我真是晕呀,还有,我怎么贴补上图呀,为什么手工添加完ASEM后,在Source”->"Add/Remove Source files对话框中就找不到原来的ASEM51了。

出0入0汤圆

 楼主| 发表于 2006-3-4 10:31:15 | 显示全部楼层
这两个图标是怎么画出来的,总画不出来那个圈和总线的那个箭头:)




-----此内容被11uu于2006-03-04,10:37:39编辑过

出0入0汤圆

发表于 2006-3-4 15:55:09 | 显示全部楼层

出0入0汤圆

发表于 2006-3-4 16:05:59 | 显示全部楼层
我这里用ASEM51没问题啊!!!我使用SAMPLES里面的8051 LCD Driver测试过,给你看一下

ASEM51的配置



如还不行,就重装Proteus




-----此内容被archeng504于2006-03-04,16:08:50编辑过

出0入0汤圆

发表于 2006-3-5 19:49:03 | 显示全部楼层
不用管ASEM51,只要照偶像的做就可以了!

Proteus仿真文件(DSN文件)和51的asm文件放到同一个的文件夹里,然后ADD源文件就可以了!我的编译环境都乱了,被我从仿真选项里删除了也照样仿真。

出0入0汤圆

 楼主| 发表于 2006-3-6 10:09:07 | 显示全部楼层
谢谢archeng504 阿成,我知道了,我下载proteus是从另外一个网站下载的面安装版的,直接点击快捷方式就可以用,code generation里面的设置被该了,我从这个下载了一个安装后才发现在code generation已经设置好了。就可以用了。



用c语言怎么产生source code 窗口呀?在Samples\Basic Stamp 1\路径下的好像是用basic编的程序,那个basic stamp是什么意思?另一种单片机吗?BAS文件呀,我把code generation tool改用C51,但没有source code选项。






-----此内容被11uu于2006-03-06,10:24:00编辑过

出0入0汤圆

发表于 2006-4-10 20:19:40 | 显示全部楼层
用Keil C51编的程序能不能进行源码仿真?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 07:04

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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