女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AT32講堂008 | AT32 MCU如何用Eclipse插件調試sLib

雅特力 AT32 MCU ? 2022-06-15 10:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

本文檔僅介紹如何通過使用Eclipse、ARM-GCC編譯工具、GNU-ARM插件、J-Link或AT-Link等資源來配置及調試AT32F403A的sLib,并提供sLib方案商開發算法范例及終端用戶應用范例。關于AT32F403A的sLib詳細介紹及說明,請詳閱:《AN0040_AT32F403A_407_Security_Library_Application_Note》。環境說明:本文檔安裝說明基于WINDOWS 7 x64系統下實現,開發板使用AT-START-F403A。關于Eclips調試環境的安裝及Eclipse工程的建立,請參閱《AN0033_Eclipse_with_GCC》。本文檔所使用的軟件都打包到Setup_SLIB_with_Eclipse_and_GCC_V2.0.0.zip,直接解壓重新編譯后即可運行。解壓后Eclipse的workspace位于目錄:Setup_SLIB_with_Eclipse_and_GCC_V2.0.0\utilities\slib_with_eclipse_and_gcc_demo。其中包含文件:圖1. Eclipse工作目錄2b40a05e-e6f7-11ec-aa96-dac502259ad0.png.metadata:此workspace的環境設定project_l0:方案商開發算法范例project_l1:終端用戶應用范例

Project_L0方案商范例

_在此階段的范例程序,將完成下列幾個項目:

將低通濾波器函數編譯成可執行(executr-only)的代碼;

將低通濾波器函數的代碼編排放置到主閃存區地址0x08004000~0x08004FFF(sector8~9);

將低通濾波器函數的系數編排放置到主閃存區地址0x08005000~0x08005FFF(sector10~11);

驗證成功后,將sector8~9設置為指令安全庫區,將sector10~11設置為數據安全庫區,此部分可在范例的主程序中以調用slib_enable()函數來完成,或使用Artery ICP Programmer來完成(建議使用ICP工具完成設置);

產出終端用戶程序調用低通濾波函數時,需用到的頭文件及符號定義文件。

產生只執行(Exacute-only)代碼

設置方式如下:

1) 選擇C文件群組或個別的C文件,范例中是把要保護的相關C文件都放在FIR_Filter群組,點擊FIR_Filter群組內需要設置只執行的文件,按鼠標右鍵選擇“Properties”

圖2. 設置要保護的C文件

2b6bc19e-e6f7-11ec-aa96-dac502259ad0.png

2) 點選C/C++Build->Settings->GNU ARM Cross C Complier->Miscellaneous,在”Other compiler flags”填入-mpure-code以及-mslow-flash-data這兩個關鍵字,然后按Apply使設定生效

圖3. 設置Miscellaneous

2bb66e88-e6f7-11ec-aa96-dac502259ad0.png

編排安全庫區的地址

Project_L0范例的主閃存映像及RAM的使用分區如下圖,RAM的分區主要是為了避免sLib保護區的代碼與終端用戶的代碼用到相同的RAM而產生的沖突問題。圖4. 主閃存映像及RAM的使用分區2bdffa78-e6f7-11ec-aa96-dac502259ad0.png

其中濾波器函數的代碼編排放置到主閃存區的地址0x08004000~0x08004FFF(sector8~9),并將濾波器函數的系數編排放置到主閃存區的地址0x08005000~0x08005FFF(sector10~11)。RAM的部分則是將0x20000000到0x200000FF共256個字節保留給sLib保護區的代碼使用。

步驟如下:

1) 依據”AT32F403AxC_FLASH.ld”linker descriptor文件做修改,編寫一個ld文件,如project_l0\eclipse_gcc\ld目錄下的slib.ld。2) 在slib.ld當中,將主閃存及RAM分區劃分如下:2bf8a370-e6f7-11ec-aa96-dac502259ad0.png3)?將算法代碼放到.slib_inst section,低通濾波器的系數放到.slib_data section,并將算法使用到的全局變量指定到.slib_ram section,如下圖:圖5. 配置code、data、ram section2c215f40-e6f7-11ec-aa96-dac502259ad0.png4)?在Project->Properties->C/C++Build->Setting->GNU ARM Cross C Linker->General設定中的Script files,加入slib.ld。圖6. 設置Script files2c762d7c-e6f7-11ec-aa96-dac502259ad0.png5)?本范例會使用到gcc的數學運算函數庫libm.a,在Properties->GNU ARM Cross C Linker->Miscellaneous設定中的Other linker flags填入--specs=rdimon.specs,linker才不會出現錯誤訊息。圖7. 設置Other linker flags2caecdc6-e6f7-11ec-aa96-dac502259ad0.png關于ld文件的語法,可參考GNU linker的相關名文件。

產生頭文件及符號定義文件

頭文件(header file)跟符號定義文件(symbol definition file)是終端客戶應用范例Project_L1在調用FIR低通濾波函數時需要用到。在范例中,就是main.c中包含的fir_filter.h文件。符號定義文件則是定義低通濾波函數的實際地址。

產生符號定義文件的方法:

1)進入Project->Properties->C/C++Build->Setting的Build Steps設定畫面。圖8. 設置Build Steps2cdc3914-e6f7-11ec-aa96-dac502259ad0.png

在Post-build steps的命令行中輸入以下命令:

arm-none-eabi-objcopy.exe--keep-symbols="..\keep_sym.txt"-S--remove-section=.ARM.attributes--extract-symbol"${BuildArtifactFileBaseName}.elf""..\fir_filter_symbol.sym"2) 此處fir_filter_symbol.sym是要產出的符號定義文件,keep_sym.txt放在project_l0\eclipse_gcc目錄下,是用來選擇要產生哪些函數的符號,內容如下:2d0830e6-e6f7-11ec-aa96-dac502259ad0.png3)?重新編譯整個項目后,在project_l0\eclipse_gcc目錄下,就會產生一個名為fir_filter_symbol.sym的符號定義文件。

啟用安全庫區保護

要啟用安全庫區的保護功能,有以下兩種方式:1) 使用ICP刻錄工具Artery ICP Programmer(建議用此方式)。使用ICP Programmer啟用sLib的方法,請參閱《AT32F403A Security Library Application Note》。2) 使用范例程序main.c之中的slib_enable()函數。在低通濾波函數測試正確后執行過一次此函數,就可以啟用安全庫區的保護功能。要執行此函數,只要在main.c中使能#define USE_SLIB_FUNCTION即可。

Project_L1終端用戶范例

_

Project_L1范例會使用到在Project_L0中調試好,并已經被刻錄到AT32F403A芯片的主閃存中且被sLib保護的FIR低通濾波器函數。根據Project_L0提供的頭文件、符號定義文件以及主閃存區塊映像,終端用戶就可以參照Project_L1做到

建立一個應用項目;

引用Project_L0提供的頭文件及符號定義文件到項目里;

調用FIR低通濾波器函數;

開發并調試用戶自己的應用程序。

注:Project_L1必須使用跟Project_L0開發時一樣的工具鏈及相同版本的編譯程序,不然有可能會因為版本差異的兼容性問題,而無法使用Project_L0提供的代碼。

建立用戶的應用項目

因為Project_L0啟用的安全庫區已經占用了一些特定的主閃存頁面,Project_L1的代碼必須參照Project_L0提供的主閃存區塊映像來編排放置的地址。其中sector8~11為安全庫區所占用,終端用戶需使用ld文件將這個區域隔離起來,避免代碼在編譯時被編排到這個區域內,方式如下:

參照project_l1\eclipse_gcc\ld目錄下的end_user_code.ld文件,將主閃存空間切成兩個區塊FLASH_1及FLASH_2,中間空出來的區域就是sLib保護區。此外,RAM的區域也要保留0x20000000到0x200000FF的區域。如下圖:

圖9. end-user-code.ld配置2d2d96b0-e6f7-11ec-aa96-dac502259ad0.png

其中SLIB_CODE及SLIB_DATA兩個區域,方案商已事先刻錄代碼,所以設定為NOLOAD,在下載Project_L1代碼到主閃存時,就不會再次被下載。

在項目中加入符號定義文件

Project_L0所產生的符號定義文件fir_filter_symbol.sym必須被添加到Project_L1項目中,才能被正確的編譯并鏈結到sLib保護區的代碼。方法如下:

1) 將fir_filter_symbol.sym這個文件加到FIR_Filter群組;

2) 打開Project->Properties->C/C++Build->Settings->Tool Setting->GNU ARM Cross C Linker->Miscellaneous設定畫面,在Other objects選單中加入此文件,在編譯項目時就會可以被引用到。圖10. 設置Other objects

2d5ac7ca-e6f7-11ec-aa96-dac502259ad0.png

