標(biāo)題: ARM開(kāi)發(fā)工具集 官方版Keil教程(共1472頁(yè)pdf下載) [打印本頁(yè)]

作者: chhktk    時(shí)間: 2018-9-26 21:01
標(biāo)題: ARM開(kāi)發(fā)工具集 官方版Keil教程(共1472頁(yè)pdf下載)
keil詳細(xì)教程分享,還是官方版的哦

Keil公司開(kāi)發(fā)的ARM開(kāi)發(fā)工具M(jìn)DK(Microcontroller Development Kit),是用來(lái)開(kāi)發(fā)基于ARM核的系列微控制器的嵌入式應(yīng)用程序。它適合不同層次的開(kāi)發(fā)者使用,包括專(zhuān)業(yè)的應(yīng)用程序開(kāi)發(fā)工程師和嵌入式軟件開(kāi)發(fā)的入門(mén)者。MDK包含了工業(yè)標(biāo)準(zhǔn)的Keil C編譯器、宏匯編器、調(diào)試器、實(shí)時(shí)內(nèi)核等組件,支持所有基于ARM的設(shè)備,能幫助工程師按照計(jì)劃完成項(xiàng)目。
  
Keil ARM開(kāi)發(fā)工具集集成了很多有用的工具,如下圖所示,正確的使用它們,可以有助于快速完成項(xiàng)目開(kāi)發(fā)。

注意
     µVision IDE集成開(kāi)發(fā)環(huán)境和µVision Debugger調(diào)試器可以創(chuàng)建和測(cè)試應(yīng)用程序,可以用GNU ARM ADS或者RealView的編譯器來(lái)編譯這些

應(yīng)用程序;
      MDK-ARM是PK-ARM的一個(gè)超集;
      AARM匯編器、CARM C編譯器、LARM連接器和OHARM目標(biāo)文件到十六進(jìn)制的轉(zhuǎn)換器僅包含在MDK-ARM開(kāi)發(fā)工具集中。 除了上表所列工具外,Keil 還提供以下工具:






啟動(dòng)代碼(startup code)

啟動(dòng)代碼用于初始化CPU以與硬件設(shè)計(jì)的配置相匹配,參閱開(kāi)始使用ARM開(kāi)發(fā)工具集用戶(hù)指南, CPU啟動(dòng)代碼 可以獲取有關(guān)啟動(dòng)代碼完成任務(wù)的詳細(xì)信息。
不同系列的設(shè)備有不同的啟動(dòng)代碼。文件夾\ARM\Startup 包含了基于 RealView編譯工具的一些啟動(dòng)代碼,它被配置成適用于不同的硬件平臺(tái)。當(dāng)創(chuàng)建一個(gè)新的工程時(shí),啟動(dòng)代碼被自動(dòng)地拷貝到用于配置文件的工程文件夾下。
大多數(shù)啟動(dòng)文件為設(shè)備配置提供了符號(hào)定義,可以在 µVision的Project - Options - Asm - Define下鍵入這些符號(hào)。 下面是常用的選項(xiàng):
„ REMAP: 在某些設(shè)備上執(zhí)行存儲(chǔ)映射。
„ EXTMEM_MODE: 配置為從片外Flash ROM執(zhí)行代碼。
„ RAM_MODE: 配置為從RAM執(zhí)行代碼。
„ RAM_INTVEC: 執(zhí)行重映射并拷貝中斷向量。
有關(guān)變量SET符號(hào)的詳細(xì)說(shuō)明及相關(guān)配置選項(xiàng)在啟動(dòng)代碼文件中提供。
對(duì)由µVision自動(dòng)生成的鏈接器配置來(lái)說(shuō),要求啟動(dòng)代碼本身位于Reset段內(nèi),且中斷向量表位于標(biāo)號(hào)Reset_Handler (代表CPU重啟地址)處。



