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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

添加board

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

app

├── CMakeLists.txt

├── boards

│ ├── arm

│ │ └── atclock

│ └── xtensa

│ └── tclock

添加board一般的做法是在zephyr/boards目錄下找相同soc的board然后根據(jù)硬件對(duì)dts和配置文件進(jìn)行修改,具體添加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.編譯時(shí)指定

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

2.Cmake指定

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

list(APPEND BOARD_ROOT ${CMAKE_SOURCE_DIR})

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

west build -b atclock app/

第二種方法是應(yīng)用管理自定義board這種場(chǎng)景下比較推薦的方法。

參考

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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • DTS
    DTS
    +關(guān)注

    關(guān)注

    1

    文章

    55

    瀏覽量

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

    關(guān)注

    30

    文章

    4970

    瀏覽量

    74018
  • Zephyr
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    6589

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    博泰車聯(lián)網(wǎng)正式納入港股通

    3月6日,上海證券交易所與深圳證券交易所同步發(fā)布公告,對(duì)滬港通及深港通的港股通股票名單作出調(diào)整。根據(jù)調(diào)整結(jié)果,博泰車聯(lián)(股票代碼:02889.HK)已成功納入港股通標(biāo)的證券名單,并于今日(3月9日)正式生效。
    的頭像 發(fā)表于 03-11 11:32 ?345次閱讀

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

    我們的隊(duì)伍編號(hào)是CICC2962,這是我們第五次分享,接下來我分享一如何將SD卡驅(qū)動(dòng)模塊掛載至外設(shè)總線上,并且發(fā)送一條讀指令。 這是外設(shè)總線上被保留的接口信號(hào),我們所寫的
    發(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升級(jí)完成后,bootloader沒有download區(qū)的新代碼搬運(yùn)到app區(qū)?

    download分區(qū)中,因?yàn)槟芸吹阶钚碌陌姹咎?hào),只是不明白的在跳入app程序時(shí)候?yàn)槭裁从职裠ownload分區(qū)又擦了!然后跳入app執(zhí)行原來的代碼!為什么?
    發(fā)表于 09-29 10:04

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

    ‘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項(xiàng)目導(dǎo)入NuEclipse?

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

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

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

    請(qǐng)問如何將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 ,請(qǐng)分享任何文檔或代碼以及一些6EDL_SPI_LINK ,這對(duì)我有很大幫助。
    發(fā)表于 07-09 06:44

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

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

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

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

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

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

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

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

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

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

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

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