打印
[ARM入门]

教你如何使KEIL中同时具有51和ARM的编译功能

[复制链接]
22443|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 smallbright 于 2014-4-7 20:54 编辑

       大家刚开始接触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里的。一般都是可以用的,大家试一下。

截图3.png (147.99 KB )

截图3.png

截图2.png (144.7 KB )

截图2.png

相关帖子

沙发
smallbright|  楼主 | 2014-4-5 23:00 | 只看该作者
本帖最后由 smallbright 于 2014-4-5 23:12 编辑

C51文件太大了,我就不传了

使用特权

评论回复
板凳
smallbright|  楼主 | 2014-4-5 23:02 | 只看该作者
本帖最后由 smallbright 于 2014-4-5 23:13 编辑

ARM的文件夹也太大,我也不传了,哈哈

使用特权

评论回复
地板
smallbright|  楼主 | 2014-4-5 23:12 | 只看该作者
这是那个注册机

注册机.zip

40.57 KB

使用特权

评论回复
5
youluo235| | 2014-4-6 08:10 | 只看该作者
这个好,必须顶

使用特权

评论回复
6
一清如水| | 2014-4-6 12:37 | 只看该作者
虽然我没有再KEIL 5.0 上同时装ARM和C51,但是以我在KEIL4上的经验来讲,KEIL是可以同时安装ARM和C51的,而且没有这么繁琐,至于你为什么没装好,我只能说方法不对,你可试想一下,自己公司的产品,仅仅因为芯片不能兼容,岂不是让人笑掉大牙

使用特权

评论回复
7
KENJI_ZEBRA| | 2014-4-6 20:43 | 只看该作者
好東西
一定頂

使用特权

评论回复
8
Wayner| | 2014-4-6 22:17 | 只看该作者
谢谢!您付出了努力我们看得见。总有一天我也要试试看的

使用特权

评论回复
9
杉树林罗| | 2014-4-6 23:14 | 只看该作者
直接安装了两个,都是kile4的。。。

使用特权

评论回复
10
smallbright|  楼主 | 2014-4-7 20:46 | 只看该作者
杉树林罗 发表于 2014-4-6 23:14
直接安装了两个,都是kile4的。。。

那你打开工程文件的时候会出现问题吧

使用特权

评论回复
11
smallbright|  楼主 | 2014-4-7 20:47 | 只看该作者
一清如水 发表于 2014-4-6 12:37
虽然我没有再KEIL 5.0 上同时装ARM和C51,但是以我在KEIL4上的经验来讲,KEIL是可以同时安装ARM和C51的,而 ...

这也不繁琐啊,就三步。当时是已经装好了,之所以出问题,是我程序的问题,不是编译器的问题

使用特权

评论回复
12
杉树林罗| | 2014-4-8 16:45 | 只看该作者
smallbright 发表于 2014-4-7 20:46
那你打开工程文件的时候会出现问题吧

不会,特意分放在两个不同目录下:lol

使用特权

评论回复
13
smallbright|  楼主 | 2014-4-8 19:33 | 只看该作者
杉树林罗 发表于 2014-4-8 16:45
不会,特意分放在两个不同目录下

我有强迫症,两个我不舒服

使用特权

评论回复
14
lr2131| | 2014-4-8 20:05 | 只看该作者
感觉搞复杂了啊。装两个不就得了。
之前有段时间,我还装了好几个版本的IAR ,有MSP430的,有AVR的,有ARM的。没法就这样用着也没什么不好

使用特权

评论回复
15
xiaoyonggo| | 2014-4-9 17:19 | 只看该作者
两个是可以同时装的,先装51的,再装ARM的,我一直都这样用,哪有这么复杂!

使用特权

评论回复
16
smallbright|  楼主 | 2014-4-9 22:09 | 只看该作者
lr2131 发表于 2014-4-8 20:05
感觉搞复杂了啊。装两个不就得了。
之前有段时间,我还装了好几个版本的IAR ,有MSP430的,有AVR的,有ARM ...

复杂吗??就三步,这是两分钟搞定的事儿啊

使用特权

评论回复
17
smallbright|  楼主 | 2014-4-9 22:11 | 只看该作者
xiaoyonggo 发表于 2014-4-9 17:19
两个是可以同时装的,先装51的,再装ARM的,我一直都这样用,哪有这么复杂! ...

复杂吗??我很无语啊,我当时两分钟搞定了啊,复制粘贴,然后**就是这么多啊

使用特权

评论回复
18
whip93332| | 2014-4-9 22:17 | 只看该作者
谢谢!您付出了努力我们看得见。但是不明白。

使用特权

评论回复
19
潜力变实力| | 2014-4-10 09:20 | 只看该作者

谢谢!您付出了努力我们看得见。总有一天我也要试试看的

使用特权

评论回复
20
xiaoyonggo| | 2014-4-10 10:01 | 只看该作者
smallbright 发表于 2014-4-9 22:11
复杂吗??我很无语啊,我当时两分钟搞定了啊,复制粘贴,然后**就是这么多啊 ...

根本就不用改什么 TOOLS.INI 文件,51与ARM的程序直接装就行了。

使用特权

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

本版积分规则

5

主题

55

帖子

0

粉丝