精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

如何將新增的board的代碼直接納入app下

智芯原動ICETech ? 來源:HalfCoder ? 作者: lgl88911 ? 2021-08-18 09:23 ? 次閱讀

在Zephyr應用的代碼結構--West提貨單一文中已經將zephyr和zephyr外部項目納入到應用的管理,應用可以基于zephyr的任意開發板進行開發。不過實際的嵌入式應用場景需要對硬件進行定制,這就需要添加新的board,為了方便應用項目代碼集中管理,我們希望將新增的board的代碼直接納入app下。

添加board

在app目錄下添加boards,添加的方式必須遵從boards/《arch》/《board_name》, 例如我的應用要跑在兩種不同的硬件上,增加了使用rt1052和esp32兩個芯片的board,那么就要新建arm和xtensa兩個arch目錄,并分別在其中建立新的開發板文件夾atclock和tclock,目錄樹如下

app

├── CMakeLists.txt

├── boards

│ ├── arm

│ │ └── atclock

│ └── xtensa

│ └── tclock

添加board一般的做法是在zephyr/boards目錄下找相同soc的board然后根據硬件對dts和配置文件進行修改,具體添加board的方法可以參考Zephyr移植新Board,例如atclock就是從mm_swiftio修改而來,文件如下

└── atclock

├── CMakeLists.txt

├── Kconfig.board

├── Kconfig.defconfig

├── atclock.dts

├── atclock.yaml

├── atclock_defconfig

├── atclock_flexspi_nor_config.c

├── atclock_flexspi_nor_config.h

├── atclock_sdram_ini_dcd.c

├── board.cmake

├── doc

└── pinmux.c

而tclock是從esp32修改而來,文件如下

└── tclock

├── CMakeLists.txt

├── Kconfig.board

├── Kconfig.defconfig

├── board.cmake

├── doc

├── tclock.dts

├── tclock.yaml

└── tclock_defconfig

如何使用

zephyr提供了兩種方法使用非zephyr目錄下的board

1.編譯時指定

west build -b atclock -- -DBOARD_ROOT=app/ app/

2.Cmake指定

編譯時指定需要在每次編譯時都指定BOARD_ROOT路徑,略顯累贅,可以在app/CMakeLists.txt中添加如下內容

list(APPEND BOARD_ROOT ${CMAKE_SOURCE_DIR})

CMAKE_SOURCE_DIR表示app的source code目錄,也就是app的目錄,由于boards在該目錄下,因此在編譯時就無需再指定board_root,直接執行下面命令即可

west build -b atclock app/

第二種方法是應用管理自定義board這種場景下比較推薦的方法。

參考

https://docs.zephyrproject.org/latest/application/index.html#custom-board-devicetree-and-soc-definitions

https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/application_development/out_of_tree_board

編輯:jq

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

    關注

    1

    文章

    50

    瀏覽量

    16078
  • 代碼
    +關注

    關注

    30

    文章

    4744

    瀏覽量

    68345
  • Zephyr
    +關注

    關注

    0

    文章

    18

    瀏覽量

    5957

原文標題:Zephyr應用的代碼結構--自定義開發板

文章出處:【微信號:智芯原動ICETech,微信公眾號:智芯原動ICETech】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何將LVDS/OLDI橋接到HDMI/DVI

    電子發燒友網站提供《如何將LVDS/OLDI橋接到HDMI/DVI.pdf》資料免費下載
    發表于 09-27 09:35 ?1次下載
    <b class='flag-5'>如何將</b>LVDS/OLDI橋接到HDMI/DVI

    如何將BQ35100配置為EOS模式

    電子發燒友網站提供《如何將BQ35100配置為EOS模式.pdf》資料免費下載
    發表于 09-11 10:03 ?0次下載
    <b class='flag-5'>如何將</b>BQ35100配置為EOS模式

    請問light demo如何添加esp_http_client例程?

    );*/ //app_wifi_initialise(); xTaskCreate(&http_test_task, \"http_test_task\", 8192, NULL, 5, NULL); } 2.官方現在是有有無一個demo projec
    發表于 06-28 15:46

    請問STM8S如何將中斷代碼拷貝到RAM中運行?

    STM8S在寫EEPROM時,中斷停掉,如何將中斷代碼拷貝到RAM中運行??? 求助各位大神!!!
    發表于 05-17 07:37

    PADS2.7,如何將3D封裝與PCB封裝綁定,然后再PCB設計時可直接調用?

    PADS2.7,如何將3D封裝與PCB封裝綁定,然后再PCB設計時可直接調用?
    發表于 05-06 17:07

    STM32的App應用程序用MDK直接仿真,MDK下載后無法正常仿真的原因?

    如題,嘗試了STM32的App應用程序用MDK直接仿真,發現MDK下載后無法正常仿真,程序起始地址和中斷偏移都設置了。以前用IAR是可以仿真Ap
    發表于 04-12 08:00

    如何將bootloader代碼從flash搬到RAM運行?

    如何將bootloader 代碼從flash 搬到RAM 運行
    發表于 04-03 07:14

    如何將bootloader代碼從flash搬到RAM運行?

    如何將bootloader 代碼從flash 搬到RAM 運行
    發表于 04-01 07:10

    STM32 IAP升級,KEIL如何一份代碼運行于兩個APP區?

    我的想法是一個IAP+APP1+APP2。上電運行IAP。會檢測當前有效APP,跳轉有效APP運行。在APP運行期間,收到升級指令,直接do
    發表于 03-26 07:20

    如何將F-RAM?添加到現有的PSoC? Creator項目?

    我們在PSoC? Creator 中有一個 PSoC6 項目,并希望 QSPI F-RAM?存儲器添加到TDA5235_868_5_BOARD中。我很難找到如何在F-RAM? PSoC
    發表于 03-01 12:14

    如何將LED連接到Arduino板并使其閃爍

     在本快速入門指南中,您將學習如何將 LED 連接到 Arduino 板并使其閃爍。
    的頭像 發表于 02-11 10:53 ?2058次閱讀
    <b class='flag-5'>如何將</b>LED連接到Arduino板并使其閃爍

    如何將按鈕連接到Arduino板

    在本快速入門指南中,您將學習如何將按鈕連接到Arduino板,并根據按鈕是否被按下來讀取HIGH或LOW。您將使用電路板上隨附的發光二極管 (LED)通過按鈕打開和關閉,以便驗證按鈕按下代碼是否正常工作。
    的頭像 發表于 02-11 10:52 ?3466次閱讀
    <b class='flag-5'>如何將</b>按鈕連接到Arduino板

    HighTec的TC212開發,如何將VADC設置為TOM輸出的PWM觸發呢?

    HighTec的TC212開發,如何將VADC設置為TOM輸出的PWM觸發?
    發表于 02-04 09:22

    如何將共享代碼映射到DSPR5以及將其映射到其他RAM區域?

    Scratch-Pad Sram(CPU5 DSPR)相關聯。 在鏈接器腳本中,我已經映射了每個.text 部分移至其各自的 PSPR 內核。 我想知道如何將共享代碼映射到 DSPR5 以及如何將其映射到其他 RAM 區域。
    發表于 01-24 07:26

    CPU是如何將數據傳到GTM模塊的?

    ATOM不通過ARU也可以直接寫寄存器,從而配置占空比和周期。我的問題是中間發生了什么,CPU是如何將數據傳到GTM模塊的?
    發表于 01-22 08:09