娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

用一套IDE管理、開發和保護您的主要Arm工程資產

發布者:EE小廣播最新更新時間:2025-04-29 來源: EEWORLD關鍵字:Arm 手機看文章 掃描二維碼
隨時隨地手機看文章

隨著嵌入式系統開發的復雜度不斷提升,開發人員參與的項目隨時可以超越Cortex-M系列,這對集成開發環境(IDE)也提出了更高的要求,最好能夠用一套IDE來管理、開發和保護日益多樣化的工程項目。Keil MDK和IAR EWARM是市面上最常見的兩款用于Arm Cortex-M MCU開發的集成開發環境。目前Keil MDK主要支持Arm Cortex-M,對于Arm Cortex-A和Cortex-R的開發,則需要借助Arm Development Studio的支持


而IAR EWARM作為一款功能強大的IDE,不僅支持Arm Cortex-M系列MCU,還擴展了對Cortex-A和Cortex-R處理器的支持。對于需要統一開發環境或涉及多核架構(如Cortex-A/R)的項目,越來越多的用戶選擇使用一套IDE——IAR EWARM。這樣比同時使用兩套工具要方便得多,同時它能減少開發過程中的環境切換成本,避免因工具差異導致的兼容性問題,提高開發效率。同時,統一的開發環境更便于管理工程資產,降低學習成本,讓開發者專注于項目開發本身。


要實現這種統一的IDE首先要做的準備工作是請確保已經安裝了IAR EWARM集成開發環境。同時,也需要獲取對應Arm Cortex-M MCU的IAR EWARM支持包:如果對應MCU已經在IAR EWARM的官方支持列表內,則對應MCU的支持包也會在IAR EWARM的安裝包內;如果不在支持列表中,則需要聯系對應MCU廠家提供IAR EWARM支持包(絕大多數廠家都會同時提供Keil MDK和IAR EWARM的支持包)。


IAR EWARM的工程開發流程


下面介紹將Keil MDK工程遷移到IAR EWARM的具體步驟:安裝IAR EWARM:安裝時參考對應的安裝說明進行操作即可。轉換工程:利用IAR Project Converter工具將Keil MDK工程轉換成IAR EWARM工程。


打開IAR EWARM,Help > Migration > Keil μVision Migration Guide打開對應的說明文檔:

 image.png

 

Tools > Project Converter打開IAR Project Converter,對應的Project type選擇Keil μVision5 for Arm,本文以STM32F405的GPIO示例工程為例,點擊Execute:

 image.png

編譯調試:在IAR EWARM中編譯調試轉換的工程

File > Open Workspace…打開轉換的工程:

 image.png

右擊工程選擇Options(或者Project > Options)打開工程選項配置:

 image.png

在General Options > Target > 32-bit選擇對應的FPU配置(以STM32F405RG包含的VFPv4 single precision為例):

 image.png

在General Options > Linker > Output > Out filename中將對應的輸出文件名字改為$PROJ_FNAME$($PROJ_FNAME$代表工程名):

 image.png

此時如果編譯(右擊工程選擇Make或者Project > Make):

 image.png

正常情況下匯編啟動文件會報錯:

 image.png

因為Keil MDK和IAR EWARM的匯編啟動代碼格式不一樣,需要將Keil MDK中的匯編啟動代碼換成IAR EWARM的匯編啟動代碼(絕大多數MCU廠家會同時提供Keil MDK和IAR EWARM的匯編啟動代碼)。如果沒有現成的IAR EWARM匯編啟動代碼,可以參考IAR EWARM中相同Cortex-M MCU的匯編啟動代碼,然后將Keil MDK匯編啟動代碼中對應的中斷處理函數適配到IAR EWARM當中。


修改匯編啟動代碼之后,重新編譯(右擊工程選擇Rebuild All或者Project > Rebuild All):

 image.png

