91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

智芯原動ICETech ? 來源:HalfCoder ? 作者: lgl88911 ? 2021-08-18 09:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

添加board

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

app

├── CMakeLists.txt

├── boards

│ ├── arm

│ │ └── atclock

│ └── xtensa

│ └── tclock

添加board一般的做法是在zephyr/boards目錄下找相同soc的board然后根據(jù)硬件對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中添加如下內(nèi)容

list(APPEND BOARD_ROOT ${CMAKE_SOURCE_DIR})

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

west build -b atclock app/

第二種方法是應(yīng)用管理自定義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

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

    關(guān)注

    1

    文章

    55

    瀏覽量

    16794
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4968

    瀏覽量

    73977
  • Zephyr
    +關(guān)注

    關(guān)注

    0

    文章

    58

    瀏覽量

    6583

原文標(biāo)題:Zephyr應(yīng)用的代碼結(jié)構(gòu)--自定義開發(fā)板

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    信維通信被納入MSCI中國A股指數(shù)

    近期,國際指數(shù)編制公司MSCI公布了其2026年2月的指數(shù)季度調(diào)整結(jié)果。本次調(diào)整中,MSCI全球標(biāo)準(zhǔn)指數(shù)新增63只個股,其中包括33只A股標(biāo)的。信維通信在本次調(diào)整中被納入MSCI中國A股指數(shù),相關(guān)調(diào)整將于2026年2月27日收盤后生效。
    的頭像 發(fā)表于 02-26 16:18 ?834次閱讀

    如何將SD卡驅(qū)動模塊掛載至外設(shè)總線

    我們的隊伍編號是CICC2962,這是我們第五次分享,接下來我分享一如何將SD卡驅(qū)動模塊掛載至外設(shè)總線上,并且發(fā)送一條讀指令。 這是外設(shè)總線上被保留的接口信號,我們所寫的
    發(fā)表于 10-30 06:12

    qboot跳轉(zhuǎn)app后卡在app的系統(tǒng)調(diào)用處,為什么?

    ;quot;); } 當(dāng)我把HAL_DeInit();注釋掉,其他不變,現(xiàn)象如下圖 這是我app中注釋的代碼段 void rt_application_init(void
    發(fā)表于 10-10 07:03

    ota升級完成后,bootloader沒有download區(qū)的新代碼搬運到app區(qū)?

    download分區(qū)中,因為能看到最新的版本號,只是不明白的在跳入app程序時候為什么又把download分區(qū)又擦了!然后跳入app執(zhí)行原來的代碼!為什么?
    發(fā)表于 09-29 10:04

    5.1.1版本 stm32創(chuàng)建工程直接編譯報錯怎么解決?

    ‘void’ RT_WEAK void rt_hw_board_init() 并未修改任何代碼,說明生成的庫函數(shù)有bug。網(wǎng)上查找可發(fā)現(xiàn)解決方法為 RT_WEAK 替換為 rt_weak
    發(fā)表于 09-12 07:48

    如何將GCC項目導(dǎo)入NuEclipse?

    如何將GCC項目導(dǎo)入NuEclipse?
    發(fā)表于 09-01 07:04

    請問使用 NUC505 時如何將代碼放入 SRAM 中執(zhí)行?

    使用 NUC505 時如何將代碼放入 SRAM 中執(zhí)行?
    發(fā)表于 08-28 08:25

    請問如何將ISP寫入Nuvoton 8051 MCU系列?

    如何將ISP寫入Nuvoton 8051 MCU系列?
    發(fā)表于 08-18 07:34

    MULTICH_CONNECT_PCB如何將EVAL_PASCO2_SENSOR 到 CYW943907AEVALF?

    MULTICH_CONNECT_PCB如何將EVAL_PASCO2_SENSOR 到 CYW943907AEVALF ,請分享任何文檔或代碼以及一些6EDL_SPI_LINK ,這對我有很大幫助。
    發(fā)表于 07-09 06:44

    《仿盒馬》app開發(fā)技術(shù)分享-- 新增地址(28)

    關(guān)掉頁面,回到地址列表展示頁面,這個頁面的數(shù)據(jù)查詢放到onpageshow中,回到頁面就會刷新列表,我們已經(jīng)在地圖選點頁面選擇好條目,然后跳轉(zhuǎn)到地址新增頁面,然后我們填寫好對應(yīng)的數(shù)據(jù),點擊保存,后續(xù)我們會打磨這幾個頁面的細節(jié),讓他更符合地址添加的商業(yè)app邏輯
    發(fā)表于 06-30 20:13

    HarmonyOS 代碼工坊的指尖開發(fā),讓 APP 開發(fā)所見即所得

    沙盤被直接搬入了移動設(shè)備本身。眼尖的開發(fā)者應(yīng)該已經(jīng)發(fā)現(xiàn),最近華為應(yīng)用市場“應(yīng)用嘗鮮”專區(qū)里,上架了一款名為“HarmonyOS 代碼工坊”的新應(yīng)用,下載量持續(xù)攀升。 開發(fā)者只需要下載“HarmonyOS 代碼工坊”,就可以看到,
    的頭像 發(fā)表于 06-24 12:08 ?827次閱讀
    HarmonyOS <b class='flag-5'>代碼</b>工坊的指尖開發(fā),讓 <b class='flag-5'>APP</b> 開發(fā)所見即所得

    STM32IDE如何設(shè)定代碼到ITCM中運行?

    摸索到了如何將變量定義到某個地址,但是不清楚如何讓代碼在指定RAM中運行。按照設(shè)定變量的方式設(shè)定代碼,程序直接進入了異常中斷{:16:}。
    發(fā)表于 06-24 06:45

    如何將一個FA模型開發(fā)的聲明式范式應(yīng)用切換到Stage模型

    模型切換概述 本文介紹如何將一個FA模型開發(fā)的聲明式范式應(yīng)用切換到Stage模型,您需要完成如下動作: 工程切換:新建一個Stage模型的應(yīng)用工程。 配置文件切換:config.json切換
    發(fā)表于 06-04 06:22

    燧原科技正式納入飛槳例行版本發(fā)布體系

    燧原科技與飛槳經(jīng)過長時間的適配合作和持續(xù)集成(CI)建設(shè),對飛槳合?的每?行代碼都在燧原硬件上進?了驗證。如今,燧原正式納入飛槳例行版本發(fā)布體系。未來,燧原基于這?合作模式,共同?持飛槳重大版本發(fā)布,推動AI技術(shù)創(chuàng)新和開源?態(tài)
    的頭像 發(fā)表于 04-11 11:31 ?1074次閱讀
    燧原科技正式<b class='flag-5'>納入</b>飛槳例行版本發(fā)布體系

    如何將Linux安裝包快速轉(zhuǎn)成玲瓏包

    本篇將以 motrix 為例為大家展示如何將 Linux 安裝包快速轉(zhuǎn)成玲瓏包。
    的頭像 發(fā)表于 03-12 16:01 ?1677次閱讀
    <b class='flag-5'>如何將</b>Linux安裝包快速轉(zhuǎn)成玲瓏包