在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

如何搭建工程讓MCU運行起來

科技綠洲 ? 來源:立功科技 ? 作者:立功科技 ? 2022-05-01 09:04 ? 次閱讀

上期講述了AMetal平臺驅(qū)動框架中的配置文件和例程文件的使用,方便用戶快速調(diào)用MCU相應(yīng)的外設(shè)資源。基于前期對AMetal驅(qū)動架構(gòu)各層文件的詳細說明,本次向大家介紹如何搭建工程讓MCU運行起來。

要讓新的芯片在AMetal平臺上運行起來必然需要為它建立一個新的工程,AMetal提供了搭建基礎(chǔ)工程的模板工程(具體路徑位于{SDK}\board\xxx_core),能夠幫助開發(fā)者快速完成工程搭建。

poYBAGJZGQOAe7ToAACRhjic664793.png

圖1

基礎(chǔ)工程搭建

搭建基礎(chǔ)工程

根據(jù)AMetal提供的模板工程,來創(chuàng)建芯片的基礎(chǔ)工程文件夾;并將芯片文件夾的project_template文件夾下所有xxx的字樣更改為適配芯片型號,即可搭建完基礎(chǔ)工程的基本樣式。以ZLG116為例,如下所示為其工程文件。

poYBAGJZGRCAB0ayAAAxsN4jZ28759.png

圖2 ZLG116的工程文件

添加芯片基礎(chǔ)文件

上一步驟中創(chuàng)建的基礎(chǔ)工程文件夾中僅包含MCU的工程文件、配置文件和啟動文件;因此我們需要添加MCU相關(guān)的描述性文件,通常被定義在soc文件夾內(nèi)。大家可以根據(jù)AMetal提供的示例(具體路徑為{SDK}\soc\xxx_soc)來創(chuàng)建芯片文件夾,并將該文件夾放置在對應(yīng)芯片廠商的文件夾內(nèi)。同時將該文件下所包含的xxx的字樣更改為適配芯片型號。如下圖所示為芯片基礎(chǔ)文件夾內(nèi)所包含文件的相關(guān)信息

pYYBAGJZGRqAU7geAAENAXkR-ko953.png

圖3 芯片基礎(chǔ)文件簡介

在編寫驅(qū)動程序前,我們應(yīng)完成芯片基礎(chǔ)文件夾中各文件內(nèi)容的編寫。下面對上述芯片基礎(chǔ)文件的內(nèi)容做一個簡單介紹:

am_xxx.h:對當前文件夾內(nèi)的.h文件進行包含。根據(jù)所適配芯片的內(nèi)核進行修改(可參考其它同內(nèi)核芯片該文件相關(guān)配置),模板例程默認使用的是Arm? Cortex?-M0的內(nèi)核。

soc_cfg.h:主要完成的是對DMA通道數(shù)目、Flash大小、扇區(qū)大小的宏定義,用戶需根據(jù)芯片手冊填寫。

xxx_clk.h:該文件包含各總線和外設(shè)的時鐘ID宏定義,其值直接決定了clk外設(shè)驅(qū)動程序的編寫。

xxx_dma_chan.h:該文件包含各外設(shè)可用DMA通道的情況,該定義直接決定DMA外設(shè)驅(qū)動的編寫。

xxx_inum.h:文件涉及到CPU中斷號的宏定義;并定義枚舉類型IRQn_Type提供給內(nèi)核文件使用。根據(jù)所適配芯片內(nèi)核,需要對中斷向量表進行修改(可參考芯片啟動文件)。

xxx_periph_map.h:外設(shè)映射定義,其主要目的是對各外設(shè)的基地址按照定義的對應(yīng)外設(shè)結(jié)構(gòu)體解析從而獲取各外設(shè)寄存器塊指針。

xxx_pin.h:包含該芯片各引腳的復(fù)用功能配置宏、模式配置宏、引腳速度配置宏,其應(yīng)該在編寫GPIO驅(qū)動時一同編寫。

