Keil与Proteus联调ARM举例
Keil与protues联结调试

Keil与protues联结调试一)Keil uVision3与Proteus连接调试单片机仿真2009-11-29 11:26:20 阅读128 评论2 字号:大中小订阅1、打开keil安装目录下的tools.ini2、在“[C51]”字段中,添加一行TDRV8=BIN\VDM51.DLL ("PROTEUS VSM MONITOR 51 DRIVER")(注意这里的TDRV8不能与其他重合,如果重合的话,后面的8可以修改成9、10或更高)。
3、保存tools.ini文件,然后打开keil,右键“目标1”---> Options for Target选项,点击“Debug”标签页,在右半部分,选择“使用”(这个DEBUG标签页共有两种仿真方式可选,左边的是keil软件仿真器,右边的是外部仿真器),点击下拉框,就会出现“Proteus VSM Monitor 51 Driver”,当然这里的这个名字可以你第1步里自定义,自己喜欢取什么名字就什么名字吧,当然最好是一目了然的名字比较好。
4、选择“PROTEUS VSM MONITOR 51 DRIVER”,点旁边的“设置”,如果你的keil和proteus 是装在同一台电脑上的话,那这里的“HOST”(主机)就填写本机IP地址:127.0.0.1(如果keil和proteus装在不同的电脑上,那就需要在HOST中填写另外一台电脑的IP),,在“PORT”(端口)中写入8000 ,一般在右边会选中“Cache memory”.方法21、将KeilC51(u2、u3均可)、Proteus6(94、95均可)都安装好;2、下载两个软件,一个是Proteu的Vdmagdi.exe,另一个是授权后的Prospice.dll(两个文件链接地址看下面)3、先运行Vdmagdi.exe安装Keil接口,然后将Prospice.dll覆盖在Proteus的安装文件夹下的Bin中如:D:\Program Files\Labcenter Electronics\Proteus 6 Professional\BIN;4、打开Proteus,在【菜单】【Debug】下拉菜单中选【User Remote Debug Monitor】(在该项前打勾);5、打开KeilC51,点击【菜单】【工程】【为目标'XX'设置选项】,在【调试】标签下选择右边的【使用U】单选,并在下拉框中选【Proteus VSM Simulator】仿真设备;6、在Proteus侧做好硬件连线,Keil侧写好软件,点击Keil【调试】【运行】,您可以欣赏联调了。
Proteus和Keil联调设置方法常用的有两种方法 一keil c与proteus的离线

Proteus和Keil联调设置方法常用的有两种方法一keil c与proteus的离线联合使用1)先通过keil c51编辑,修改,编译源程序并生成HEX等单片能识别的文件,运行proteus 将HEX文件与原理图中的MCU进行绑定即可2)不论是离线还是在线方式的联合使用HEX文件是必不可少的,如果找不到HEX文件这不是软件出错,而是没有进行正确的设置进人KEIL开发环境打开一个工程文件,在选中“target1"的情况下选择project--->options for target "target1" 选择”output"选项卡在“create HEX file 前的方框里打钩,保存即可二KEIL C51与PROTEUS 7.0的联合仿真调试1)确保计、算机上安装有TCP/IP协议2)下这个软件proteus vsm a GDI Driver 就是vdmagdi.exe,装了后的变化是在KEIL文件夹下的TOOLS.INI文件中的[c51]字段的最后多了两行就是tdrv5=binvdm51.dll和book10=hlplvdmagd用于两软件的联接和帮助文档3)进入KEIL的开发环境建立一个工程文件在先中“TARGET"的情况下选择project-->options for target "target'4)在"debug"选项卡中选择左边的“use“,在下拉框中选”proteus vsm simulator",再点击"Setting"设置通信接口,在Host后面添上"127.0.0.1",如果你是用的不是同一台电脑,在这里添上另一台电脑的IP地址(另一台电脑安装Proteus).5)打开proteus lsls 在菜单栏中选择“debug-->use remote debug monitor"选中该项.6)注意,一定要把keil的工程和Proteus的文件放到同一个目录下(这里所说的Keil的工程指工程的目录,即Proteus的工程文件要和Keil工程的文件夹在同一层目录下).(注明:以上参考自/lihaoy/blog, 谢谢原文作者^_^)附:Proteus 7.2和Keil C51 V8.08 uvision 3的完整安装1.安装Proteus Version 7.2beta SETUP2.安装Proteus Update72SP2升级到SP2版本2.包括安装破解文件Labcenter_LICENCE.lxk3.安装补丁文件patch,注意里面在说要选择目录的时候要选择相应的目录4.安装汉化菜单:Proteus 7.01 SP2 ARES的汉化菜单放到……Program Files\Labcenter Electronics\Proteus 7 Professional\BIN目录下。
proteus与keil联调

