原创 小明老湿教你如何使KEIL中同时具有51和ARM的编译功能

2014-4-8 10:48 9620 13 13 分类: MCU/ 嵌入式

大家刚开始接触ARM时,肯定是先建立开发环境。如果你用keil 时会发现,你在此基础上你如果装了51版本的编译器的话,会发现无法装ARM版本的编译器,这就会很尴尬。用了51就无法用ARM,用ARM就无法用51。我之前装了KEIL2当做51的编译器,keil4当做ARM的,实际用的时候特别不方便。好了,不废话了,切入正题吧。

       不管你之前装的是51的还是ARM这都没关系。其实很简单的,下面介绍步骤:

一:先将51的文件夹或者ARM的文件夹,放到你安装keil的目录中,路径是注意是C:\keil。最好还是把目录装在C盘上。

如图1

  

1

  这两个文件夹是编译程序所需要的,非常重要。

二:打开TOOLS.INI的这个文件,将文件中加点东西。

打开后如果你是想在ARM下加入51功能,那么你把这一段复制下来

[UV2]

ORGANIZATION="微软中国"

NAME="微软用户", "dsf"

EMAIL="sad"

BOOK0=UV4\RELEASE_NOTES.HTM("uVision Release Notes",GEN)

SOCKETPORT=1

[C51]

PATH="C:\Keil\C51\"

VERSION=V9.00

BOOK0=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")

RTOS0=Dummy.DLL("Dummy")

RTOS1=RTXTINY.DLL ("RTX-51 Tiny")

RTOS2=RTX51.DLL ("RTX-51 Full")

LIC0=GEGKP-MSCX1-YLXC6-DKBC1-ZJPCT-SL63G

TDRV9=BIN\STCMON51.DLL ("STC Monitor-51 Driver")

如果你是想在51下装ARM,那么你把这一段复制下来粘贴到你的TOOLS文件下

[UV2]

ORGANIZATION="微软中国"

NAME="微软用户", "dsf"

EMAIL="sad"

ARMSEL=1

BOOK0=UV4\RELEASE_NOTES.HTM("uVision Release Notes",GEN)

CDB0=UV4\STC.CDB ("STC MCU Database")

[ARM]

PATH="C:\Keil\ARM\"

VERSION=4.70a

PATH1="C:\Program Files\GNU Tools ARM Embedded\4.7 2012q4\"

TOOLPREFIX=arm-none-eabi-

CPUDLL0=SARM.DLL(TDRV0,TDRV5,TDRV6,TDRV10)                                                        # Drivers for ARM7/9 devices

CPUDLL1=SARMCM3.DLL(TDRV1,TDRV2,TDRV3,TDRV4,TDRV5,TDRV7,TDRV8,TDRV9,TDRV11,TDRV12,TDRV13,TDRV14,TDRV15)  # Drivers for Cortex-M devices

CPUDLL2=SARMCR4.DLL(TDRV7)                                                                        # Drivers for Cortex-R4 devices

BOOK0=HLP\RELEASE_NOTES.HTM("Release Notes",GEN)

BOOK1=HLP\ARMTOOLS.chm("Complete User's Guide Selection",C)

BOOK2=CMSIS\index.html("CMSIS Documentation",GEN)

BOOK3=Signum\Docs\SigUV3Arm.htm("Signum Systems JTAGjet Driver Documentation",GEN)

TDRV0=BIN\UL2ARM.DLL("ULINK2/ME ARM Debugger")

TDRV1=BIN\UL2CM3.DLL("ULINK2/ME Cortex Debugger")

TDRV2=BIN\AGDIRDI.DLL("RDI Interface Driver")

TDRV3=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")

TDRV4=BIN\lmidk-agdi.dll("Stellaris ICDI")

TDRV5=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")

TDRV6=Segger\JLTAgdi.dll("J-LINK / J-TRACE ARM")

TDRV7=Segger\JL2CM3.dll("J-LINK / J-TRACE Cortex")

TDRV8=STLink\ST-LINKIII-KEIL.dll ("ST-Link (Deprecated Version)")

TDRV9=BIN\ULP2CM3.DLL("ULINK Pro Cortex Debugger")

TDRV10=BIN\ULP2ARM.DLL("ULINK Pro ARM Debugger")

TDRV11=NULink\Nu_Link.dll("NULink Debugger")

TDRV12=SiLabs\SLAB_CM_Keil.dll("SiLabs UDA Debugger")

TDRV13=STLink\ST-LINKIII-KEIL_SWO.dll ("ST-Link Debugger")

TDRV14=BIN\CMSIS_AGDI.dll("CMSIS-DAP Debugger")

TDRV15=BIN\DbgFM.DLL("Fast Models Debugger")