使能存儲(chǔ)器為Read/Only 和Read/Write,它作為應(yīng)用中的默認(rèn)存儲(chǔ)域。只要不用Options - Properties對(duì)話(huà)框把源文件或組分配到指定的存儲(chǔ)域,默認(rèn)存儲(chǔ)域?qū)⒂糜诖鎯?chǔ)應(yīng)用程序。
用于選擇存儲(chǔ)啟動(dòng)代碼的存儲(chǔ)域。這將意味著此存儲(chǔ)空間存儲(chǔ)了重啟(reset)和中斷向量表,鏈接器會(huì)在啟動(dòng)階段(在進(jìn)入主程序以前)把所有啟動(dòng)代碼分配到此存儲(chǔ)域內(nèi)。
NoInit 復(fù)選框用于對(duì)某存儲(chǔ)域禁止0初始化。需要注意的是在C源程序中仍然需要0(zero_init) 初始化。相關(guān)解釋見(jiàn)禁止零初始化 。

注意:
„ 默認(rèn)的read/only存儲(chǔ)域用于存儲(chǔ)程序的初始化數(shù)據(jù)及分配到RAM中的程序代碼和常量。   RealView微控制器開(kāi)發(fā)集的評(píng)估板不支持分散加載描述文件。  
„ 有關(guān)分散加載描述文件請(qǐng)參閱RV Linker and Utilities User's Guide, Using Scatter-loading


注意:
„ 當(dāng)RAM 被用作Code / Const 時(shí),__main 初始化會(huì)將程序代碼和常量拷貝到此RAM區(qū)并執(zhí)行。映像文件存儲(chǔ)在Project - Options for Target - Target對(duì)話(huà)框中指定的默認(rèn)存儲(chǔ)域內(nèi)。  
„ 這樣的設(shè)置用于為鏈接器產(chǎn)生分散加載文件。如果禁止Project - Options for Target - Linker,此設(shè)置會(huì)被忽略。  
„ 此特性在RealView微控制器開(kāi)發(fā)工具集的評(píng)估版下不可用。  

不同的ARM微控制器有不同的中斷優(yōu)先級(jí)和中斷系統(tǒng)。參考開(kāi)始使用ARM開(kāi)發(fā)工具集用戶(hù)指南, 中斷,可了解各種中斷相關(guān)概念。
RealView編譯器提供關(guān)鍵字__irq 以定義標(biāo)準(zhǔn)的(irq)和(fiq)中斷函數(shù)。

      感謝您選擇了Keil公司的微控制器軟件開(kāi)發(fā)工具。使用這個(gè)工具可以創(chuàng)建ARM、XC16x、C16x、ST10、251及8051等微控制器的
嵌入式應(yīng)用程序,詳細(xì)的設(shè)備信息請(qǐng)參考設(shè)備數(shù)據(jù)庫(kù)。
Keil公司將不斷地添加新的設(shè)備和片上外設(shè)的的仿真支持,因此,如果本地設(shè)備數(shù)據(jù)庫(kù)不包含用戶(hù)打算使用的設(shè)備,請(qǐng)檢查一下網(wǎng)絡(luò)設(shè)備數(shù)據(jù)庫(kù)。
這個(gè)用戶(hù)手冊(cè)提供了Keil ARM開(kāi)發(fā)工具的概述。包括如下的章節(jié):
„ 簡(jiǎn)介 給出來(lái)了開(kāi)發(fā)工具的概述、討論了文件結(jié)構(gòu)。  
„ 開(kāi)發(fā)工具 描述了包括µVision IDE/調(diào)試器的Keil ARM開(kāi)發(fā)工具的主要特性。解釋了如何選擇Keil CARM 編譯器、GNU或ADS/RealView工具鏈。  
„ 創(chuàng)建應(yīng)用程序 描述了如何創(chuàng)建工程、編輯源文件、編譯和修改語(yǔ)法錯(cuò)誤以及產(chǎn)生可執(zhí)行代碼。  
„ 測(cè)試程序 描述了如何使用µVision調(diào)試器仿真和測(cè)試完整的應(yīng)用程序。  
„ 例程 提供了幾個(gè)例子程序顯示如何使用Keil µVision/ARM及相關(guān)開(kāi)發(fā)工具。  
„ 使用片上外設(shè) 顯示了如何使用開(kāi)發(fā)工具訪問(wèn)片上外設(shè)。  
„ CPU設(shè)置 提供了CPU啟動(dòng)代碼和工具配置的詳細(xì)信息。  
„ JTAG調(diào)試討論了如何如何使用Keil ULINK USB-JTAG仿真器調(diào)試目標(biāo)系統(tǒng)。  
„ Flash編程 描述了如何通過(guò)JTAG接口設(shè)置Keil ULINK仿真器進(jìn)行Flash編程。  
„ RDI接口驅(qū)動(dòng) 解釋了RDI調(diào)試解決方案的使用。  