proteus与keil联调proteus 与 keil 联调即使不使⽤以上所说的参数设置,依然可以实现正确的串⼝通信,⽆乱码。
ISP的波特率设置在仿真中并不是取决于编写的代码,⽽是取决于STM32芯⽚的外部晶振频率参数设置。
对于STM32F401芯⽚,ISP的波特率在数值上应该要等于STM32F401的外部晶振频率的4800倍,即403200/84 = 4800;⽽对于STM32F103芯⽚,这个⽐值变为1200,即86400/72 = 1200代码设置的波特率必须是9600,否则,仿真会报错,另外,本⽂只针对标准库编程,HAL库编程按代码⾥设定的波特率设置即可。
在⽤proteus 仿真 stm32f103c6串⼝时,发现stm32主频不能超过55MHz,参见proteus的 sample project,我把倍频系数设为6,同时仿真主频需设为倍频系数*8M(晶振频率),串⼝波特率不受限制。
proteus仿真串⼝前必读事项1、 proteus Virtual Terminal 串⼝波特率没有限制(推荐9600;)2、但对于倍频系数 RCC_PLLMul_*,*的取值似乎只能是6以下,否则Virtual Terminal显⽰乱码。
在sys.c中设置(洋桃电⼦例程;野⽕似乎没把设置RCC频率程序单列出来)/*设置PLL时钟源及倍频系数*/RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_5); //RCC_PLLMul_x(枚举2~16)是倍频值。
当HSE=8MHZ,RCC_PLLMul_9时PLLCLK=72MHZ3、双击proteus原理图中stm32元件,载⼊*.elf⽂件时,弹出如图2的窗⼝,频率必须设为8MHz* RCC_PLLMul_*,其中*<=6, 8MHz为stm32f103c6的外接晶振频率(proteus仿真库没有stm32f103c8)Proteus 系统设置D:\Keil_v5\TOOLS.INI ( 红⾊为 vdmagdi 增加的内容 )[UV2]ORGANIZATION="lsgxeva"NAME="eva", "lsgx"EMAIL="admin@"ARMSEL=1USERTE=1TOOL_VARIANT=mdk_stdRTEPATH="D:\Keil_v5\ARM\PACK"[ARM]PATH="D:\Keil_v5\ARM\"VERSION=5.18PATH1="C:\GNU Tools ARM Embedded\4.9 2015q2\"TOOLPREFIX=arm-none-eabi-CPUDLL0=SARM.DLL(TDRV0,TDRV4,TDRV5,TDRV8,TDRV15) # Drivers for ARM7/9 devicesCPUDLL1=SARMCM3.DLL(TDRV1,TDRV2,TDRV3,TDRV4,TDRV6,TDRV7,TDRV9,TDRV10,TDRV11,TDRV12,TDRV13,TDRV14,TDRV15) # Drivers for Cortex-M devices CPUDLL2=SARMCR4.DLL(TDRV6,TDRV15) # Drivers for Cortex-R4 devicesBOOK0=HLP\RELEASE_NOTES.HTM("Release Notes",GEN)BOOK1=HLP\ARMTOOLS.chm("Complete User's Guide Selection",C)TDRV0=BIN\UL2ARM.DLL("ULINK2/ME ARM Debugger")TDRV1=BIN\UL2CM3.DLL("ULINK2/ME Cortex Debugger")TDRV2=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")TDRV3=BIN\lmidk-agdi.dll("Stellaris ICDI")TDRV4=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")TDRV5=Segger\JLTAgdi.dll("J-LINK / J-TRACE ARM")TDRV6=Segger\JL2CM3.dll("J-LINK / J-TRACE Cortex")TDRV7=BIN\ULP2CM3.DLL("ULINK Pro Cortex Debugger")TDRV8=BIN\ULP2ARM.DLL("ULINK Pro ARM Debugger")TDRV9=NULink\Nu_Link.dll("NULink Debugger")TDRV10=SiLabs\SLAB_CM_Keil.dll("SiLabs UDA Debugger")TDRV11=STLink\ST-LINKIII-KEIL_SWO.dll ("ST-Link Debugger")TDRV12=BIN\CMSIS_AGDI.dll("CMSIS-DAP Debugger")TDRV13=BIN\DbgFM.DLL("Fast Models Debugger")TDRV14=PEMicro\Pemicro_ArmCortexInterface.dll("PEMicro Debugger")TDRV15=BIN\VDMARM.DLL ("Proteus VSM Simulator")BOOK2=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")DELDRVPKG0=ULINK\UninstallULINK.exe("ULINK Pro Driver V1.0")LIC0=BUURY-IEX7U-UHJ8H-W3E43-TR57A-KSXDC[ARMADS]PATH="D:\Keil_v5\ARM\"PATH1=".\ARMCC\bin\"CPUDLL0=SARM.DLL(TDRV0,TDRV4,TDRV5,TDRV8,TDRV15) # Drivers for ARM7/9 devicesCPUDLL1=SARMCM3.DLL(TDRV1,TDRV2,TDRV3,TDRV4,TDRV6,TDRV7,TDRV9,TDRV10,TDRV11,TDRV12,TDRV13,TDRV14,TDRV15) # Drivers for Cortex-M devices CPUDLL2=SARMCR4.DLL(TDRV6,TDRV15) # Drivers for Cortex-R4 devicesBOOK0=HLP\mdk5-getting-started.pdf("MDK-ARM Getting Started (PDF)",GEN)BOOK1=HLP\mdk5-getting-started_jp.pdf("MDK-ARM Getting Started (Japanese/PDF)",GEN)BOOK2=HLP\RELEASE_NOTES.HTM("Release Notes",GEN)BOOK3=HLP\ARMTOOLS.chm("Complete User's Guide Selection",C)BOOK4=HLP\DUI0592E_02_mdk_getting_started_guide.pdf("ARM Compiler Getting Started Guide v5.06 for µVision (PDF)",GEN)BOOK5=HLP\DUI0375G_02_mdk_armcc_user_guide.pdf("ARM Compiler v5.06 for µVision (PDF)",GEN)BOOK6=HLP\DUI0377G_02_mdk_armlink_user_guide.pdf("ARM Linker v5.06 for µVision (PDF)",GEN)BOOK7=HLP\DUI0378G_02_mdk_libraries_user_guide.pdf("ARM Libraries and Floating Point Support Guide v5.06 for µVision (PDF)",GEN)BOOK8=HLP\DUI0379G_02_mdk_armasm_user_guide.pdf("ARM Assembler User Guide v5.06 for µVision (PDF)",GEN)BOOK9=HLP\DUI0459F_02_mdk_fromelf_user_guide.pdf("Using the fromelf Image Converter v5.06 for µVision (PDF)",GEN)BOOK10=HLP\DUI0590E_02_mdk_armar_user_guide.pdf("Creating Static Software Libraries with armar v5.06 for µVision (PDF)",GEN)BOOK11=HLP\DUI0591E_02_mdk_errors_and_warnings_reference_guide.pdf("ARM Compiler Error and Warnings Reference Guide v5.06 for µVision (PDF)",GEN) BOOK12=HLP\DUI0593E_02_mdk_migration_compatibility_guide.pdf("ARM Migration and Compatibility Guide v5.06 for µVision (PDF)",GEN)TDRV0=BIN\UL2ARM.DLL("ULINK2/ME ARM Debugger")TDRV1=BIN\UL2CM3.DLL("ULINK2/ME Cortex Debugger")TDRV2=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")TDRV3=BIN\lmidk-agdi.dll("Stellaris ICDI")TDRV4=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")TDRV5=Segger\JLTAgdi.dll("J-LINK / J-TRACE ARM")TDRV6=Segger\JL2CM3.dll("J-LINK / J-TRACE Cortex")TDRV7=BIN\ULP2CM3.DLL("ULINK Pro Cortex Debugger")TDRV8=BIN\ULP2ARM.DLL("ULINK Pro ARM Debugger")TDRV9=NULink\Nu_Link.dll("NULink Debugger")TDRV10=SiLabs\SLAB_CM_Keil.dll("SiLabs UDA Debugger")TDRV11=STLink\ST-LINKIII-KEIL_SWO.dll ("ST-Link Debugger")TDRV12=BIN\CMSIS_AGDI.dll("CMSIS-DAP Debugger")TDRV13=BIN\DbgFM.DLL("Fast Models Debugger")TDRV14=PEMicro\Pemicro_ArmCortexInterface.dll("PEMicro Debugger")TDRV15=BIN\VDMARM.DLL ("Proteus VSM Simulator")BOOK13=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")RTOS0=Dummy.DLL("Dummy")RTOS1=VARTXARM.DLL ("RTX Kernel")ARMCCPATH0="ARMCC" ("V5.06u1 (build 61)")DELDRVPKG0=ULINK\UninstallULINK.exe("ULINK Pro Driver V1.0")[C51]PATH="D:\Keil_v5\C51\"VERSION=V9.59BOOK0=HLP\Release_Notes.htm("Release Notes",GEN)BOOK1=HLP\C51TOOLS.chm("Complete User's Guide Selection",C)TDRV0=BIN\MON51.DLL ("Keil Monitor-51 Driver")TDRV1=BIN\ISD51.DLL ("Keil ISD51 In-System Debugger")TDRV2=BIN\MON390.DLL ("MON390: Dallas Contiguous Mode")TDRV3=BIN\LPC2EMP.DLL ("LPC900 EPM Emulator/Programmer")TDRV4=BIN\UL2UPSD.DLL ("ST-uPSD ULINK Driver")TDRV5=BIN\UL2XC800.DLL ("Infineon XC800 ULINK Driver")TDRV6=BIN\MONADI.DLL ("ADI Monitor Driver")TDRV7=BIN\DAS2XC800.DLL ("Infineon DAS Client for XC800")TDRV8=BIN\UL2LPC9.DLL ("NXP LPC95x ULINK Driver")TDRV9=BIN\JLinkEFM8.dll ("J-Link / J-Trace EFM8 Driver")TDRV10=BIN\VDM51.DLL ("Proteus VSM Simulator")BOOK2=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")RTOS0=Dummy.DLL("Dummy")RTOS1=RTXTINY.DLL ("RTX-51 Tiny")RTOS2=RTX51.DLL ("RTX-51 Full")LIC0=SDJT4-FM3RX-B2ILG-V2D72-RQ76I-6L05G[KARM]TDRV0=BIN\VDMARM.DLL ("Proteus VSM Simulator")BOOK0=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")Keil⼯程⽬标调试选项 ( Proteus VSM Simulator )============ End。
Keil与Proteus安装联调操作(完美版)