正常情況下工程編譯成功(Build窗口顯示Total number of errors: 0, Build succeeded說明編譯成功):

 image.png

編譯成功之后就可以進行下載調試了,右擊工程選擇Options(或者Project > Options)打開工程選項配置,Debugger > Setup > Driver選擇對應的硬件仿真器(以I-jet為例):

 image.png

點擊Download and Debug按鈕或者Project > Download and Debug開始下載調試:

          image.png    

至此將Keil MDK工程成功遷移到IAR EWARM并進行編譯、下載調試。


注意事項


上文介紹了如何開始IAR EWARM并進行編譯、下載調試,并建立可以支持主要Arm工程資產的IDE。實際項目要復雜得多,在過程可能會遇到其他一些問題,下面列舉了一些注意事項:


printf函數重定向


Keil MDK里面printf函數通過fputc函數進行重定向,而新版本的IAR EWARM里面printf函數通過__write函數進行重定向。


匯編代碼


Keil MDK和IAR EWARM的匯編代碼格式不一樣,雖然目前Cortex-M MCU的大部分代碼是C/C++,但是如果代碼中使用了相關的匯編代碼,在遷移過程中需要進行轉換(前面提到的啟動代碼就是一個示例)。更多關于Keil MDK和IAR EWARM的匯編代碼格式,需要參考對應工具的匯編代碼使用文檔。


intrinsic函數


intrinsic函數是編譯器提供的內部函數,通常來說不同編譯器提供的intrinsic函數名字不一樣。Arm Cortex-M MCU開發大部分會采用滿足CMSIS標準的函數,如果使用了編譯器的intrinsic函數,在遷移過程中需要適配(比如Keil MDK對應NOP指令的intrinsic函數是__nop,而IAR EWARM對應NOP指令的intrinsic函數是__no_operation)。更多關于intrinsic函數的信息,需要參考對應編譯器的使用文檔。


#pragma命令


#pragma命令用于控制編譯器的特定行為,通常來說不同的編譯器支持的#pragma命令不同,如果代碼里面使用了#pragma命令,在遷移過程中需要適配。更多關于#pragma命令的信息,需要參考對應編譯器的使用文檔。


鏈接腳本文件


Keil MDK里面的鏈接腳本文件采用的是分散加載文件(scatter-loading file, .sct)。IAR EWARM的鏈接腳本文件采用的是鏈接器配置文件(ilinker configuration file, .icf)。絕大多數MCU廠家會同時提供Keil MDK和IAR EWARM的鏈接腳本文件。但是如果有一些定制化的需求,那么需要用戶修改對應的鏈接腳本文件。更多關于鏈接腳本文件的信息,需要參考對應編譯器的使用文檔。


工程目錄


目前Keil MDK只支持一級目錄,之前轉換過來的IAR過程顯示如下:

 image.png

IAR EWARM支持多級目錄,可以將上面的一級目錄工程轉換成下面多級目錄工程:

 image.png

總結


本文詳細介紹了利用IAR EWARM對Arm產品的多元化支持,通過IAR EWARM,幫助用戶快速把工程資產遷移到可支持Cortex-M、Cortex-A和Cortex-R的IAR平臺上,借助IAR Project Converter工具可以很方便地將Keil MDK工程轉換成IAR EWARM工程,同時列舉了一些注意事項。盡管過程中可能需手動調整部分配置,但IAR的多核支持與靈活性能為后續開發帶來顯著便利。


關鍵字:Arm 引用地址:用一套IDE管理、開發和保護您的主要Arm工程資產

上一篇:OpenCV行人檢測--米爾基于全志T527核心板開發板
下一篇:最后一頁

推薦閱讀最新更新時間:2025-04-29 15:13