xxx_regbase.h:涉及到該芯片各外設(shè)的內(nèi)存基地址定義。

修改工程配置文件

在完成上述操作后就可以對工程配置文件進行修改了,僅需要按照如下操作即可:

1. 在剛創(chuàng)建的芯片基礎(chǔ)工程文件夾內(nèi),修改user_config文件夾下所有xxx的字樣更改為適配芯片型號。如下所示為user_config文件夾:

poYBAGJZGSaAQ3eXAADSVziAFSw823.png

圖4 user_config文件夾

2. 打開user_config文件夾中的am_board.c文件,根據(jù)適配芯片的SRAM大小,進行修改代碼。如下所示為芯片SRAM描述宏:

pYYBAGJZGTOAHIQlAACCdvPxEeA319.png

圖5 SRAM描述宏

至此,我們完成了芯片基礎(chǔ)工程的搭建;接下來,需要準備下一步的操作來實現(xiàn)MCU在AMetal平臺上運行起來。

讓MCU跑起來

由于各外設(shè)驅(qū)動還沒有編寫,MCU啟動后默認會使用內(nèi)部中速時鐘運行,因此我們可以通過debug程序來觀察它是否能夠進入while(1),如果可以代表MCU運行成功。這里主要涉及到的相關(guān)操作為keil工程配置修改以及芯片啟動文件的創(chuàng)建。

Keil工程配置的修改

修改keil工程的配置主要包括適配的芯片型號的選擇、內(nèi)核宏的設(shè)置、添加包含芯片基礎(chǔ)文件的路徑,燒錄工具及其工程輸出文件名等配置。以ZLG116為例,如下圖所示為keil芯片型號的選擇。

pYYBAGJZGUCALD7nAAE2cSVA2fg808.png

圖6 keil芯片型號選擇

以ZLG116為例,如下圖所示為修改芯片內(nèi)核宏及其添加芯片基礎(chǔ)文件夾的路徑。

poYBAGJZGUyAfrPxAAFTxQuvzAE870.png

圖7 配置keil工程

至此keil工程修改完成,編譯鏈接工程,無錯誤即可。

創(chuàng)建啟動文件

工程的啟動文件一般存儲于路徑{SDK}\board\{芯片簡稱}\{工程名}\startup目錄下。啟動文件可以通過將原廠啟動文件進行修改獲得,因此可以先將原廠的啟動文件存入其中。

相較于原廠的啟動文件,我們主要修改啟動文件的以下三個部分:

外部中斷函數(shù)連接:AMetal平臺需要將所有外部中斷都連接到同一個中斷函數(shù);如下所示為ZLG116外部中斷映射:

pYYBAGJZGVeAWIOxAAKHO6woOrA109.png

圖8 ZLG116外部中斷映射

Reset_Handler的修改:根據(jù)原廠的Reset_Handler修改即可,AMetal平臺復(fù)位后直接執(zhí)行main函數(shù)。如下所示為Reset_Handler程序:

poYBAGJZGXqAHSesAABC5oFJVbY334.png

圖9 Reset_Handler程序

Defult_Handler的修改:

pYYBAGJZGYKAXzMOAABDPaglZt4045.png

圖10 Defult_Handler程序

至此,啟動文件修改完成。接下來編譯工程并調(diào)試程序,全速運行后若能夠進入主函數(shù)中的while(1),則代表MCU運行成功。

以上就是基于AMetal如何讓MCU跑起來的全部內(nèi)容,相信大家已經(jīng)熟悉了AMetal平臺上適配新型號MCU這一操作。

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

    關(guān)注

    146

    文章

    17318

    瀏覽量

    352649
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4204

    瀏覽量

    219098
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4346

    瀏覽量

    62972
  • ametal
    +關(guān)注

    關(guān)注

    2

    文章

    24

    瀏覽量

    11421