1.安装Proteus Version 7.1 SET71UP。
2.包括安装破解文件MAXIM_LICENCE.lxk。
3.安装补丁文件patch,注意要在安装目录下补丁。
或者将文件夹BIN下:ARES/ISIS/LICENCE.DLL/PROSPICE.DLL文件夹ELECTRA下:ELECTRA文件夹MODELS下:AVR.DLL/KEYPAD.DLL/LCDALPHA.DLL/LCDPIXEL.DL L/LEDMPX.DLL/MCS8051.DLL//PIC12C5.DLL/PIC12C6.DLL/PIC12F6.DLL/pic16f6.DLL/PIC18.DLL/READOU T.DLL/VTERM.DLL的文件复制到安装目录相应的文件覆盖。
4.安装汉化菜单:Proteus 7.01 SP2 ARES的汉化菜单放到……Program Files\Labcenter Elect ronics\Proteus 7 Professional\BIN目录下。
Proteus 7.01 SP2 ISIS的汉化菜单放到……Program Files\Labcenter Electro nics\Proteus 7 Professional\BIN目录下。
5.完成Proteus安装。
6.安装keil C518.08 uVision3 setup。
7.进入Keil uVision3界面。
点File > license management打开Keil_lic-v3.2 注册机产生LICO 将其复制填入NEW LICENSE ID中,同时复制COMPUTER I D或者通过KEGGEN产生填入NEW LICENSE ID中。
8.Keil 与Proteus连接,连接开始必须在roteus安装目录下VDM51.dll文件复制到Keil安装目录的\C51\BIN 目录中,但新版本中没有,所以必须下载安装补丁vdmagdi.exe,则在Keil安装目录的\C51\BIN 目录中有文件:VDM51.dll同时还需下载一破解文件PROSPICE.dll替换\Proteus 6 Professional\BIN目录下的相同文件(新版本的Proteus可能不需要)。
Keil MDK4.12与Protues联调

安装之前的准备:1、MDK4.12(Keil uVision 4)这个是KEIL最新版,至少也要用MDK4.0,之前的版本只能联调51,不能联调ARM。
2、Proteus 7.7 sp2这个是Proteus最新版,只有这一个版本两个联调仿真都成功了,之前的版本都不行,不是能联调51不能联调ARM,就是能联调ARM不能联调51。
3、vdmagdi.exe这个是一个联调的补丁,貌似只有一个版本。
上面3个软件网上都有下载,如果没有的也可以问我要。
安装方法:先安装1、2两个,再安装第3个。
设置方法:1、Proteus中的设置方法:勾选最后那个。
USE REMOTE。
2、Keil4 配置文件的设置方法:①、打开Keil的安装根目录,在根目录下有一个配置设置文件:tools.ini,用记事本的方式打开②、找到“[ARM]”,在代码的第7行就是,可以用“编辑==》查找”③、在[ARM]中找到“TDRV8=STLink\ST-LINKIII-KEIL.dll ("ST-Link Debugger")”然后在找到的这句代码后面粘贴上“TDRV9=BIN\VDMARM.DLL ("Proteus VSM Simulator")”④、把[ARM]下面第三行替换为“CPUDLL0=SARM.DLL(TDRV0,TDRV5,TDRV6,TDRV9)”也可以在括号里添加上“,TDRV9”⑤、找到[ARMADS],重复③和④中替换的地方。
说明。
这个配置的时候不要太死板,虽然③说粘贴上“TDRV9”,但如果已经有“TDRV9”了,就顺推到“TDRV10”“TDRV11”。
④、把[ARM]下面第三行替换为“CPUDLL0=SARM.DLL(TDRV0,TDRV5,TDRV6,TDRV9)”的时候,前面你粘贴的是TDRV几,就在后面补上几。
不要你粘贴的是TDRV11,这里还写TDRV9.。
这个就不多说了。
keil与proteus的联调(单片机和arm).