[國嵌筆記][024][ARM匯編編程概述]
匯編程序用途 1.在bootloader與內核初始化時,還沒有建立C語言運行環境,需要用到匯編程序 2.在對訪問效率要求很高的情況下,需要用到匯編程序 ARM匯編分類 1.ARM標準匯編:適合于Windows在平臺下使用 2.GUN匯編:適合于Linux在平臺下使用 匯編程序框架 完整版: 1 2 3 4 5 6 7 8 .section .data 數據段 初始化數據 .section bss bss段 未初始化數據 .section .text 代碼段 .global _start 通過global申明給全局標號,方便被外部引用 _start: 程序入口 匯編代碼 簡化版:
[單片機]
Arm Ethos-U85 NPU:利用小語言模型在邊緣側實現生成式 AI
隨著人工智能 (AI) 的演進,利用小語言模型 (SLM) 在嵌入式設備上執行 AI 工作負載成為業界關注的焦點。 Llama、Gemma 和 Phi3 等小語言模型,憑借其出色的成本效益、高效率以及在算力受限設備上的易部署性,贏得了廣泛認可 。Arm 預計這類模型的數量將在 2025 年繼續增長。 Arm 技術以其高性能與低功耗的顯著優勢,為小語言模型提供了理想的運行環境,能夠有效提升運行效率,并進一步優化用戶體驗。為了直觀展示端點 AI 在物聯網和邊緣計算領域的巨大潛力,Arm技術團隊近期打造了一場技術演示。在演示中,當用戶輸入一個句子后,系統將基于該句擴展生成一個兒童故事。這項演示受到了微軟 “Tiny Stories”
[嵌入式]
CES 2025 前瞻:基于 Arm 架構的技術將引領新一年創新
在 CES 2025 上,基于 Arm 架構的技術將備受矚目,為新一年的創新奠定基礎 一年一度的國際消費類電子產品展覽會 (CES) 即將拉開帷幕,匯集全球不同規模的科技企業,競相呈現最新、最前沿的技術成果與創新亮點。 在 CES 2024 上,人工智能 (AI) 成為全場焦點,參展企業紛紛展示了最新的 AI 技術解決方案,其中許多都是由 Arm 在汽車、消費電子和物聯網領域的合作伙伴所打造。 鑒于 AI 的持續快速擴張和發展,Arm 預計 AI 仍將成為今年 CES 的關注焦點。在此次展會上,Arm 首席營銷官 Ami Badani 將與來自行業領先企業 Meta 和 NVIDIA 的專家進行交流,共同探討如何賦能可持
[嵌入式]
CES 2025 前瞻:基于 <font color='red'>Arm</font> 架構的技術將引領新一年創新
ARM匯編指令-STMFD/LDMFD
  根據調用規則ATPCS,程序一般都使用FD(FullDescending)類型的數據棧(滿棧),那么對立的就由空棧類型的數據棧。空棧是指SP操作完后指向的地址空間是未使用的,反之滿棧就是SP指向的地址已經使用了。所以對應到壓棧出站時的操作就有一點點不一樣。如果是滿棧模型則會先執行棧指針的操作后在向棧指針指向的位置寫入,反之就是先寫入在移動棧指針。這里先要明確數據傳輸語法的基本語法格式。 數據傳輸指令語法格式: CMD{cond} Rn{!}, reglist{^} CMD 為命令有LDM*/STM* cond 為條件碼(可選) Rn 為基址寄存器 {!} 可選后綴,選用后綴后表示請求回寫,即
