怎樣讓Keil軟體同時兼容51單片機和ARM單片機的問題

2021-01-11 電子產品世界
相信學ARM的童鞋大多數都是先學過51的,你如果用Keil這樣的編譯環境的話,也許你會發現之前學校51的Keil開發環境無法兼容ARM,或者你在做項目,同時要用到Keil開發51單片機和ARM單片機,這個時候就開始無奈了,發現裝了keil C或ADK 裡面都只有51或者ARM一種單片機核可供選。難道要我們分別安裝這兩個軟體?答案是不可取的,經過了解,KEIL公司是被ARM公司收購了,自從是一家人以後,它們總該相處得好點吧,至少兼容問題總不能自家人排斥自家人,那就太不夠意思了,呵呵。

這幾天因為公司的破電腦只有 10G的C盤空間被我裝軟體以及桌面上放的各種文件給填滿了,所以打算把一些軟體移到其它盤,刪除了KEIL軟體以後,發現之前可以同時編譯51和ARM 的keil夭折了,所以自己研究了一下,把它的過程記錄下來留著以後可作參考。具體方法如下:

第一步到http://www.51hei.com/下載並安裝Keil C:

直接找開Keil C一直下一步,中間填下SN碼,這個在破解的KEIL C軟體裡面都會有的。安裝完成後的環境如下:

第二步把上圖Tools文件用文本的方式打開並複製裡面的內容保存起來,內容如下:

[C51]
BOOK0=HLPRELEASE_NOTES.HTM("Release Notes")
BOOK1=HLPGS51.PDF("uVision2 Getting Started")
BOOK2=HLPC51.PDF("C51 Users Guide")
BOOK3=HLPC51LIB.CHM("C51 Library Functions",C)
BOOK4=HLPA51.PDF("Assembler/Utilities")
BOOK5=HLPTR51.CHM("RTX51 Tiny Users Guide")
BOOK6=HLPDBG51.CHM("uVision2 Debug Commands")
BOOK7=ISD51ISD51.HTM("ISD51 In System Debugger")
BOOK8=HLPFlashMon.CHM("Flash Monitor")
BOOK9=MON390MON390.HTM("MON390: Dallas Contiguous Mode Monitor")
TDRV0=BINMON51.DLL ("Keil Monitor-51 Driver")
TDRV1=BINISD51.DLL ("Keil ISD51 In-System Debugger")
TDRV2=BINMON390.DLL ("MON390: Dallas Contiguous Mode")
TDRV3=BINLPC2EMP.DLL ("LPC900 EPM Emulator/Programmer")
RTOS1=RTXTINY.DLL ("RTX-51 Tiny")
RTOS2=RTX51.DLL ("RTX-51 Full")
Version=V7.0
PATH="D:KeilC51"
SN=K1DZP-5IUSH-A01UE



我用的軟體兼容性還是蠻好的,裡面有C251,,,C51的聲明段,因為我只要用到51和ARM兼容,所以我只把C51的代碼複製下來就行了。

第三步安裝ADK,這裡要注意ADK的版本要比KEIL C的版本高一個等級,只有這樣才能兼容,如果不這樣的話,可能調試功能部分會有問題。比如KEIL與proteus進行調試時會出現調試不了的問題。

安裝ADK同上,直接下一步,有提示要SN號的時候在軟體裡面找了複製,粘貼就行了。安裝路徑跟KEIL C的路徑一樣就行了,我在網上看有人說不能同一個路徑,其實同個路徑好點,省了過會要複製兩次代碼,而且還不用搞兩個電路在電腦,又麻煩又不方便。安裝後的效果如下:

接著打開TOOLS文件,把上面的代碼複製,粘貼上去。

[UV2]

BOOK0=UV3RELEASE_NOTES.HTM("uVision Release Notes")

BOOK1=

ARMUSE=0

rem ARMUSE= 0:=Cygnus/GNU, 1:=ARM-ADS, 2:=Keil (future)

Version=V2.2

ORGANIZATION="LN"

NAME="admin Michael", "DSD"

EMAIL="LUSSBY"

ARMSEL=1

[C166]

BOOK0=HLPRELEASE_NOTES.HTM("Release Notes")

BOOK1=HLPGS166.PDF("uVision2 Getting Started")

BOOK2=HLPC166.PDF("C166 Users Guide")

BOOK3=HLPC166LIB.CHM("C166 Library Functions",C)

BOOK4=HLPEC166.CHM("EC166 Embedded C++")

BOOK5=HLPA166.PDF("A166 & Utilities Users Guide")

BOOK6=HLPDBG166.CHM("uVision2 Debug Commands")