Keil和proteus联调可以更好的学习单片机和arm,我这个是针对对使用keil和proteus很熟练,但还不会使用联调来写的,有什么错误之处还望纠正指导,我也算是初学者,一点点经验,网上说的种种办法我试了一下,没有几个能用的,我这个都给好多朋友安装了,没有什么问题,只是软件有点大,上传不了,要不大家也可以用一用,可惜了
下面为截图,大家按照做就行了,我以arm的为例就行了,单片机也是差不多的第一步:keil的安装,不需要我赘述
keil的破解,点击keil licence creator,选-arm,v2,再点击generate,看图
生成
打开keil的licenc,看图
将keil licence creator产生的代码,复制到keil的new licence id code里,然后点击add lic 就可以了,现在keil就被破解了,使用不受限制,我建议keil不要汉化
第二步:安装proteus,请看下面的截图
第三步:proteus的破解我就不多说了,直接安装联调工具吧,我是用的是vdmagdi,网上有很多下载的,这里选下面的agdi drivers for uvision3,下一步
这个文件必须要安装在keil的文件目录下,看下图
,
这个选arm agdi drives,看图
接着就安装完了,剩下的就是设置参数了第四步:keil的设置,看图说话
好了keil 设置好了
第五步:proteus 的参数设置
第七步:加载文件
第八步,进行keil和proteus的联调把,尽情的享受其中无限的方便吧列说51单片机(C语言)
主编张义和、王敏男等、人民邮电出版社。
Proteus和Keil的使用与联调

Proteus和Keil的使用与联调Proteus7.0 是目前最好的模拟单片机外围器件的工具,非常不错。
可以仿真 51 系列、AVR,PIC 等常用的 MCU 及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC 器件等等),虽然有那么多优点和长处,但还是与实际情况有不少的差别。
如果条件允许,还是买一块单片机开发板或自己做一个单片机应用系统,实实在在的学习和体会一下,仿真毕竟还是仿真,不能代替实际操作,许多实际问题是在仿真中碰不到的。
当然,条件不允许,我们可以采用仿真,达到学习的目的。
如果学习和使用单片机,除了灵活应用Protel等绘制原理图和PCB图以外,那么Keil C51 软件应该要掌握,我们要通过它来编写和调试单片机程序。
Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。
下面就三个问题分别进行介绍。
一、 proteus的使用1. 软件打开双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional”→“ISIS 7 Professional”,出现如图1-1所示界面,随后就进入了Proteus ISIS集成环境。
图1-1 启动时的界面2. 工作界面Proteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。
包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
图1-2 Proteus ISIS的工作界面关于该软件的使用,与学习其他软件的方法没有多大区别,当然我们也不是每个功能都使用,没必要逐一介绍,再说下面有例子,呵呵,相信自己的能力吧。
3. 跑马灯实例设计图1-3 跑马灯实例①将所需元器件加入到对象选择器窗口。
protus7.5与Keil uv4的联调方法

keil与proteus联调1、把proteus安装目录下 VDM51..dll文件复制到Keil安装目录的 \C51\BIN 目录中。
2、修改keil安装目录下 Tools.ini文件,在C51字段加入TDRV5=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver"),保存注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。
引号内的名字随意3、打开proteus,画出相应电路。
在proteus的tools菜单中选中use remote debug monitor4、进入KEIL的project菜单option for target '工程名'。
在DEBUG选项中右栏上部的下拉菜选中 Proteus VSM Monitor-51 Driver。
在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一台的IP地址。
端口号一定为8000 注意:可以在一台机器上运行keil,另一台中运行proteus进行远程仿真5、在keil中进行debug吧,同时在proteus中查看直观的结果(如LCD显示…)按照上面的教程,装完之后发现proteus目录下面没有vdm51.dll,只好在网上搜,找了半天,找到之后发现我的keil目录下面已经有这个文件了,同样要修改的部分也已经修改好了,走了一圈弯路,呵呵proteus 设置截图keil 设置截图看来uv3里面装了不少的仿真端口,呵呵 .按照上面的3,4步骤分别将proteus 和keil设置好就可以进行连接测试了下面就要就行实际的仿真试验了proteus是英文界面,对于英文不好的人来说不是好消息,我就属于那种人,还好有很多热心认识提供了教程参考一下教程在proteus里将硬件电路搭起来一个led的仿真教程: /306/2089.aspx不过在后面仿真的时候有点区别,原为是利用hex文件来仿真的,不能进行调试我们直接将后面的部分跳过,在keil里面输入源程序下面是我写的c源程序#include <at89x51.h>void delay();void main(){while(1){P1_0 = 0x00;delay();P1_0 = 0x01;delay();}}void delay(){unsigned int i;for(i = 0;i<=25535;i++);}写好程序之后,进行创见目标,就可以进行仿真了看图中画圈的部分可以看出已经和proteus连上了Keil uv4和Proteus 7.5联调设置2011-05-13 19:28(做作业用的)1、安装Keil 和Proteus(貌似是废话)2、猛击vdmagdi.exe,然后选择Keil的安装根目录,例如:“X:\ProgramFiles\Keil”(X为盘符),等待安装完成(友情提示,vdmagdi.exe是老师给的安装包里提供的,1.2M,网上可以下载,我在网盘也传了个,附地址:/RobinGaryKing/Open/vdmagdi.exe/)完成后,看看“X:\ProgramFiles\Keil\C51\BIN”目录下应该出现了VDM51.dll 文件3、打开Proteus,在debug菜单中选中useremote debug monitor(汉化版:“调试——>使用远程调试监控”),点完后应该粗线一个对号4、修改Keil 安装目录“X:\ProgramFiles\Keil”下的TOOLS.INI,(用记事本或者各种能编辑编辑器打开)找到C51字段,下面增加一行TDRV9=BIN\VDM51.DLL ("Proteus VSMMonitor-51 Driver" )那个开头TDRV9可以根据情况写成是TDRV3或者TDRV+其他数字,但是不能和已经有的重复了。
Proteus与Keil联调方法

