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

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

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

3天內不再提示

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

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

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

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

poYBAGJZGQOAe7ToAACRhjic664793.png

圖1

基礎工程搭建

搭建基礎工程

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

poYBAGJZGRCAB0ayAAAxsN4jZ28759.png

圖2 ZLG116的工程文件

添加芯片基礎文件

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

pYYBAGJZGRqAU7geAAENAXkR-ko953.png

圖3 芯片基礎文件簡介

在編寫驅動程序前,我們應完成芯片基礎文件夾中各文件內容的編寫。下面對上述芯片基礎文件的內容做一個簡單介紹:

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

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

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

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

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

xxx_periph_map.h:外設映射定義,其主要目的是對各外設的基地址按照定義的對應外設結構體解析從而獲取各外設寄存器塊指針。

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

xxx_regbase.h:涉及到該芯片各外設的內存基地址定義。

修改工程配置文件

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

1. 在剛創建的芯片基礎工程文件夾內,修改user_config文件夾下所有xxx的字樣更改為適配芯片型號。如下所示為user_config文件夾:

poYBAGJZGSaAQ3eXAADSVziAFSw823.png

圖4 user_config文件夾

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

pYYBAGJZGTOAHIQlAACCdvPxEeA319.png

圖5 SRAM描述宏

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

讓MCU跑起來

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

Keil工程配置的修改

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

pYYBAGJZGUCALD7nAAE2cSVA2fg808.png

圖6 keil芯片型號選擇

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

poYBAGJZGUyAfrPxAAFTxQuvzAE870.png

圖7 配置keil工程

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

創建啟動文件

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

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

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

pYYBAGJZGVeAWIOxAAKHO6woOrA109.png

圖8 ZLG116外部中斷映射

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

poYBAGJZGXqAHSesAABC5oFJVbY334.png

圖9 Reset_Handler程序

Defult_Handler的修改:

pYYBAGJZGYKAXzMOAABDPaglZt4045.png

圖10 Defult_Handler程序

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

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

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

    關注

    146

    文章

    17837

    瀏覽量

    360408
  • soc
    soc
    +關注

    關注

    38

    文章

    4338

    瀏覽量

    221691
  • 函數
    +關注

    關注

    3

    文章

    4371

    瀏覽量

    64197
  • ametal
    +關注

    關注

    2

    文章

    24

    瀏覽量

    11520
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    怎樣搭建環境與CCS6創建工程模板

    DSP 基礎學習 1:搭建環境與CCS6創建工程模板1 DSP簡介1.1 DSP 發展1.2 DSP 應用領域1.3 DSP 產品現狀1.4 哈佛結構1.5 TMS320F28335 簡介2 搭建
    發表于 08-06 08:28

    利用STM32創建工程模板的方法

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

    STM32單片機如何搭建工程

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

    求助大佬,關于RT-Thread Studio創建工程時的MCU選項問題求解

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

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

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

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

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

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

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

    DSP 基礎學習 1:搭建環境與CCS6創建工程模板

    DSP 基礎學習 1:搭建環境與CCS6創建工程模板1 DSP簡介1.1 DSP 發展1.2 DSP 應用領域1.3 DSP 產品現狀1.4 哈佛結構1.5 TMS320F28335 簡介2 搭建
    發表于 11-26 10:36 ?17次下載
    DSP 基礎學習 1:<b class='flag-5'>搭建</b>環境與CCS6創<b class='flag-5'>建工程</b>模板

    使用STM32 CUBE搭建工程實現MPU6050的角度測量

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

    STM32學習1:創建工程模板

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

    STM32CubeMX 創建工程模板

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

    AMetal開發通用外設的流程與規范

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

    Linux內核的編譯和運行

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

    基于IAR IDE創建工程程序不能運行怎么解決

    除錯后運行一切正常。但如果他基于IARIDE創建工程并使用相同的用戶代碼時,發現程序沒法正常運行,同時還沒有任何報錯。頗為奇怪。 經進一步了解。他的代碼要實現的一個主要功能就是ADC,并利用通用DMA將ADC結果搬運到內存。現在
    的頭像 發表于 07-22 17:27 ?2023次閱讀
    基于IAR IDE創<b class='flag-5'>建工程</b>程序不能<b class='flag-5'>運行</b>怎么解決