日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AT32講堂008 | AT32 MCU如何用Eclipse插件調(diào)試sLib

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

掃碼添加小助手

加入工程師交流群

概述

本文檔僅介紹如何通過使用Eclipse、ARM-GCC編譯工具、GNU-ARM插件、J-Link或AT-Link等資源來配置及調(diào)試AT32F403A的sLib,并提供sLib方案商開發(fā)算法范例及終端用戶應(yīng)用范例。關(guān)于AT32F403A的sLib詳細(xì)介紹及說明,請?jiān)旈啠骸禔N0040_AT32F403A_407_Security_Library_Application_Note》。環(huán)境說明:本文檔安裝說明基于WINDOWS 7 x64系統(tǒng)下實(shí)現(xiàn),開發(fā)板使用AT-START-F403A。關(guān)于Eclips調(diào)試環(huán)境的安裝及Eclipse工程的建立,請參閱《AN0033_Eclipse_with_GCC》。本文檔所使用的軟件都打包到Setup_SLIB_with_Eclipse_and_GCC_V2.0.0.zip,直接解壓重新編譯后即可運(yùn)行。解壓后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的環(huán)境設(shè)定project_l0:方案商開發(fā)算法范例project_l1:終端用戶應(yīng)用范例

Project_L0方案商范例

_在此階段的范例程序,將完成下列幾個(gè)項(xiàng)目:

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

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

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

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

產(chǎn)出終端用戶程序調(diào)用低通濾波函數(shù)時(shí),需用到的頭文件及符號定義文件。

產(chǎn)生只執(zhí)行(Exacute-only)代碼

設(shè)置方式如下:

1) 選擇C文件群組或個(gè)別的C文件,范例中是把要保護(hù)的相關(guān)C文件都放在FIR_Filter群組,點(diǎn)擊FIR_Filter群組內(nèi)需要設(shè)置只執(zhí)行的文件,按鼠標(biāo)右鍵選擇“Properties”

圖2. 設(shè)置要保護(hù)的C文件

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

2) 點(diǎn)選C/C++Build->Settings->GNU ARM Cross C Complier->Miscellaneous,在”O(jiān)ther compiler flags”填入-mpure-code以及-mslow-flash-data這兩個(gè)關(guān)鍵字,然后按Apply使設(shè)定生效

圖3. 設(shè)置Miscellaneous

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

編排安全庫區(qū)的地址

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

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

步驟如下:

1) 依據(jù)”AT32F403AxC_FLASH.ld”linker descriptor文件做修改,編寫一個(gè)ld文件,如project_l0\eclipse_gcc\ld目錄下的slib.ld。2) 在slib.ld當(dāng)中,將主閃存及RAM分區(qū)劃分如下:2bf8a370-e6f7-11ec-aa96-dac502259ad0.png3)?將算法代碼放到.slib_inst section,低通濾波器的系數(shù)放到.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設(shè)定中的Script files,加入slib.ld。圖6. 設(shè)置Script files2c762d7c-e6f7-11ec-aa96-dac502259ad0.png5)?本范例會使用到gcc的數(shù)學(xué)運(yùn)算函數(shù)庫libm.a,在Properties->GNU ARM Cross C Linker->Miscellaneous設(shè)定中的Other linker flags填入--specs=rdimon.specs,linker才不會出現(xiàn)錯(cuò)誤訊息。圖7. 設(shè)置Other linker flags2caecdc6-e6f7-11ec-aa96-dac502259ad0.png關(guān)于ld文件的語法,可參考GNU linker的相關(guān)名文件。

產(chǎn)生頭文件及符號定義文件

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

產(chǎn)生符號定義文件的方法:

1)進(jìn)入Project->Properties->C/C++Build->Setting的Build Steps設(shè)定畫面。圖8. 設(shè)置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是要產(chǎn)出的符號定義文件,keep_sym.txt放在project_l0\eclipse_gcc目錄下,是用來選擇要產(chǎn)生哪些函數(shù)的符號,內(nèi)容如下:2d0830e6-e6f7-11ec-aa96-dac502259ad0.png3)?重新編譯整個(gè)項(xiàng)目后,在project_l0\eclipse_gcc目錄下,就會產(chǎn)生一個(gè)名為fir_filter_symbol.sym的符號定義文件。

啟用安全庫區(qū)保護(hù)

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

Project_L1終端用戶范例

_

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

建立一個(gè)應(yīng)用項(xiàng)目;

引用Project_L0提供的頭文件及符號定義文件到項(xiàng)目里;

調(diào)用FIR低通濾波器函數(shù);

開發(fā)并調(diào)試用戶自己的應(yīng)用程序。

注:Project_L1必須使用跟Project_L0開發(fā)時(shí)一樣的工具鏈及相同版本的編譯程序,不然有可能會因?yàn)榘姹静町惖募嫒菪詥栴},而無法使用Project_L0提供的代碼。

建立用戶的應(yīng)用項(xiàng)目

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

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

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

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

在項(xiàng)目中加入符號定義文件