BOOK7=HLPOCDS.CHM("OCDS Debugging")

TDRV0=MONITORMON166.DLL ("Keil Monitor-166 Driver")

TDRV1=OCDSCBC166.DLL ("OCDS Driver for C16xU/H/UTAH")

TDRV2=OCDSOCDSXC.DLL ("OCDS Driver for XC16x")

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

RTOS2=RTXFULL.DLL ("RTX-166 Full")

Version=V4.2

[C51]
BOOK0=HLPRELEASE_NOTES.HTM("Release Notes")
BOOK1=HLPGS51.PDF("uVision2 Getting Started")
BOOK2=HLPC51.PDF("C51 Users Guide")
BOOK3=HLPC51LIB.CHM("C51 Library Functions",C)
BOOK4=HLPA51.PDF("Assembler/Utilities")
BOOK5=HLPTR51.CHM("RTX51 Tiny Users Guide")
BOOK6=HLPDBG51.CHM("uVision2 Debug Commands")
BOOK7=ISD51ISD51.HTM("ISD51 In System Debugger")
BOOK8=HLPFlashMon.CHM("Flash Monitor")
BOOK9=MON390MON390.HTM("MON390: Dallas Contiguous Mode Monitor")
TDRV0=BINMON51.DLL ("Keil Monitor-51 Driver")
TDRV1=BINISD51.DLL ("Keil ISD51 In-System Debugger")
TDRV2=BINMON390.DLL ("MON390: Dallas Contiguous Mode")
TDRV3=BINLPC2EMP.DLL ("LPC900 EPM Emulator/Programmer")
RTOS1=RTXTINY.DLL ("RTX-51 Tiny")
RTOS2=RTX51.DLL ("RTX-51 Full")
Version=V7.0
PATH="D:KeilC51"
SN=K1DZP-5IUSH-A01UE

[C251]
BOOK0=HLPRELEASE_NOTES.HTM("Release Notes")
BOOK1=HLPGS51.PDF("uVision2 Getting Started")
BOOK2=HLPC251.PDF("C251 Users Guide")
BOOK3=HLPC251LIB.CHM("C251 Library Functions",C)
BOOK4=HLPA51.PDF("Assembler/Utilities")
BOOK5=HLPDBG251.CHM("uVision2 Debug Commands")
TDRV0=BINMON251.DLL ("Keil Monitor-251 Driver")
Version=V3.5

[ARM]
PATH="D:KeilARM"
BOOK0=HLPRELEASE_NOTES.HTM("Release Notes")
BOOK1=HLPARMTOOLS.chm("Complete Users Guide Selection", C)
BOOK2=HLPRL_RELEASE_NOTES.HTM("RTL-ARM Release Notes")
BOOK3=HLPRVI.chm("RV Compiler Introduction")
BOOK4="C:Program FilesCodeSourcerySourcery G++ Litesharedocarm-2007q3-53-arm-none-eabipdfgccgcc.pdf" ("GNU C Compiler",GEN)
TDRV0=ULINKARM7.DLL("ULINK ARM7 Debugger")
Version=3.80a
PATH1="C:Program FilesCodeSourcerySourcery G++ Lite"
CPUDLL0=SARM.DLL(TDRV0,TDRV5,TDRV6,TDRV8) # Drivers for ARM7/9 devices
CPUDLL1=SARMCM3.DLL(TDRV1,TDRV3,TDRV4,TDRV5,TDRV7,TDRV8) # Drivers for Cortex-M devices
BOOK5="C:Program FilesCodeSourcerySourcery G++ Litesharedocarm-2007q3-53-arm-none-eabipdfas.pdf" ("GNU Assembler",GEN)
BOOK6="C:Program FilesCodeSourcerySourcery G++ Litesharedocarm-2007q3-53-arm-none-eabipdfld.pdf" ("GNU Linker",GEN)
BOOK7="C:Program FilesCodeSourcerySourcery G++ Litesharedocarm-2007q3-53-arm-none-eabipdfinutils.pdf" ("GNU Binary Utilities",GEN)
TDRV1=BINUL2ARM.DLL("ULINK ARM Debugger")
TDRV2=BINUL2CM3.DLL("ULINK Cortex Debugger")
TDRV3=BINAGDIRDI.DLL("RDI Interface Driver")
TDRV4=BINABLSTCM.dll("Altera Blaster Cortex Debugger")
TDRV5=BINlmidk-agdi.dll("Luminary Eval Board")
TDRV6=SignumSigUV3Arm.dll("Signum Systems JTAGjet")
TDRV7=SeggerJLTAgdi.dll("J-LINK / J-TRACE")
TDRV8=SeggerJL2CM3.dll("Cortex-M3 J-LINK")
TDRV9=STLinkST-LINKIII-KEIL.dll ("ST-Link Debugger")