DELDRVPKG0=ULINK\UninstallULINK.exe("ULINK Pro Driver V1.0")

LIC0=GE7X7-EGEQ5-9WB2E-5T3KT-NA0N1-V0DP8

[ARMADS]

PATH="C:\Keil\ARM\"

PATH1=".\ARMCC\bin\"

CPUDLL0=SARM.DLL(TDRV0,TDRV5,TDRV6,TDRV10)                                                        # Drivers for ARM7/9 devices

CPUDLL1=SARMCM3.DLL(TDRV1,TDRV2,TDRV3,TDRV4,TDRV5,TDRV7,TDRV8,TDRV9,TDRV11,TDRV12,TDRV13,TDRV14,TDRV15)  # Drivers for Cortex-M devices

CPUDLL2=SARMCR4.DLL(TDRV7)                                                                        # Drivers for Cortex-R4 devices

BOOK0=HLP\RELEASE_NOTES.HTM("Release Notes",GEN)

BOOK1=HLP\ARMTOOLS.chm("Complete User's Guide Selection",C)

BOOK2=CMSIS\index.html("CMSIS Documentation",GEN)

BOOK3=Signum\Docs\SigUV3Arm.htm("Signum Systems JTAGjet Driver Documentation",GEN)

TDRV0=BIN\UL2ARM.DLL("ULINK2/ME ARM Debugger")

TDRV1=BIN\UL2CM3.DLL("ULINK2/ME Cortex Debugger")

TDRV2=BIN\AGDIRDI.DLL("RDI Interface Driver")

TDRV3=BIN\ABLSTCM.dll("Altera Blaster Cortex Debugger")

TDRV4=BIN\lmidk-agdi.dll("Stellaris ICDI")

TDRV5=Signum\SigUV3Arm.dll("Signum Systems JTAGjet")

TDRV6=Segger\JLTAgdi.dll("J-LINK / J-TRACE ARM")

TDRV7=Segger\JL2CM3.dll("J-LINK / J-Trace Cortex")

TDRV8=STLink\ST-LINKIII-KEIL.dll ("ST-Link (Deprecated Version)")

TDRV9=BIN\ULP2CM3.DLL("ULINK Pro Cortex Debugger")

TDRV10=BIN\ULP2ARM.DLL("ULINK Pro ARM Debugger")

TDRV11=NULink\Nu_Link.dll("NULink Debugger")

TDRV12=SiLabs\SLAB_CM_Keil.dll("SiLabs UDA Debugger")

TDRV13=STLink\ST-LINKIII-KEIL_SWO.dll ("ST-Link Debugger")

TDRV14=BIN\CMSIS_AGDI.dll("CMSIS-DAP Debugger")

TDRV15=BIN\DbgFM.DLL("Fast Models Debugger")

RTOS0=Dummy.DLL("Dummy")

RTOS1=VARTXARM.DLL ("RTX Kernel")

DELDRVPKG0=ULINK\UninstallULINK.exe("ULINK Pro Driver V1.0")

这些代码其实就是keil编译器中单独51或者ARM版本中的TOOLS.Ini中复制下来的,也就是说,要把51中的TOOLS.Ini文件中的内容和ARM中的TOOLS.Ini文件中的内容结合到一块儿。还有一点儿需要特别注意。看图2

2

   这个是你这个程序编译时需要寻找的路径(PATH),你要先注意下你放C51文件夹或者ARM文件夹的路径是不是和这个文件上边写的是不是正确,如果不正确你要修改一下。这点儿非常重要啊,关乎成败的。

三:再次**keil

上述工作做完之后,打开keil后你会发现在建立工程时会不管是51的还是ARM的芯片都可选了。但是,这还是不行,需要再次**一下。使用管理员权限打开keil,然后FILE->

License Mangement.再次看图。如图3

 

3

      打开后会发现两个Product。复制CID中的代码。然后去注册机去**。就是图1中显示的注册机。一会儿注册机也会放在下面供大家下载。怎么**大家都懂吧,我就不讲了,**以后就可以用了,有什么问题再问我吧,好了就这样吧。

后记:51的文件夹,和ARM的那个文件夹在哪儿可以弄到呢?反正我的那个C51文件夹就是copy的室友电脑中的keil里的。一般都是可以的  zip.gif注册机.zip

文章评论1条评论)

登录后参与讨论

用户1479666 2015-8-1 11:42

多谢
相关推荐阅读
用户1720481 2013-12-06 15:14
玩转儿传感器之超声波模块HC-SRO4的使用
超声波模块的使用说明 拿到超声波模块(模块型号是HC-SRO4)看见了,该模块有4个接口,分别是vcc,Trig,Echo,GND。如图1所示。                  ...
我要评论
1
13
关闭 站长推荐上一条 /2 下一条