介紹
      使用Keil軟件開(kāi)發(fā)工具可以創(chuàng)建基于ARM, XC16x, C16x, ST10, 251以及8051等微控制器(詳細(xì)的微控制器列表請(qǐng)參考設(shè)備數(shù)據(jù)庫(kù))的嵌入式應(yīng)用程序。
      Keil公司將不斷地向設(shè)備數(shù)據(jù)庫(kù)中添加新設(shè)備以及片上外設(shè)的仿真支持,因此,如果在本地安裝的µVision設(shè)備數(shù)據(jù)庫(kù)中沒(méi)有合適的設(shè)備請(qǐng)參考一下基于網(wǎng)站的設(shè)備數(shù)據(jù)庫(kù)。
      這一章將介紹Keil 軟件的可用ARM開(kāi)發(fā)工具,簡(jiǎn)單的介紹一下軟件開(kāi)發(fā)周期以及ARM開(kāi)發(fā)工具鏈的 文件結(jié)構(gòu) 。

軟件開(kāi)發(fā)周期
    使用µVision 3作為嵌入式開(kāi)發(fā)工具,其開(kāi)發(fā)的流程與其他軟件開(kāi)發(fā)工具基本一樣,一般分為以下幾步:
1)     新建一個(gè)工程,從設(shè)備庫(kù)中選擇目標(biāo)芯片,配置工程編譯器環(huán)境;
2)     用C或匯編編寫(xiě)源文件;
3)     編譯目標(biāo)應(yīng)用程序;
4)     修改源程序中的錯(cuò)誤;
5)     測(cè)試鏈接應(yīng)用程序。
下圖描述了完整的µVision /ARM軟件開(kāi)發(fā)流程。本節(jié)后面將對(duì)其中的每一部分做簡(jiǎn)要描述。


      µVision IDE集成了工程管理、帶交互式錯(cuò)誤修正的編輯器、選項(xiàng)設(shè)置、編譯工具以及在線幫助。使用µVision可以創(chuàng)建源文件以及將這些源文件組織成定義目標(biāo)應(yīng)用程序的工程。用戶(hù)可將注意力全部集中在µVision集成開(kāi)發(fā)環(huán)境,因?yàn)樗峁┝饲度胧綉?yīng)用程序的自動(dòng)編譯、匯編以及鏈接。

C編譯器和宏匯編器
      在µVision IDE中創(chuàng)建源文件,這些源文件將使用C編譯器編譯或宏匯編器匯編。編譯器和匯編器處理源文件,產(chǎn)生可重載的目標(biāo)文件。
      在Keil µVision/ARM中可以使用GNU 或ARM ADS/RealView 的開(kāi)發(fā)工具。µVision/ARM包含了許多使用這些工具鏈的例程及詳細(xì)信息。

庫(kù)管理器
      庫(kù)管理器可以從編譯器或匯編器產(chǎn)生的目標(biāo)文件中創(chuàng)建目標(biāo)庫(kù)文件。庫(kù)是具有特定格式和順序的目標(biāo)模塊的集合,它在鏈接器中使用。當(dāng)鏈接器處理庫(kù)文件時(shí),只有那些在程序中使用到的庫(kù)文件目標(biāo)模塊才會(huì)被處理。

鏈接器/裝載器
      鏈接器/裝載器使用目標(biāo)模塊創(chuàng)建絕對(duì)的ELF/DWARF格式文件,這些目標(biāo)模塊來(lái)源于庫(kù)文件或編譯器和匯編器產(chǎn)生的目標(biāo)文件。絕對(duì)的目標(biāo)文件或模塊不包含可重載的代碼或數(shù)據(jù)。所有的代碼和數(shù)據(jù)都存儲(chǔ)在固定的內(nèi)存位置。絕對(duì)的ELF/DWARF文件可以在下述情況下使用:

„ 編程Flash ROM或其他存儲(chǔ)設(shè)備。  
„ 仿真和目標(biāo)調(diào)試的µVision調(diào)試器。  
„ 程序測(cè)試的片內(nèi)仿真器。  

µVision調(diào)試器
      µVision的源碼級(jí)調(diào)試器非常適合快速可靠的調(diào)試。這個(gè)調(diào)試器包括一個(gè)高速的軟件仿真器,它可以仿真一個(gè)包括片上外設(shè)和外部
硬件的完整ARM系統(tǒng)。當(dāng)用戶(hù)從設(shè)備數(shù)據(jù)庫(kù)中選擇所需芯片時(shí),它的屬性將自動(dòng)被配置。

µVision的調(diào)試器為目標(biāo)硬件上程序的測(cè)試提供了幾種方法:
„ 使用帶USB-JTAG接口的Keil ULINK2仿真器進(jìn)行應(yīng)用程序的Flash下載和軟件測(cè)試,它們是通過(guò)集成在ARM設(shè)備中的嵌入式ICE宏單元實(shí)現(xiàn)的。  
„ 使用高級(jí)的GDI 接口連接µVision調(diào)試器和目標(biāo)系統(tǒng)。  


完整的pdf格式文檔51黑下載地址(共1472頁(yè)):
keil教程.pdf (11.22 MB, 下載次數(shù): 427)



作者: 文鳳軒    時(shí)間: 2018-9-28 16:38
謝謝分享。好資料,51黑有你更精彩!!!
作者: lbq666    時(shí)間: 2019-5-8 11:34
好資料,謝謝分享。
作者: pkoko    時(shí)間: 2019-5-26 23:15

好資料,謝謝分享。
作者: 3637320230    時(shí)間: 2019-5-27 09:52
好資料,挺詳細(xì)的
作者: zhangmk1613    時(shí)間: 2019-6-28 13:34
謝謝。!
作者: zhangmk1613    時(shí)間: 2019-6-28 13:34
謝謝。!
作者: lux169    時(shí)間: 2019-10-31 11:35
好資料,下載了,謝謝!
作者: 15821852160    時(shí)間: 2019-10-31 13:18
好詳細(xì)的資料,感謝!
作者: 馨雨    時(shí)間: 2019-10-31 23:50
好資料,謝謝樓主分享               
作者: sgc123    時(shí)間: 2019-12-5 13:52
好資料,謝謝分享。
作者: 91mcu    時(shí)間: 2020-1-5 03:59

好資料,謝謝分享。
作者: 深淵    時(shí)間: 2020-1-6 11:05
謝謝分享

作者: 阿拉善    時(shí)間: 2020-5-7 13:26
感謝翻譯,感謝分享
作者: wulingqing    時(shí)間: 2020-5-7 16:05
好資料,謝謝樓主分享  
作者: tt98    時(shí)間: 2020-5-8 09:19
學(xué)習(xí)了,謝謝分享!
作者: haijenny    時(shí)間: 2020-5-30 16:57
下載看了,收藏起
作者: wuqi99    時(shí)間: 2020-6-8 15:50
好資料,謝謝分享!
作者: wusam    時(shí)間: 2021-4-1 21:55
謝謝!挺好的,以前好像我有。不過(guò)后來(lái)搞丟了。
作者: 老wang    時(shí)間: 2021-9-10 13:39
真不錯(cuò),找到這里正好的。很好的翻譯啊。。。。。。。。
作者: zyluglugl    時(shí)間: 2021-9-11 08:44
很難得的中文材料,謝謝樓主!
作者: nuomistudio    時(shí)間: 2021-12-7 07:48
如果針對(duì)stm32的就更好了
作者: henge-stone    時(shí)間: 2021-12-15 02:37
好資料,挺詳細(xì)的,謝謝樓主分享。
作者: guomei1345    時(shí)間: 2022-1-14 11:30
謝謝分享。好資料,51黑有你更精彩!!!
作者: men007    時(shí)間: 2025-5-10 15:55
謝謝分享。好資料,51黑有你更精彩!!!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1