Proteus与Keil联调方法Proteus与Keil联调1.安装Proteus。
2.安装keil C51 uVision3。
3.Keil与Proteus连接,安装keil驱动4.修改keil安装目录下Tools.ini 文件。
用记事本打开Keil根目录下的TOOLS.INI 文件,在[C51] 栏目下加入TDRV3=BIN\VDM51.DLL("Proteus VSM Monitor-51 Driver" ),其中“TDRV3”中的“3”要根据实际情况写,不要和原来的重复。
5.打开proteus,画出相应电路图。
在proteus的debug菜单中选中use remote debug monitor。
在keil中编写MCU的程序。
进入KEIL的project 菜单option for target '工程名'。
在DEBUG选项中右栏上部的下拉菜选中Proteus VSM Monitor-51 Driver。
在进入seting,如果是在同一台电脑上IP名为127.0.0.1,如不是同一台则填另一台的IP地址。
端口号一定为8000 。
点击工具栏的"option for target"按钮,在出现的对话框里点击"Debug",在右栏上部的下拉菜单里选中" Proteus VSM Monitor-51 Driver",还要点击一下Use前面的小圆点。
第五步,Proteus的设置。
运行Proteus的ISIS,鼠标左键点击菜单"DEBUG",选中"use romote debuger monitor"。
基本设置已经完成,可以开始调试了,Keil每调试一次,Proteus就play一次。
在实现连接调试时最主要的是要修改TOOLS.ini和产生VDM51.DLL。
实验一、Proteus、Keil C联调

1. 学会使用Proteus软件绘制单片机原理图; 2. 学会使用Keil μVision3软件建立工程; 3. 学会Proteus、Keil C的联调。
• 三、实验仪器
装有Proteus软件和Keil μVision3软件的计算机
Company Logo
• 四、实验电路
Company Logo
• • • • • • • • • • • • • • •
参考程序: #include "reg51.h“ #define uchar unsigned char #define uint unsigned int #define out P2 void delayms(uint j) {uchar k; while(j--) for(k=0;k<125;k++) {; } } void main(void) { out=0; while(1) { delayms(1000); out=~out; } }
Company Logo
• 五、 实验内容 • 1.使用Proteus软件绘制单片机原理图;
• •
• 六、思考题
2.使用Keil μVision3软件建立工程; 3. Proteus、Keil C的联调。
1. 如何给总线标号? 2. 在原件库中如何查找原件?
Coபைடு நூலகம்pany Logo
实验一:
Proteus、Keil C联调
实验指导老师:潘南红
Company Logo
• 一、实验要求
•
• 二、实验目的
• • • •
能够使用Proteus ISIS软件绘制单片机原理图;能够使用Keil μVision3软件编写、编译、调试C51程序; 能够使用Proteus、 Keil C连接仿真调试。
keil与Proteus联调

keil与Proteus联调Keil与Proteus的联调设置第一步:安装好Proteus、Keil uvision(本人用的是Proteus7.8、Keil uvision5,其他版本类似)两个软件,并破解(相信大家不会用正版的),本教程是ARM联调,需要ARM,Keil 就要破解ARM的,需要51的就要破解51的。
第二步:安装Proteus VSM Simulator驱动(可以在网上免费下载到,百度一下。
虽然说供keil2和keil3用,但是亲测keil4和keil5也能用)。
当然也可以在下一步操作后安装,不过那样的话修改配置问价就麻烦一下等着瞧。
需要强调的是必须安装目录必须选在Keil uvision安装目录之下。
当然VDM51.dll和VDMARM.dll也可以只选择你所需要的。
安装完毕之后可以在C51和ARM下面目录的BIN文件夹的下面分别看到VDM51.dll和VDMARM.dll,如果没有,说明没有安装到指定路径下,请重新安装。
第三步:修改Keil uvision安装目录下的配置文件,即TOOLS.INI。
用记事本打开,或其他查看软件打开。
找到[ARMADS] 这一行下面的内容,到[C51]这一行为止,即[ARMADS]字段。
[ARMADS].........[C51]在[ARMADS] 下面可能会看到下面这一行:CPUDLL0=SARM.DLL(TDRV0,TDRV4,TDRV5,TDRV8) # Drivers for ARM7/9 devices也就是默认可以使用TDRV0,TDRV4,TDRV5,TDRV8所代表的调试工具,为ARM7/9的驱动但是我们要使用Proteus调试,可[ARMADS]字段里面没有,接下来我们就把也它加进去。
在[ARMADS] 的上面两行或者[KARM]的上面或者下面两行会发现下面两行东西:TDRV9=BIN\VDM51.DLL ("Proteus VSM Simulator")BOOK2=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver")(说明我这上面的TDRV9,BOOK2可能是TDRV15,BOOK3也可能是其它的)当然如果你没有做步骤2你是找不到这两句的。
Proteus与Keil联合调试说明

Proteus与keil的联合调试说明
说明一下:Proteus与keil的联合调试这个只是为了调试程序可以执行单步调试用的,不安装也可以的。
1、首先安装Proteus与Keil联合驱动文件下的Vdmagdi.exe软件
2、安装完之后看一下Keil软件的安装目录下是否有VDM51.dll这个文件。
DRIVER") ,这里TDRV3的3要根据要求来修改
因为TDRV3已经存在了,所以这里把“TDRV3”改成“TDRV8”
4、打开“联机调试.Uv2”
5、keil 里设置: project-->options for Target ‘Target 1’-->Debug
、
7、打开联机调试电路.DSN
8、在proteus 里DEBUG-->use remote debug monitor
9、点击keil的小图标,运行keil软件,这时会发现Proteus软件自动运行了
10、执行单步调试会发现当执行到P0=0xaa的时候,P0口的值也为0xaa。
11、完成。
怎样实现keil和proteus联机调试