關于雅特力雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器(MCU)創新趨勢的芯片設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發與創新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內核,締造M4業界最高主頻288MHz運算效能,并支持工業級別芯片工作溫度范圍(-40°~105°)。雅特力目前已累積相當多元的終端產品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數字電源、電動工具等終端設備應用,廣泛地覆蓋5G、物聯網、消費、商務及工控等領域。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17979

    瀏覽量

    366737
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    AT32 IAP using the USART

    對于AT32 MCU,除了出廠固化的bootloader,用戶也可以在應用程序中編寫自己的bootloader程序,用于最終產品的固件更新。此功能稱為應用程序內編程(IAP)。 本應用筆記的目的
    發表于 07-11 10:51

    AT32的ERTC與RTC的區別

    AT32單片機系列中包含兩種實時時鐘(RTC)模塊:標準的RTC和增強型RTC(ERTC)。以下是兩者的區別: 功能豐富性 RTC :提供基本的計數功能,以秒為單位遞增,范圍從0x00000000到
    發表于 07-11 10:48

    調試工具:Eclipse調試工具欄與窗口的深入分析

    科技有限公司自研AS32 系列 MCU 芯片的調試應用為研究背景,通過詳細闡述 Eclipse 調試環境的搭建、工具欄各功能模塊的原理與應用,以及各類
    的頭像 發表于 07-07 11:32 ?144次閱讀
    <b class='flag-5'>調試</b>工具:<b class='flag-5'>Eclipse</b><b class='flag-5'>調試</b>工具欄與窗口的深入分析

    Modus工具箱調試錯誤怎么解決?

    : Listening on port 4444 for telnet connections Started by GNU MCU Eclipse Started by GNU MCU E
    發表于 07-01 06:53

    RISC-V JTAG:開啟MCU 芯片調試之旅

    在當今電子科技飛速發展的時代, MCU 芯片成為眾多企業追求技術突破與創新的關鍵領域。而芯片的調試過程則是確保其性能與可靠性的重要環節。本文以國科安芯自研 AS32A601為例,旨在詳細記錄
    的頭像 發表于 05-07 17:57 ?1669次閱讀
    RISC-V JTAG:開啟<b class='flag-5'>MCU</b> 芯片<b class='flag-5'>調試</b>之旅

    首日速遞 | 雅特力閃耀2025慕尼黑上海電子展,全方位展現智能“芯”實力

    4月15日,慕尼黑上海電子展(electronicaChina2025)在上海新國際博覽中心盛大啟幕。雅特力攜多款AT32系列MCU新品及完整應用方案矩陣,重磅亮相本屆展會,通過四大核心展區,全面
    的頭像 發表于 04-16 00:15 ?417次閱讀
    首日速遞 | 雅特力閃耀2025慕尼黑上海電子展,全方位展現智能“芯”實力

    SEGGER SystemView支持Eclipse ThreadX

    SEGGER的實時軟件分析工具SystemView v3.60c版本現已支持Eclipse ThreadX(Azure RTOS),用戶可以基于Systemview記錄ThreadX操作系統事件并執行分析。
    的頭像 發表于 04-09 10:43 ?461次閱讀
    SEGGER SystemView支持<b class='flag-5'>Eclipse</b> ThreadX

    雅特力AT32F402/F405入門使用指南

    搭建AT32開發環境一、調試工具及開發板目前AT32F402/AT32F405開發板都自帶AT-Link-EZ調試工具,AT-Link-EZ如下圖左邊紅框所示,它也可拆開后單獨搭配其他電路板使用,支持IDE在線
    的頭像 發表于 03-28 18:59 ?739次閱讀
    雅特力AT32F402/F405入門使用指南

    ST7789-ZJY320S008技術資料

    3.20LCD插接40pin-ST7789-ZJY320S008技術資料
    發表于 11-22 16:28 ?0次下載

    STM32轉AT32代碼轉換

    1.引言在嵌入式開發中,我們經常會遇到更換單片機芯片的事情,若芯片是同一廠家的還好說,若是不同廠家的則需要重新寫,重新調,重新去學習其底層驅動程序,比較費時費力。如:ST32轉AT32、ST32轉
    的頭像 發表于 09-28 08:09 ?767次閱讀
    STM32轉<b class='flag-5'>AT32</b>代碼轉換

    AT32講堂088 | 雅特力AT32F402/F405時鐘配置

    簡介時鐘是芯片正確高效運行的基礎,正確的時鐘配置是芯片能正確運行的必要條件,其重要性不言而喻。AT32各系列產品的時鐘配置部分可能存在細微的差異和需要注意的事項,本文檔就著重針對各系列的情況來詳細
    的頭像 發表于 09-15 08:08 ?1020次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>088 | 雅特力AT32F402/F405時鐘配置

    AT32講堂087 | 雅特力AT32 IDE快速入門指南

    新建項目新項目向導AT32ID提供支持雅特力MCU的C語言項目模板,方便用戶快速創建項目。菜單欄【File】>【New】>【CProject】。新建項目向導的對話框將出現。在對
    的頭像 發表于 09-15 08:08 ?1406次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>087 | 雅特力<b class='flag-5'>AT32</b> IDE快速入門指南

    C2000 MCU JTAG 連接調試

    電子發燒友網站提供《C2000 MCU JTAG 連接調試.pdf》資料免費下載
    發表于 09-09 09:30 ?0次下載
    C2000 <b class='flag-5'>MCU</b> JTAG 連接<b class='flag-5'>調試</b>

    雅特力AT32 MCU的隨機數生成

    概述產品和生態系統安全性的需求比以往任何時候都更加重要。真隨機數是所有安全系統的核心,其質量會影響設計的安全性。因此在沒有內置硬件TRNG的AT32的微控制器系列中,如何提高隨機數的有效,來符合
    的頭像 發表于 08-30 12:26 ?1291次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>的隨機數生成

    AT32講堂085 | 雅特力AT32 MCU HICK時鐘校準

    簡介AT32系列MCU內部都有提供適合運行的內部高速時鐘(HICK),其本質就是內置于芯片的RC振蕩器。在25℃下,其典型值頻率8MHz的精度由工廠校準到±1%,在-40到105℃,該內部高速時鐘
    的頭像 發表于 08-30 12:26 ?1253次閱讀
    <b class='flag-5'>AT32</b><b class='flag-5'>講堂</b>085 | 雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b> HICK時鐘校準