日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

零基礎開發(fā)小安派-Eyes-S1【入門篇】——工程文件架構

AIoT行業(yè)洞察 ? 2024-11-06 16:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

AiPi-Eyes-S1是安信可開源團隊專門為Ai-M61-32S設計的一款開發(fā)板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S 模組具有豐富的外設接口,具體包括 DVP、MJPEG、Dispaly、AudioCodec、USB2.0、SDU、以太網(wǎng) (EMAC)、SD/MMC(SDH)、SPI、UART、I2C、I2S、PWM、GPDAC、GPADC、ACOMP 和 GPIO 等。

AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。

從零開始學習小安派:

1、零基礎開發(fā)小安派-Eyes-S1【入門篇】——初識小安派-Eyes-S1

2、零基礎開發(fā)小安派-Eyes-S1【入門篇】——安裝VMware與Ubuntu

3、入門篇:零基礎開發(fā)小安派-Eyes-S1——新建工程并燒錄調試

4、零基礎開發(fā)小安派-Eyes-S1入門篇——Win下SSH連接Linux

5、零基礎開發(fā)小安派-Eyes-S1【入門篇】——Samba共享文件夾

新建的工程包含多個文件和文件夾,作為初學者第一次接觸,下面淺聊一下我對工程文件的了解,若有不對的地方請大家多多指正。

一、build 文件夾

該文件夾是編譯后生成的 bin 文件存儲的地方,如本工程文件的文件名作為 Helloworld,編譯后的 bin 文件也是以工程名 + 芯片命名。

生成的 bin 文件存儲在 build/build_out 下,可以看見有多個類似的文件,這里我們燒錄取 bin 文件,這里可以看到在 hellowworld 工程編譯生成的 bin 文件命名為 helloworld_bl616.bin,因為 bl616 和 bl618 的芯片其實在軟件上的區(qū)分很小,他們通用同一個 SDK,在硬件上的區(qū)分在于 616 的 IO 口數(shù)量不如 618,由于使用同一套 SDK,所以 bl616 和 618 的固件是可以通用的,這里無需過多計較區(qū)別。

注意,這里的 bin 文件在博流的燒錄工具上并不是合成的 bin 文件,這里對應的 bin 文件是圖中的 firmware 目錄下的 bin 文件,還需要其他的如 boot2 等文件,那么問題來了,使用 Single Download Options 燒錄的合成 bin 文件在哪里,其實是在 SDK 中,具體的路徑為:

aithinker_Ai-M6X_SDK/tools/bflb_tools/bouffalo_flash_cube/chips/bl616/img_create/whole_flash_data.bin

如果需要使用 Windows 下的燒錄工具燒錄 bin 文件,選擇這個路徑下的 whole_flash_data.bin 即可。

二、CMakeLists.txt

CMake 是一個跨平臺、開源的構建系統(tǒng),它可以幫助我們管理好工程里的軟件架構。CMakeLists.txt 文件相當于執(zhí)行的列表,它可以調用其他的.h 頭文件和.so/.a 庫文件,生成 Makefile,將.cpp/.c/.cc 文件編譯成可執(zhí)行文件或新的庫文件。我們從簡單的 helloworld 工程學習,先打開 CMakeLists.txt 查看里面的語句。

BouffaloSDK 中封裝了以下函數(shù)接口,基本滿足常用場景使用。

三、flash_prog_cfg.ini

BouffaloSDK 采用新的 flash tool(bouffalo_flash_cube),并且燒錄依賴 flash prog cfg.ini 文件。我們的燒錄命令 make flash 就是依賴這個文件執(zhí)行的。它也有自己的語法。

正常使用只需要創(chuàng)建一個 KEY,例如 [FW],并且填寫 filedir 和 address 就可以使用了。