收藏 人收藏

    評論

    相關(guān)推薦

    靈動微課堂 (第122講) | 基于MM32 MCU的OS移植與應(yīng)用:AMetal平臺新建工程

    再重新發(fā)明輪子。我們今天將和大家一起實戰(zhàn)操作基于立功科技的AMetal平臺的MM32 MCU的新建工程。立功科技基于AMetal平臺為靈動微電子MM32 MCU適配了底層驅(qū)動及標準接口,用戶使用時
    發(fā)表于 05-22 17:04

    怎樣搭建環(huán)境與CCS6創(chuàng)建工程模板

    DSP 基礎(chǔ)學習 1:搭建環(huán)境與CCS6創(chuàng)建工程模板1 DSP簡介1.1 DSP 發(fā)展1.2 DSP 應(yīng)用領(lǐng)域1.3 DSP 產(chǎn)品現(xiàn)狀1.4 哈佛結(jié)構(gòu)1.5 TMS320F28335 簡介2 搭建
    發(fā)表于 08-06 08:28

    利用STM32創(chuàng)建工程模板的方法

    STM32學習1:創(chuàng)建工程模板1,建立工程文件夾2,Keil新建工程3,Keil工程配置4,收尾??STM32是基于ARM內(nèi)核(cortex-m3系列屬于armv7架構(gòu))的32位
    發(fā)表于 02-14 06:54

    STM32單片機如何搭建工程

    STM32單片機如何搭建工程
    發(fā)表于 02-17 07:36

    求助大佬,關(guān)于RT-Thread Studio創(chuàng)建工程時的MCU選項問題求解

    需要使用的MCU是GD32,在 Chip_Support_Packages 中沒有,而在 Board_Support_Packages 里有。但是產(chǎn)品電路板肯定與開發(fā)板的管腳分配不一樣,怎么選擇基于芯片創(chuàng)建工程
    發(fā)表于 05-20 15:16

    如何在CPK-RA6M4 MCU評估板上RT-Thread運行起來

    RT-Thread 運行起來。開發(fā)環(huán)境的搭建將分為以下幾個部分:RA 開發(fā)環(huán)境搭建基于 RT-Thread Studio開發(fā)環(huán)境搭建2、R
    發(fā)表于 07-13 11:28

    Vivado中新建工程或把IP搭建成原理圖詳解

    本文主要詳解Vivado中新建工程或把IP搭建成原理圖,具體的跟隨小編一起來了解一下。
    的頭像 發(fā)表于 06-30 04:51 ?1.3w次閱讀
    Vivado中新<b class='flag-5'>建工程</b>或把IP<b class='flag-5'>搭建</b>成原理圖詳解

    HC32L系列MCU在KEIL新建工程后在Jli

    **HC32L系列MCU在KEIL新建工程后在Jli
    發(fā)表于 11-18 17:36 ?13次下載
    HC32L系列<b class='flag-5'>MCU</b>在KEIL新<b class='flag-5'>建工程</b>后在Jli

    DSP 基礎(chǔ)學習 1:搭建環(huán)境與CCS6創(chuàng)建工程模板

    DSP 基礎(chǔ)學習 1:搭建環(huán)境與CCS6創(chuàng)建工程模板1 DSP簡介1.1 DSP 發(fā)展1.2 DSP 應(yīng)用領(lǐng)域1.3 DSP 產(chǎn)品現(xiàn)狀1.4 哈佛結(jié)構(gòu)1.5 TMS320F28335 簡介2 搭建
    發(fā)表于 11-26 10:36 ?17次下載
    DSP 基礎(chǔ)學習 1:<b class='flag-5'>搭建</b>環(huán)境與CCS6創(chuàng)<b class='flag-5'>建工程</b>模板

    使用STM32 CUBE搭建工程實現(xiàn)MPU6050的角度測量

    使用STM32 CUBE搭建工程實現(xiàn)MPU6050的角度測量
    發(fā)表于 12-06 12:51 ?17次下載
    使用STM32 CUBE<b class='flag-5'>搭建工程</b>實現(xiàn)MPU6050的角度測量

    STM32學習1:創(chuàng)建工程模板

    STM32學習1:創(chuàng)建工程模板1,建立工程文件夾2,Keil新建工程3,Keil工程配置4,收尾??STM32是基于ARM內(nèi)核(cortex-m3系列屬于armv7架構(gòu))的32位
    發(fā)表于 12-08 19:06 ?4次下載
    STM32學習1:創(chuàng)<b class='flag-5'>建工程</b>模板

    STM32CubeMX 創(chuàng)建工程模板

    STM32CubeMX 創(chuàng)建工程模板
    發(fā)表于 12-08 20:06 ?20次下載
    STM32CubeMX 創(chuàng)<b class='flag-5'>建工程</b>模板

    AMetal開發(fā)通用外設(shè)的流程與規(guī)范

    上期講述了搭建工程MCU在AMetal平臺運行起來,為后續(xù)開發(fā)外設(shè)驅(qū)動奠定基礎(chǔ)。接下來可以進入下一步的通用驅(qū)動外設(shè)開發(fā)工作,本次向大家介紹
    的頭像 發(fā)表于 04-27 16:58 ?1934次閱讀
    AMetal開發(fā)通用外設(shè)的流程與規(guī)范

    Linux內(nèi)核的編譯和運行

    Linux內(nèi)核代碼跑起來,得先搭建編譯和運行代碼的環(huán)境。
    發(fā)表于 06-23 11:56 ?1625次閱讀
    Linux內(nèi)核的編譯和<b class='flag-5'>運行</b>

    基于IAR IDE創(chuàng)建工程程序不能運行怎么解決

    除錯后運行一切正常。但如果他基于IARIDE創(chuàng)建工程并使用相同的用戶代碼時,發(fā)現(xiàn)程序沒法正常運行,同時還沒有任何報錯。頗為奇怪。 經(jīng)進一步了解。他的代碼要實現(xiàn)的一個主要功能就是ADC,并利用通用DMA將ADC結(jié)果搬運到內(nèi)存。現(xiàn)在
    的頭像 發(fā)表于 07-22 17:27 ?1736次閱讀
    基于IAR IDE創(chuàng)<b class='flag-5'>建工程</b>程序不能<b class='flag-5'>運行</b>怎么解決
    主站蜘蛛池模板: 国产午夜人做人视频羞羞 | 欧美极品在线播放 | 天天干天天拍天天射天天添天天爱 | 国产盗摄女子私密保健视频 | 男人的天堂久久精品激情 | 亚洲精品久久久久午夜福 | 天堂中文资源在线观看 | 亚洲国产成人精品久久 | 欧美18性欧美丶黑吊 | 欧美色图影院 | 亚洲狠狠操 | 开心丁香婷婷深爱五月 | 免费人成网址在线观看国内 | 在线精品国产成人综合第一页 | 亚洲视屏一区 | 色天使色婷婷丁香久久综合 | 黄色大片日本 | 中国成熟xxx视频 | 性视频久久 | 午夜韩国理论片在线播放 | 手机在线观看国产精选免费 | 亚洲香蕉视频 | 午夜网站视频 | 欧美成人猛男性色生活 | 国产亚洲精品自在久久77 | 操黄色| 日本一区二区三区四区在线观看 | 喷潮白浆直流在线播放 | 天天躁天天狠天天透 | 三级在线观看视频 | 久久国产免费福利永久 | 性做久久久久久免费观看 | 鲁老汉精品视频在线观看 | 性欧美极品另类 | 6月婷婷 | 国产真实野战在线视频 | 成人男女啪啪免费观看网站 | 黄色免费小视频 | 朋友夫妇和交换性bd高清 | 久操免费在线 | 9299yy看片淫黄大片在线 |