怎样实现keil和proteus联机调试1. 一定要把keil的工程和Proteus的文件放到同一个目录下(这里所说的Keil的工程指工程的目录,即Proteus的工程Design 文件(后缀名。
DSN)要和包含了Keil工程文件的那个文件夹在同一层目录下)。
(经过操作发现:Keil的工程目录文件夹一定要命名为keil(可能与路径设置有关,目前还不清楚,且Keil工程名与Proteus工程名相同),否则proteus报错:Unable to open HEX file 'Keil\DS1302.hex'. keil报错:target dll has been cancelled debugger aborted!)2. 6.9以上版本需要添加与Keil联调补丁Vdmagdi.exe,其作用就是添加在程序目录keil/c51/bin目录下添加Vdm51.dll,(注意:与其他版本不同,6.9以上版本Proteus 6 Professional\MODELS\目录下没有VDM51.dll)并且修改keil目录下tools 配置文件,添加两行文本:TDRV8=BIN\VDM51.DLL ("Proteus VSM Simulator")BOOK2=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver"),经过实际操作证明,手动操作也可成功实现联调功能,其中第二行非必需,所以不一定要安装补丁Vdmagdi.exe,至于Proteus 6 Professional\BIN目录下Prospice.dll的作用,有网友说与授权有关,确有可能。
默认安装的版本是2006.6.17,本人用2006.6.26版本代替后,联调才成功,但是用更新的2006.8.18替换时,联调又会失败。
3. 必须生成烧写文件4. proteus的debug菜单下选定"use romote debuger monitor注明:用proteus6.9 SP4和Keil uVision3版本联调成功的Proteus 7.12完美破解版和Keil C51 V8.09中文破解版如何连接管理提醒:本帖被水剑设置为精华(2008-12-13)1.把proteus 安装目录下VDM51.dll (C:\Program Files\Labcenter Electronics\ Proteus 6 Profession al\MODELS)文件复制到Keil 安装目录的\C51\BIN 目录中。
proteus&keil联调步骤

Proteus和Keil联调Keil联调仅支持2、3版本目前不支持4版本搜索用于联调的软件VDM51.DLL(仅支持51,不支持arm)或者vdmagdi.exe 方法一:安装vdmagdi.exe安装到keil的根目录下,安装完成后在Keil51安装目录下找到Keil\c51\BIN下的VDM51.DDL复制到Proteus的目录Labcenter Electronice\Proteus7Professional\BIN中安装完成后打开Keil\TOOLS.INI文件可以看到在21行左右有如下字符TDRV8=BIN\VDM51.DLL(“Proteus VSM Simulator”)到此完成方法二:安装VDM51.DLL时仅需要复制到文件到Keil\c51\BIN和Labcenter Electronice\Proteus7Professional\BIN文件夹下,然后找到Keil\TOOLS.INI 在其文件中添加如下一行代码即可TDRV8=BIN\VDM51.DLL(“Proteus VSM Simulator”)注意字符串TDRV后面的数字不要与文件中原有的重复到此完成安装完成后下面开始测试打开ProteusISIS,File>OpenDesign;找到SAMPLE\VSM for8051\C51 Calculator目录选择calc.DSN打开样例工程后,选择Proteus的Debug菜单中的Use Remote Debug Monitor选项运行keilC51,选择Project>Open Project,打开工程对话框找到Proteus下的SAMPLE\VSM for8051\C51Calculator目录,选择CALC.UV2并打开选择Project>Options for Target1,打开Option for Target1对话框,选择Device属性页AT89C51(先找到Atmel在其中找到AT89C51),选择Target属性页设置晶振频率12MHz其他项不变选择Debug属性页,选择调试工具,在Use项中选择Proteus VSM Simulator,(这个Proteus VSM Simulator应该和前面提到的TOOLS.INI中【TDRV8=BIN\VDM51.DLL(“Proteus VSM Simulator”)】中的代码Proteus VSM Simulator一致,如果是其他名称请作相应修改)选择Proteus VSM Simulator后点击选择框右边的设置setting,在弹出的对话框中科以看到ip地址127.0.0.1端口号8000,如果不在同一台计算机请修改成相应的IP设置完成后开始运行调试在Proteus打开的工程中单击选中8051芯片(此时芯片为红色选中状态),再单击设置芯片晶振频率为12MHz在keilC51中编译程序文件在Proteus中点击左下角三角按钮play即可进行仿真。
proteus与arm联调

我使用Proteus7.5SP3和KeilC51V8.02,MDK3.7建立ARM7仿真环境,可是按照以前的做法,安装联调驱动vdmagdi,然后修改安装目录下的tools.ini文件就可以联调了,这种方法适用于51。
但在调试ARM时de bug下拉列表里根本找不到Proteus VSM Debugger。
我发现的ARM解决方法:不去修改tools.ini文件,而是打开tools.ini文件,找一个不常用的驱动,然后把VDMARM.dll(安装vdmagdi驱动后在 C:\Keil\ARM\BIN中)复制到ini文件指向的路径,并把他的名字改成ini文件所指向的文件,也就是替换原来的文件。
例如:TDRV8=STLink\ST-LINKIII-KEIL.dll ("ST-Link Debugger"),把VDMARM.dll放在那个路径下(默认路径为:C:\Keil\ARM\STLink),并把其命名为ST-LINKIII-KEIL.dll ,仿真时选择ST-Link Deb ugger就可以连上Proteus了。
(记得在proteus中的Debug中选择Use remote debug monitor,并在使用mdk调试前把proteus打开并载入相应的hex文件)keil for arm 中的设置(原文件名:1.JPG)我使用的是Proteus7.5SP3和MDK3.7,按照上面的方法联调成功,可单步执行!!以下给个我调试成功的联调驱动和例子:proteus与keil联调驱动ourdev_477016.rar(文件大小:1.13M)(原文件名:vdmagdi.rar)ARM7内核LPC2106流水灯MDK程序和proteus仿真电路图ourdev_477011.rar(文件大小:85K)(原文件名:ARM7内核LPC2106流水灯MDK程序和proteus仿真电路图.rar)lpc2124-lcd1602程序与仿真ourdev_477055.rar(文件大小:99K)(原文件名:lpc2124-lcd1602程序与仿真.rar)keil uvision3与proteus7联调platform: winXp sp2proteus7.4 pro sp3keil_version: c51v817a联调的必要条件:1. 已经在电脑上装好了Keil与Proteus7这两个条件,而且都能够正常使用。
proteus与keil的联调