其中 filedir 的填寫方式有以下幾種:

  • bin 文件全路徑 + bin 文件名稱
  • bin 文件相對路徑 + bin 文件名稱
  • bin 文件名稱添加 _$(CHIPNAME) 后綴可以自動識別成不同芯片(僅在 bin 文件名稱前綴不同的時候使用)
  • bin 文件名稱添加 * 通配符,可以自動補全 bin 文件名稱(僅在 bin 文件名稱前綴不同的時候使用)

1.模組作為 MCU(不使用無線功能)

只需要和 helloworld 工程一樣修改 filedir 的文件名即可。

[cfg]

# 0: no erase, 1:programmed section erase, 2: chip erase

erase = 1

# skip mode set first para is skip addr, second para is skip len, multi-segment region with ; separated

skip_mode = 0x0, 0x0

# 0: not use isp mode, #1: isp mode

boot2_isp_mode = 0

[FW]

filedir = ./build/build_out/xxx*_$(CHIPNAME).bin

address = 0x0000

2.模組作為 IOT(開啟無線功能)

[cfg]

# 0: no erase, 1:programmed section erase, 2: chip erase

erase = 1

# skip mode set first para is skip addr, second para is skip len, multi-segment region with ; separated

skip_mode = 0x0, 0x0

# 0: not use isp mode, #1: isp mode

boot2_isp_mode = 0

[boot2]

filedir = ./build/build_out/boot2_*.bin

address = 0x000000

[partition]

filedir = ./build/build_out/partition*.bin

address = 0xE000

[FW]

filedir = ./build/build_out/xxx*_$(CHIPNAME).bin

address = 0x10000

[mfg]

filedir = ./build/build_out/mfg*.bin

address = 0x210000

- cfg 表示燒錄時的一些配置,正常不需要改動

- FW 要燒錄的應用固件,必須使用 FW 名稱。

filedir 表示應用固件所在相對路徑,正常來說是編譯完后放在 build/build_out 目錄。_$(CHIPNAME).bin 用于區(qū)分不同芯片。xxx 表示應用固件名稱,與 CMakeLists.txt 中 project(xxx) 中名稱一致。

address 由 partition_xxx.toml 指定

- boot2 要燒錄的 boot2 固件,必須使用 boot2 名稱。

filedir 表示 boot2 固件所在相對路徑,正常來說是編譯完后放在 build/build_out 目錄。自動從 bsp/board/board_name/config 目錄拷貝。

address 必須使用 0 地址

- partition 要燒錄的 partition 固件,必須使用 partition 名稱。

filedir 表示 partition 固件所在相對路徑,正常來說是編譯完后放在 build/build_out 目錄。自動從 bsp/board/board_name/config 目錄 partition_xxx.toml 轉換成 bin 文件并拷貝。

address 由 partition_xxx.toml 指定

- mfg 要燒錄的 mfg 固件,必須使用 mfg 名稱。mfg 可選,可以不燒錄

filedir 表示 mfg 固件所在相對路徑,正常來說是編譯完后放在 build/build_out 目錄。自動從 bsp/board/board_name/config 目錄拷貝。

address 由 partition_xxx.toml 指定

(備注:如果使用了 partition,address 可以使用 @partition 代替絕對地址,@partition 將會自動從 partition_xxx.toml 找到對應的地址)

3.多個運行固化燒錄

禁止使用通配符 * 以及 _$(CHIPNAME) 前綴,因為 bin 文件名稱前綴相同。

[cfg]

# 0: no erase, 1:programmed section erase, 2: chip erase

erase = 1

# skip mode set first para is skip addr, second para is skip len, multi-segment region with ; separated

skip_mode = 0x0, 0x0

# 0: not use isp mode, #1: isp mode

boot2_isp_mode = 0

[FW1]

filedir = ./build/build_out/xxx0.bin

address = 0x00000

[FW2]

filedir = ./build/build_out/xxx1.bin

address = 0x10000

[FW3]

filedir = ./build/build_out/xxx2.bin

address = 0x20000

四、main.c

main.c,主程序運行的文件。

五、Makefile