Project_L0所產(chǎn)生的符號定義文件fir_filter_symbol.sym必須被添加到Project_L1項(xiàng)目中,才能被正確的編譯并鏈結(jié)到sLib保護(hù)區(qū)的代碼。方法如下:

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    19160

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何在 S32DS 3.6 中安裝 IAR Eclipse 插件并創(chuàng)建 IAR 項(xiàng)目?

    如何在 S32DS 3.6 中安裝 IAR Eclipse 插件并創(chuàng)建 IAR 項(xiàng)目? There is an article here that explains how to operate
    發(fā)表于 04-23 07:44

    AT32 Work Bench介紹和使用指南

    本帖最后由 jf_77210199 于 2026-4-21 20:01 編輯 本帖介紹 AT32 Work Bench 使用。AT32 Work Bench 通過對 MCU 的圖形化配置,生成
    發(fā)表于 04-14 18:07

    CW32系列MCUEclipse GCC + JLink下的使用示例分享

    CW32系列MCUEclipse GCC + JLink下的使用示例: 1、下載安裝Eclipse IDE for Embedded C/C++ Developers。 2、下載安裝
    發(fā)表于 02-02 06:57

    AT32硬件除法器應(yīng)用指南

    AT32硬件除法器應(yīng)用指南 AT32F011 提供了 32 位硬件除法器,并且可以執(zhí)行無符號及有符號運(yùn)算,本應(yīng)用指南將介紹基礎(chǔ)概念及實(shí)際案例。 支持型號: AT32F011 系列 1. AT32
    發(fā)表于 01-30 13:49

    如何使用AT32 EdgeAI Sensor EV Board

    AT32 EdgeAI Sensor EV Board隨著邊緣人工智能(EdgeAI)的興起,為了便于用戶在AT32系列芯片上進(jìn)行 EdgeAI開發(fā),Artery 提供了一塊包含多種 EdgeAI
    發(fā)表于 01-30 13:44

    AT32開源鴻蒙開發(fā)環(huán)境搭建

    本帖最后由 jf_77210199 于 2026-1-19 09:49 編輯 AT32開源鴻蒙開發(fā)環(huán)境搭建 主要介紹兩部分內(nèi)容: 1、如何快速搭建起開源鴻蒙的開發(fā)環(huán)境。 2、如何獲取
    發(fā)表于 01-16 13:56

    從實(shí)驗(yàn)室到藍(lán)天:雅特力AT32 MCU如何成為無人機(jī)飛控的“中國芯”?

    最近幫客戶調(diào)試一款工業(yè)級無人機(jī)飛控時(shí),對方研發(fā)總監(jiān)甩來一句靈魂拷問:“你們國產(chǎn)MCU能做到288MHz主頻下,同時(shí)跑通FOC電機(jī)控制+多傳感器融合算法嗎?” 當(dāng)時(shí)我直接把AT32F435的測試數(shù)據(jù)甩
    的頭像 發(fā)表于 01-08 14:38 ?600次閱讀

    國產(chǎn)MCU替代優(yōu)選!雅特力AT32系列憑高性能+高兼容,橫掃工控/消費(fèi)/AIoT多場景

    在國產(chǎn)化替代加速背景下,雅特力AT32系列MCU成工程師優(yōu)選。該系列基于ARM Cortex-M4/M0+內(nèi)核,具備高主頻、豐富外設(shè)及工業(yè)級可靠性,關(guān)鍵性能對標(biāo)國際一線品牌。核心優(yōu)勢在于與STM32
    的頭像 發(fā)表于 01-07 17:15 ?2052次閱讀

    經(jīng)驗(yàn)分享 | eclipse搭建先楫開發(fā)環(huán)境

    最近有小伙伴留言,想在eclipse平臺下開發(fā)先楫的MCU,但是苦于沒有工程模板,自己折騰了半天又遇到一堆報(bào)錯(cuò),很費(fèi)時(shí)間?;诖诵枨?,筆者基于HPM6E00EVK一步一步搭建在eclipse下的開發(fā)環(huán)境,可以順利實(shí)現(xiàn)仿真和
    的頭像 發(fā)表于 12-19 08:32 ?1170次閱讀
    經(jīng)驗(yàn)分享 | <b class='flag-5'>eclipse</b>搭建先楫開發(fā)環(huán)境

    雅特力AT32 MCU推動低空經(jīng)濟(jì)發(fā)展

    雅特力AT32系列MCU憑借288MHz主頻與高精度外設(shè),為無人機(jī)飛控、電調(diào)及云臺提供核心算力支持,實(shí)現(xiàn)厘米級定位與高效動力控制,顯著提升在電力巡檢、農(nóng)林植保等低空經(jīng)濟(jì)場景下的作業(yè)精度與可靠性,助力產(chǎn)業(yè)智能化升級。
    的頭像 發(fā)表于 12-04 09:53 ?1930次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>推動低空經(jīng)濟(jì)發(fā)展

    AT32 MCU如何使用IAP

    AT32 MCU使用IAP的方法涉及在微控制器上創(chuàng)建特定固件,以實(shí)現(xiàn)在應(yīng)用編程(In-Application Programming,簡稱IAP)功能,主要通過USART通信接口進(jìn)行固件更新操作
    發(fā)表于 08-08 17:13

    AT32 IAP using the USART

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

    AT32的ERTC與RTC的區(qū)別

    AT32單片機(jī)系列中包含兩種實(shí)時(shí)時(shí)鐘(RTC)模塊:標(biāo)準(zhǔn)的RTC和增強(qiáng)型RTC(ERTC)。以下是兩者的區(qū)別: 功能豐富性 RTC :提供基本的計(jì)數(shù)功能,以秒為單位遞增,范圍從0x00000000到
    發(fā)表于 07-11 10:48

    調(diào)試工具:Eclipse調(diào)試工具欄與窗口的深入分析

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

    Modus工具箱調(diào)試錯(cuò)誤怎么解決?

    : Listening on port 4444 for telnet connections Started by GNU MCU Eclipse Started by GNU MCU E
    發(fā)表于 07-01 06:53
    临江市| 洪洞县| 葵青区| 张掖市| 高邮市| 海宁市| 敦煌市| 浦城县| 汝南县| 云龙县| 达日县| 梧州市| 南川市| 三亚市| 盐池县| 昌邑市| 前郭尔| 六盘水市| 龙泉市| 金溪县| 高阳县| 西畴县| 柳江县| 榆树市| 梅河口市| 丹巴县| 奎屯市| 诸暨市| 德清县| 龙里县| 江陵县| 通许县| 青岛市| 石台县| 寻甸| 加查县| 徐闻县| 屏边| 邳州市| 江阴市| 滕州市|