Keil µVision3.8与proteus7.4的联调方法:1) 打开PROTEUS的安装目录,进入help目录,打开ARM.HLP帮助文档,点击联接:Remote Debugger Drivers/Download and Install remote debugger driver for Keil uVision3, 下载VDMAGDI.EXE, 运行安装到KEIL安装目录VDM51.dll文档会自动安装到KEIL\C51\BIN目录。
2) 打开KEIL中打开要联调的项目,在project workspace的“target1”上点右键/options for target'target1'在打开的对话框中点击到Debug选项卡,在右上角上先中USE选项,并在下拉菜单中选中proteus VSM Simulator在旁边的Settings点一下,如果是proteus在同一台电脑,host:127.0.0.1, port:8000, 点确定/OK保存3)打开proteus并打开要仿真的图纸,点击Debug菜单/选中Use Remote Debug Monitor4) 完成,如果程序和电路图没问题,在KEIL中build all并且仿真运行后,可以在proteus 看到实时效果了。
注:在proteus安装目录/help/MCS8051.HLP 文档中有更加详细的说明。
keil与proteus 7.4联调先安装vdmagdi.exe联调插件,然后编辑keil安装目录下的文件TOOLS.INI,如下红色所标部分。
[UV2]ORGANIZATION="earth"NAME="teng", "long"EMAIL="zhaopan240@"ARMSEL=0BOOK0="UV3\RELEASE_NOTES.HTM" ("uVision Release Notes",GEN) VERSION=V2.2DEVICE_BOOKS=[C51]BOOK0="HLP\Release_Notes.htm" ("Release Notes",GEN)PATH="d:\Keil\C51\"BOOK1="HLP\C51TOOLS.chm" ("Complete User's Guide Selection",C) TDRV1=BIN\MON51.DLL ("Keil Monitor-51 Driver")TDRV2=BIN\ISD51.DLL ("Keil ISD51 In-System Debugger")TDRV3=BIN\MON390.DLL ("MON390: Dallas Contiguous Mode")TDRV4=BIN\LPC2EMP.DLL ("LPC900 EPM Emulator/Programmer") TDRV5=BIN\UL2UPSD.DLL ("ST-uPSD ULINK Driver")RTOS0=Dummy.DLL("Dummy")RTOS1=RTXTINY.DLL ("RTX-51 Tiny")RTOS2=RTX51.DLL ("RTX-51 Full")SN=K1DZP-5IUSH-A01UEVERSION=V7.0BOOK2="HLP\RELEASE_NOTES.HTM" ("Release Notes",GEN)BOOK3="HLP\GS51.PDF" ("uVision2 Getting Started",GEN)BOOK4="HLP\C51.PDF" ("C51 User's Guide",GEN)BOOK5="HLP\C51LIB.CHM" ("C51 Library Functions",C)BOOK6="HLP\A51.PDF" ("Assembler/Utilities",GEN)BOOK7="HLP\TR51.CHM" ("RTX51 Tiny User's Guide",GEN)BOOK8="HLP\DBG51.CHM" ("uVision2 Debug Commands",GEN)BOOK9="HLP\ISD51.CHM" ("ISD51 In System Debugger",GEN)TDRV0=BIN\VDM51.DLL ("Proteus VSM Simulator")BOOK10="HLP\VDMAGDI.HLP" ("Proteus VSM AGDI Driver",GEN)[ARM]PATH="d:\Keil\ARM\"PATH1="C:\Cygnus\"BOOK0="HLP\RELEASE_NOTES.HTM" ("Release Notes",GEN)BOOK1="HLP\ARMTOOLS.chm" ("Complete User's Guide Selection",C)BOOK2="HLP\RL_RELEASE_NOTES.HTM" ("RTL-ARM Release Notes",GEN)BOOK3="HLP\RVI.chm" ("RV Compiler Introduction",GEN)BOOK4="C:\Cygnus\Manuals\2_compile.pdf" ("GNU C Compiler",GEN)BOOK5="C:\Cygnus\Manuals\4_libs.pdf" ("GNU C Run-Time Libraries",GEN) BOOK6="C:\Cygnus\Manuals\5_tools.pdf" ("GNU C Utilities",GEN)BOOK7="C:\Cygnus\Manuals\6_auxtools.pdf" ("GNU C Assembler",GEN) TDRV0=BIN\UL2ARM.DLL("ULINK ARM Debugger")TDRV1=BIN\UL2CM3.DLL("ULINK Cortex Debugger")TDRV2=BIN\AGDIRDI.DLL("RDI Interface Driver")TDRV3=BIN\lmidk-agdi.dll("Luminary Eval Board")TDRV4=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")TDRV5=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")TDRV6=Segger\JLTAgdi.dll("J-LINK / J-TRACE")TDRV7=BIN\VDMARM.DLL ("Proteus VSM Simulator")BOOK8="HLP\VDMAGDI.HLP" ("Proteus VSM AGDI Driver",GEN) [ARMADS]PATH="d:\Keil\ARM\"PATH1="BIN31\"BOOK0="HLP\RELEASE_NOTES.HTM" ("Release Notes",GEN)BOOK1="HLP\ARMTOOLS.chm" ("Complete User's Guide Selection",C) BOOK2="HLP\RL_RELEASE_NOTES.HTM" ("RTL-ARM Release Notes",GEN) BOOK3="HLP\RVI.chm" ("RV Compiler Introduction",GEN)TDRV0=BIN\UL2ARM.DLL("ULINK ARM Debugger")TDRV1=BIN\UL2CM3.DLL("ULINK Cortex Debugger")TDRV2=BIN\AGDIRDI.DLL("RDI Interface Driver")TDRV3=BIN\lmidk-agdi.dll("Luminary Eval Board")TDRV4=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")RTOS0=Dummy.DLL("Dummy")RTOS1=ARTXARM.DLL ("RTX Kernel")TDRV5=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")TDRV6=Segger\JLTAgdi.dll("J-LINK / J-TRACE")TDRV7=BIN\VDMARM.DLL ("Proteus VSM Simulator")BOOK4="HLP\VDMAGDI.HLP" ("Proteus VSM AGDI Driver",GEN) [KARM]PATH="d:\Keil\ARM\"BOOK0="HLP\RELEASE_NOTES.HTM" ("Release Notes",GEN)BOOK1="HLP\RL_RELEASE_NOTES.HTM" ("RTL-ARM Release Notes",GEN) BOOK2="HLP\ARMTOOLS.chm" ("Complete User's Guide Selection",C) BOOK3="HLP\RVI.chm" ("RV Compiler Introduction",GEN)TDRV0=BIN\UL2ARM.DLL("ULINK ARM Debugger")TDRV1=BIN\UL2CM3.DLL("ULINK Cortex Debugger")TDRV2=BIN\AGDIRDI.DLL("RDI Interface Driver")TDRV3=BIN\lmidk-agdi.dll("Luminary Eval Board")TDRV4=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")RTOS0=Dummy.DLL("Dummy")RTOS1=ARTXARM.DLL ("RTX Kernel")TDRV5=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")TDRV6=Segger\JLTAgdi.dll("J-LINK / J-TRACE")TDRV7=BIN\VDMARM.DLL ("Proteus VSM Simulator")BOOK4="HLP\VDMAGDI.HLP" ("Proteus VSM AGDI Driver",GEN)然后打开keil 工程,操作如下图如图操作完成后,让keil运行就可以和proteus中的工程一起联调了。
Proteus与Keil安装和联调设置