[ARMADS]
PATH="D:KeilARM"
PATH1="BIN40"
BOOK0=HLPRELEASE_NOTES.HTM("Release Notes")
BOOK1=HLPARMTOOLS.chm("Complete Users Guide Selection", C)
BOOK2=HLPRL_RELEASE_NOTES.HTM("RTL-ARM Release Notes")
BOOK3=HLPRVI.chm("RV Compiler Introduction")
BOOK4=
BOOK5=
TDRV0=ULINKARM7.DLL("ULINK ARM7 Debugger")
Version=V0.1



技術專區

相關焦點

  • 單片機keil 常見問題
    一、混合編程1、模塊內接口:使用如下標誌符:#pragma asm彙編語句#pragma endasm注意:如果在c51程序中使用了彙編語言,注意在keil
  • Proteus軟體仿真與Keil的51單片機系統設計
    單片機功能越來越強大,價格卻不斷下降的優勢無疑成為嵌入式系統方案設計的首選,同時單片機應用領域的擴大也使得更多人加入到基於單片機系統的開發行列中,推動著單片機技術的創新進步。  然而傳統的單片機系統開發除了需要購置諸如仿真器、編程器、示波器等價格不菲的電子設備外,開發過程也較繁瑣。如圖1所示,用戶程序需要在硬體完成的情況下才能進行聯調,如果在調試過程中發現需修改硬體,則要重新制板。
  • KEIL(MDK)同時兼容STM32和51系列單片機的方法
    然後以管理員身份打開KEIL4,用KEIL4的註冊機,註冊ARM和C51。破解結果方法二:下面這個方法可以讓keilMDK兼容51的工程,只要一個keil就都能編譯51和stm32的工程了:1、安裝keilC51,並破解,安裝目錄 T:keilC512、安裝keilMDK,並破解,安裝目錄 T:keilMDK3、把T:keilC51 裡面的 C51 文件夾複製到 T:keilMDK 裡4、把 T:keilC51 裡面的 UV4 文件夾複製到 T:keilMDK 裡,提示有同名文件都不要覆蓋
  • 淺談三種單片機程序調試方法
    一、仿真器調試(硬體仿真)最近咱們學院購買了廣州致遠電子有限公司的周立功DP-51PROC試驗儀,上周四下午,我們去倒騰了一番,感覺這試驗儀對學習51系列單片機還是蠻有用處的,特別是結合其仿真器進行調試程序還是很好的。
  • 【單片機筆記】keil c51編譯環境不能跳轉函數的解決辦法
    51單片機+1602+DS18B20的溫度報警程序 51單片機做的溫度顯示,溫度顯示在LCD1602液晶屏上。 簡易星三角啟動電機 單片機C51程序 當電機較大時,啟動是個必須注意的問題。
  • 51單片機玩轉物聯網基礎篇01-開發環境搭建
    前言上至航天,下至兒童玩具,凡事沾一點智能的東西,都離不開單片機的身影......,本文開始,我們學習STC89C52單片機,這款單片機屬於8051系列單片機,51單片機作為入門級單片機不僅在教學實驗中應用廣泛,在實際項目中應用亦是十分廣泛。
  • 有關Keil軟體仿真的51單片機串口調試技巧
    1 調試前的準備工作  下面介紹一種利用Keil的軟體仿真功能來實現51單片機串口調試用戶程序的方法。使用這種方法,無需任何硬體仿真器,甚至都不需要用戶電路板。所需的只是:  ① 硬體。1臺普通計算機(需要帶有2個標準串口)和1根串口線(兩頭都是母頭,連線關係如圖1所示)。
  • ARM與單片機到底有啥區別?
    不像單片機一樣一切都要重新寫。前期的作業系統移植工作,還是要專業人士來做。2)安全。這是LINUX的一個特點。LINUX的內核與用戶空間的內存管理分開,不會因為用戶的單個程序錯誤而引起系統死掉。這在單片機的軟體開發中沒見到過。3)高效。引入進程的管理調度系統,使系統運行更加高效。在傳統的單片機開發中大多是基於中斷的前後臺技術,對多任務的管理有局限性。
  • 淺談STM32和51單片機之間的區別
    打開APP 淺談STM32和51單片機之間的區別 發表於 2019-01-30 09:36:46 單片微型計算機簡稱單片機,簡單來說就是集
  • 如何讓Keil MDK兼容Keil C51?
    原來用51單片機,使用的是KeilC51uVisionV4.02;最近搞STM32原來我是先裝keilC51,後裝keilMDK的,裝在不同的目錄裡,裝完之後不管是51工程還是stm32工程默認都會用keilMDK打開,這樣打開51工程時會出錯,所以要打開51的工程必須先打開keilC51程序,然後再程序裡打開工程文件。
  • Proteus和Keil軟體在單片機項目式教學中的應用
    摘要:針對單片機項目式教學中出現的問題,提出了將Proteus仿真軟體和Keil軟體引入到單片機項目式教學中。以」簡易溫室監控系統」項目為例,詳細闡述Proteus軟體和Keil軟體在單片機課程教學中的使用方法和仿真調試過程。
  • 基於KEIL 51的單片機開發系統設計
    以其性能優越、使用方便,受到眾多單片機愛好者的歡迎。KEIL 51以軟體包的形式向用戶提供包括C51交叉編譯器、A51宏彙編、BL連接定位器等一系列工具和μVision2軟體仿真器dScope51等開發平臺。但是目前支持高版本KEIL 51編程的仿真器價格較高。為此提供了基於KEIL 51開發系統的設計方案。2.硬體電路設計基於KEIL 51開發環境設計開發系統電路原理如圖1所示。
  • 圖形化編程玩51單片機(十三)簡單實用門鈴實驗
    特別提示:從本期起,將原來的文章標題「零基礎學51單片機」更改為「圖形化編程玩51單片機」本期實驗:模擬簡易門鈴;且有關閉門鈴功能。3,打開keil編譯器軟體,在文本框裡粘貼,生成hex文件。4,打開燒錄軟體,找到剛剛的hex文件,下載到單片機。
  • 單片機學習之二:單片機軟體使用簡明教程
    在我們開始單片機學習之前,我們有必要先來介紹一下單片機編程開發環境。我們現在常用的2種編程開發環境是:偉福WAVE和KEIL C軟體。我們這裡以大家最常用的KEIL C軟體為例,簡單介紹一下編程環境。
  • 51單片機、STM32單片機、PIC單片機性能對比
    51單片機 應用最廣泛的8位單片機當然也是初學者們最容易上手學習的單片機,最早由Intel推出,由於其典型的結構和完善的總線專用寄存器的集中管理,眾多的邏輯位操作功能及面向控制的豐富的指令系統,堪稱為一代「經典」,為以後的其它單片機的發展奠定了基礎。
  • 單片機C語言編程實現對舵機控制
    單片機通過控制舵機實現小車的轉向。本文主要介紹如何使用51單片機實現對舵機進行偏轉角度控制。所使用舵機型號為MG996R,使用晶片為STC89C52。周期20ms主要藉助51單片機定時器1設置在0.5ms產生中斷,在中斷處理函數中設置高低電平。同時通過變量記錄中斷執行次數,當次數達到40時即為一個周期20ms。本例測試使用51單片機開發板,按鍵K2與K3控制舵機角度增加與減少,其中K2對應P3.4引腳,K3對應P3.5引腳。
  • 第2課 keil軟體及工程文件的建立
    單片機系統設計主要包括硬體設計和軟體設計,對於單片機初者來說主要在於軟體的學習,也就是程序設計,等大家程序這塊掌握得差不多了,再去結合具體的項目學習做硬體,最終掌握單片機系統設計的方法。
  • 學習單片機,為什麼我建議你從51單片機開始
    這就和我們小時候學習數學都是從1+1開始學習加法的,簡單+堅持我們就能學習下去,就能更好的理解。下面介紹學習51單片機的準備工作。入門51單片機,始終包含「一軟一硬」2部分,首先你需要準備一個完整的單片機最小系統(包括 時鐘電路、復位電路和電源),最好能有幾個按鍵和LED的,方便後續學習(某寶購買現成的51單片機最小系統,30元內,STC系列的),硬體的方面;然後你要有一個程序編輯、編譯調試的環境,一般選擇Keil
  • 從零開始學習51單片機(八)獨立按鍵S1實驗3:一鍵控制N個設備
    今天的學習內容是:系統化編程讓一個按鍵能夠控制N個設備獨立按鍵S1的實驗3:在「獨立按鍵S1實驗2」的基礎上進一步改進,讓程序再次優化,學會怎樣將程序模塊化編寫,掌握了程序模塊化編寫,就能夠用一個獨立按鍵同時控制N個設備了
  • 現在還有必要學習51單片機了嗎
    「現在都是什麼年代了,你還在學單片機?早就該學嵌入式系統了,Linux和FPGA了。什麼,你學的還是51單片機,這個單片機可能比你老爸年紀還大,還學它幹嘛?你這不是1949年參加Guo軍,1912年入宮做『大內總管』嗎?」。