[單片機]
AI 驅動,Arm 加速實現軟件定義汽車的未來
我們正在迎來一個全新的汽車時代,即軟件定義汽車 (SDV) 的時代。 根據分析機構 Counterpoint Research 的預測,到 2026 年底,中國的道路上預計將有超過 100 萬輛搭載 L3 級別 ADAS(高級駕駛輔助系統)的汽車 。可以預見,隨著對高性能計算和更多軟件需求的增長,汽車中所需的算力也在迅速增加。鑒于未來 AI 所賦能的軟件定義汽車將包含高達十億行代碼,加上顯著提高的網聯特性,安全挑戰也隨之變得愈發嚴峻。為了避免安全漏洞造成嚴重影響,汽車行業已經開始采取行動,在整個 SDV 中構建深度安全防御措施。 與家庭環境不同,車輛具有獨特的“混合關鍵性”需求,既需要保障安全性和實時功能,又要同時支持更個性化
[汽車電子]
ARM Linux字符設備驅動程序
1、主設備號和次設備號(二者一起為設備號): 一個字符設備或塊設備都有一個主設備號和一個次設備號。主設備號用來標識與設備文件相連的驅動程序,用來反 映設備類型。次設備號被驅動程序用來辨別操作的是哪個設備,用來區分同類型的設備。 linux內核中,設備號用dev_t來描述,2.6.28中定義如下: typedef u_long dev_t; 在32位機中是4個字節,高12位表示主設備號,低12位表示次設備號。 可以使用下列宏從dev_t中獲得主次設備號:                    也可以使用下列宏通過主次設備號生成dev_t: MAJOR(dev_t dev); MKDEV(int major,int
[單片機]
<font color='red'>ARM</font> Linux字符設備驅動程序
樹莓派公司確認計劃于六月進行 IPO,Arm 將追加投資 3500 萬美元
5 月 23 日消息,樹莓派有限公司于當地時間昨日向倫敦證券交易所遞交文件,確認了在該交易所進行 IPO 的意向。這家公司計劃于今年 6 月正式上市。 樹莓派有限公司計劃通過發行新股籌集 4000 萬美元(IT之家備注:當前約 2.9 億元人民幣),同時包括其最大股東樹莓派基金會在內的現有股東也將出售持有的部分股份。 Arm 公司曾于 2023 年對樹莓派有限公司進行小規模戰略投資,以進一步深化雙方合作關系。 本次 IPO 中 Arm 將進一步擴大所持有的樹莓派有限公司股份占比,購入 3500 萬美元(當前約 2.54 億元人民幣)股票。 除 Arm 外,機構投資者 Lansdowne 也與樹莓派有限公司簽訂了基石投資協議,同
[嵌入式]
樹莓派公司確認計劃于六月進行 IPO,<font color='red'>Arm</font> 將追加投資 3500 萬美元
外媒稱Arm將設立AI芯片部門 力爭2025年打造出原型產品
5月13日消息,據外媒報道,人工智能尤其是生成式人工智能的蓬勃發展,給芯片領域帶來了新的發展機遇,較早開始人工智能領域布局的英偉達,憑借H100、A100等性能出色的產品,占據了大部分的市場份額,從去年開始就已賺的盆滿缽滿。 除了英偉達、AMD等已獲得收益的廠商,也還有不少廠商致力于為人工智能研發芯片,軟銀旗下的芯片架構提供商Arm,就是其中之一。 從外媒最新的報道來看,Arm將設立一個人工智能芯片部門,目標是在2025年春季打造出一款原型產品。 同當前英偉達、AMD等廠商一樣,Arm人工智能芯片部門所研發的芯片,也將交由代工商生產,大規模的量產將交由臺積電等芯片代工商,預計在明年晚些時候開始大規模量產。 外媒在報道中還提到,Ar
[半導體設計/制造]
小廣播
最新嵌入式文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 西城区| 嫩江县| 新乐市| 巫山县| 家居| 涞水县| 资兴市| 高碑店市| 中方县| 左云县| 云梦县| 拉孜县| 东明县| 定结县| 嵩明县| 永济市| 临朐县| 凌云县| 环江| 永寿县| 黄骅市| 惠安县| 讷河市| 柏乡县| 庐江县| 无为县| 丹东市| 海门市| 马鞍山市| 灵宝市| 金堂县| 方城县| 安庆市| 茌平县| 枣阳市| 会理县| 祥云县| 仁布县| 郧西县| 阳泉市| 绥阳县|