Proteus与Keil安装和联调设置一、安装Proteus软件1.根据Proteus的安装说明安装好Proteus软件(包括补丁)。
二、安装Keil软件1.记下安装序列号:SN = K1DZP-5IUSH-A01UE。
进入setup目录点击setup.exe进行安装;2.选择Install Support....全新安装,以前没有安装过或者放弃以前的序列号安装;选择Update Current Installation升级安装,将可以保持原来的序列号,不必再次输入3.选择Full安装,Next->Yes(接受版权信息)->选择安装目录->Next->输入序列号、姓名、公司等,除了序列号以外,都随意,可以如实输入你的姓名等。
->next->....直到安装完成。
三、Proteus与Keil配置1.安装Proteus对Keil的驱动程序:vdmagdi.exe双击_3447219_vdmagdi.exe出现选择驱动uVision3还是uVision2对话框选中“AGDI DRIVER FOR uVision2”(本台PC中只装有uVision2,只能对51仿真。
若安装uVision3还可对ARM仿真),单击“Next”出现选择安装地点对话框单击“Next”出现“select compont”对话框选中复选框,点击“Next”出现完成对话框点击“Finish”。
2.配置Proteus与Keil1)启动Proteus,打开要仿真的文件,选择“Debug”出现对话框选中“Use Remote Debug Monitor”。
2)调出AT89C51属性对话框,将其程序文件设置为空(因为我们要直接用Keil去控制Proteus)。
3)(Keil2设定)启动Proteus对应的Keil工程,选中“Target 1”,单击右键出现快捷菜单选中“”,选中“Device”选项,选中对应的单片机,选中“Debug”选项卡,单选“Use Proteus VSM Simulator”,选中“Go till main”复选框,点击“Settings”按钮出现对话框填入“127.0.0.1;8000”等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Keil与Proteus联调ARM举例
学习ARM最基本的是能够让系统跑起来,起码能跑到main函数,控制一个GPIO。
如此一来点亮一盏LED灯就是入门操作了。
1. 建立Keil工程
Open Keil -> File -> New -> Project -> NXP -> LPC2131
第一步可以用Keil自带的Startup.s来学习
在工程配置里面勾上产生HEX文件,便于Proteus仿真用
同时选择Debug为Proteus,这样就可让Proteus和Keil联调了。
下面开始画Proteus电路图如下:
Proteus基本电路图很简单,基本上只要电源、接地接对了就可以跑了。
这样设置就可以让Keil和Proteus联调了
接下来就是写ARM的Code,由于我们用来Keil默认的Startup.s,所以第一步先不碰可怕的汇编。
像写PC程序一样写个main函数如下:
int main(void)
{
while(1);
}
编译通过,产生Hex文件,用如下方式让Proteus的ARM连接上Keil编译的HEX程序
这样Proteus就设定了ARM的程序输入的HEX文件
到这里就可用Keil和Proteus联调debug,虽然代码只有while(1),但是可以调试的。
接下来就是如何通过控制GPIO来点亮LED灯了。
了解2131控制GPIO有如下步骤:
1. 设置PIN的功能选择为GPIO
2. 设置PIN的输出方向
3. 设置PIN输出的电平1/0
对应程序如下:
// arm2131 ledon projec main function
#define vWriteReg(addr, val) (*((volatile unsigned long *)(addr)) = (val))
#define dReadReg(addr) (*((volatile unsigned long *)(addr)))
#define vWriteRegMask(addr, mask, val) vWriteReg(addr, dReadReg(addr) & (~(mask)) | (val&(mask)))
#define REG_BASE (0xE0000000)
#define REG_PIN0_SEL (REG_BASE + 0x2C000)
#define RET_IO0_ST (REG_BASE + 0x28000)
#define REG_IO0_SET (REG_BASE + 0x28004)
#define REG_IO0_DIR (REG_BASE + 0x28008)
#define REG_IO0_CLR (REG_BASE + 0x2800C)
int main(void)
{
// P0.0 function select as GPIO
vWriteRegMask(REG_PIN0_SEL, 0x03, 0x00);
vWriteReg(REG_IO0_DIR, 1<<0);
vWriteReg(REG_IO0_CLR, 1<<0);
while(1);
}
至此LED灯就被点亮啦。
如下是相应的工程文件。