編譯的文件,其指定了一系列以賴關系和依賴規(guī)則。指定哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,可以實現(xiàn)自動化編譯,一旦寫好,只需要一個 make 命令,整個工程完全自動編譯,極大的提高了軟件開發(fā)的效率。

目前來說只需要修改第二行 BL_SDK_BASE ?= $(SDK_DEMO_PATH)/../aithinker_Ai-M6X_SDK 的編譯路徑設置即可。

六、proj.conf

前面在 CMakeLists.txt 中提到的組件的使用,當我們需要使用各種組件或開啟一些配置功能時,需要進入這個文件中添加。

舉例:需要添加 SD 卡,或者 LVGL。需要在 proj.conf 中

set(CONFIG_FATFS 1)
set(CONFIG_LVGL 1)

七、README.md

README 相當于一個說明書,由工程的管理者進行編寫,包括該工程一些簡介,使用方法,注意事項等等。

md 文件后綴的格式并不是什么高大上的文件,只是一種編輯的語法,可以使用記事本打開,也可以在 VS 中安裝 Markdown Preview 插件。

這樣查看 README 時可以右鍵點擊 MPE:打開側邊預覽,可以方便我們查看 README。

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

    關注

    8

    文章

    233

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    零基礎玩轉Linux+Ubuntu實戰(zhàn)視頻課程

    ” -> 升華認知:拋棄鼠標的依賴,用“文件尋址”和“命令組合”的思維重塑對計算機的操控。 按這個框架去讀,這篇看似晦澀枯燥的零基礎長文,就會立刻化作你通往后端開發(fā)、運維部署、甚至極客高薪領域的“萬能鑰匙”。
    發(fā)表于 04-18 16:16

    2小時搞定鴻蒙應用!零基礎做出你的鴻蒙“處女作”

    的《HarmonyOS 應用開發(fā)快速入門》,直接打破零基礎與開發(fā)之間的壁壘,不用具備任何開發(fā)經(jīng)驗,2小時就能做出專業(yè)程序員才能完成的輕應用,
    的頭像 發(fā)表于 04-17 14:04 ?127次閱讀
    2小時搞定鴻蒙應用!<b class='flag-5'>零基</b>礎做出你的鴻蒙“處女作”

    小安立式桌擺外殼設計制作

    小安-Eyes-R2,但是一直沒什么時間好好的研究一下。近期學習了一下相關例程,感覺用的很難受,大概是因為屏幕排線比較短且板子和屏幕不好固定,以及燒錄兩個按鍵必須要倆手按,于是考慮做外殼固定一下。 ?
    的頭像 發(fā)表于 09-09 17:20 ?1033次閱讀
    <b class='flag-5'>小安</b><b class='flag-5'>派</b>立式桌擺外殼設計制作

    【開源硬件】小安AiPi-Eyes-R2詳細測評+DIY天氣時鐘

    接口-130W像素 1 顯示器-4.0寸-RGB接口40寸-像素480x480 1 咪頭-2pin-1.25mm間距-交叉絞線100mm 2 具體開箱流程照片如下: 環(huán)境搭建 因為之前筆者已經(jīng)用過Windows開發(fā)
    的頭像 發(fā)表于 08-12 16:23 ?942次閱讀
    【開源硬件】<b class='flag-5'>小安</b><b class='flag-5'>派</b>AiPi-<b class='flag-5'>Eyes</b>-R2詳細測評+DIY天氣時鐘

    【離線語音】安信可VC-01/02教程:中級入門篇

    教程 【快速上手】 安信可離線語音模組 VC-01、VC-02 系列教程 【中級入門篇】 安信可離線語音模組 VC-01、VC-02 系列教程 【高級進階】 安信可離線語音模組 VC-01、VC-02
    的頭像 發(fā)表于 07-31 09:33 ?1009次閱讀
    【離線語音】安信可VC-01/02教程:中級<b class='flag-5'>入門篇</b>

    【教程】零基礎!手把手教你使用STM32F4進行E22-400T22S編程通信

    通過本文帶大家零基礎使用STM32F407VET6單片機進行E22-400T22S模塊編程并進行簡單的通信,當然如果學會了,也可以舉一反三應用于E22、E220、E32所有模塊上。一STM32環(huán)境
    的頭像 發(fā)表于 07-03 19:32 ?1866次閱讀
    【教程】<b class='flag-5'>零基</b>礎!手把手教你使用STM32F4進行E22-400T22<b class='flag-5'>S</b>編程通信

    死角玩轉STM32——系統(tǒng)

    本文共4冊,由于資料內存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 《死角玩轉 STM32》系列教程由初級、中級、高級、系統(tǒng)
    發(fā)表于 05-21 14:08

    死角玩轉STM32——高級

    本文共4冊,由于資料內存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 《死角玩轉 STM32》系列教程由初級、中級、高級、系統(tǒng)
    發(fā)表于 05-21 14:02

    死角玩轉STM32——中級

    本文共4冊,由于資料內存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 《死角玩轉 STM32》系列教程由初級、中級、高級、系統(tǒng)
    發(fā)表于 05-21 13:56

    死角玩轉STM32——初級

    本文共4冊,由于資料內存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 《死角玩轉 STM32》系列教程由初級、中級、高級、系統(tǒng)
    發(fā)表于 05-21 13:48

    電子工程師自學速成 —— 提高

    本文共3冊,由于資料內存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 電子工程師自學速成分為:入門篇、提高和設計,本文為提高;
    發(fā)表于 05-15 15:56

    電子工程師自學速成——入門篇

    本文共3冊,由于資料內存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 電子工程師自學速成分為:入門篇、提高和設計,本文為入門篇,
    發(fā)表于 05-15 15:50

    一技在手,醫(yī)療無憂!零基礎轉行高薪醫(yī)療維修工程

    ,剩下的就看個人能力了,對醫(yī)療器械維修感興趣但迷茫的可聯(lián)系我們,幫你解決疑難問題,帶你入門醫(yī)療維修行業(yè)! 一技在手,醫(yī)療無憂!零基礎轉行高薪醫(yī)療維修工程師!” “缺口40萬+,月薪過萬!搶占醫(yī)療行業(yè)
    發(fā)表于 05-15 10:22

    【「零基開發(fā)AI Agent」閱讀體驗】+讀《零基開發(fā)AI Agent》掌握扣子平臺開發(fā)智能體方法

    收到發(fā)燒友網(wǎng)站寄來的《零基開發(fā)AI Agent》這本書已經(jīng)有好些天了,這段時間有幸拜讀了一下全書,掌握了一個開發(fā)智能體的方法。 該書充分從零基礎入手,先闡述了Agent是什么,它的基
    發(fā)表于 05-14 19:51

    Air8000+G-sensor:零基開發(fā)者的傳感器入門課!

    無需復雜理論,本文專為零基開發(fā)者設計,從Air8000核心板硬件特性入手,一步步演示G-sensor的注冊、配置與數(shù)據(jù)解析。結合趣味實例(如傾斜控制LED),讓你30分鐘內完成首個傳感項目,夯實
    的頭像 發(fā)表于 05-06 14:36 ?1068次閱讀
    Air8000+G-sensor:<b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b>者的傳感器<b class='flag-5'>入門</b>課!
    余干县| 库尔勒市| 鄯善县| 三穗县| 阜宁县| 台山市| 岐山县| 三河市| 棋牌| 兴义市| 金湖县| 巴楚县| 景德镇市| 哈密市| 关岭| 汝南县| 鄂温| 无锡市| 丁青县| 怀来县| 浦江县| 霍邱县| 福鼎市| 莆田市| 莲花县| 葫芦岛市| 新宾| 合肥市| 博罗县| 云和县| 阳曲县| 廊坊市| 宜兴市| 确山县| 当阳市| 晴隆县| 迁西县| 华宁县| 新干县| 周至县| 贺州市|