為 ZephyrRTOS 增加 SoC 支持(2) 基礎(chǔ)框架 N32L406 的移植還沒有完成,最近又開坑做思澈 SF32LB58 的移植。原因一是這個芯片帶藍(lán)牙和 2D GPU,適合做一些低功耗顯示的設(shè)備,比如碼表,導(dǎo)航設(shè)備,以及智能眼鏡之類,我覺得挺有意思;另一個原因是思澈的老板也愿意支持開源,說很多芯片寄存器功能愿意開發(fā)給社區(qū),特別是包括藍(lán)牙的接口也愿意“以后”開放給社區(qū)對接 ZephyrRTOS 的藍(lán)牙協(xié)議棧,所以我覺得還是可以嘗試做一下。還有一個原因是他們說是愿意提供給社區(qū)開發(fā)者提供一些資金支持,但是目前看他們討論的情況,這個資金支持倒也不能抱太大期待。先用愛發(fā)電吧。思澈的資料都可以從官方 wiki: https://wiki.sifli.com/index.html 這里下載。我先基于官方倉庫https://github.com/OpenSiFli/zephyr提供的一個移植倉庫開始的,但是因為代碼組織和依賴的關(guān)系,我重新組織新建了倉庫:manifest repo: https://github.com/iotpi/sifli-porting-templatehal module: https://github.com/iotpi/hal_sifli,主要包含芯片的 baremetal 驅(qū)動。zephyr porting: https://github.com/iotpi/sifli_zephyr,這一倉庫預(yù)期是以后可以合并到 zephyr upstream,但是工作量還是很巨大,遙遙無期另外還有一個朋友完全基于官方的倉庫繼續(xù)修改的組織架構(gòu),放在他自己的倉庫下:https://github.com/ck-telecom/zephyr-SiFli,有興趣的朋友也可以圍觀。1. 芯片架構(gòu)
這個芯片架構(gòu)還有點復(fù)雜,有三個核,分別是 HCPU, ACPU和LCPU。其中 LCPU 一般用心跑藍(lán)牙協(xié)議棧。藍(lán)牙協(xié)議棧還是閉源的。這里 HCPU 和 ACPU 合起來組成了 HPSYS,LCPU單獨組成 LPSYS。2. 設(shè)備樹(devicetree, dts)我看了 nxp 和 nordic 對于多核 MCU 架構(gòu)的dts定義方式,是把所有的核定義在了一個基礎(chǔ) dtsi里,然后在特定的核的 dtsi 定義里再 /delete-node/ 移除掉。我現(xiàn)在并不明白他們?yōu)槭裁匆@么使用,問了 zephyr 的專家,也并不確定。所以目前我使用了我自己認(rèn)為更適合的方式去組織,如果后面遇到了新問題,再考慮修改這個結(jié)構(gòu)。鑒于上面的芯片功能框圖,我定義基礎(chǔ)的 dts 文件:sf32lb58.dtsi,用于定義整個 SoC 共用的外設(shè);
?sf32lb58_hpsys.dtsi,定義 HCPU 和 ACPU 共用的 外設(shè)(內(nèi)存);
sf32lb58_hcpu.dtsi,僅供 HCPU 訪問的CPU及內(nèi)存;
sf32lb58_acpu.dtsi,僅供 ACPU 訪問的CPU及內(nèi)存;
sf32lb58_lpsys.dtsi,定義 LPSYS 訪問的設(shè)備與內(nèi)存;
sf32lb58_lcpu.dtsi,定義 LCPU 相關(guān)的CPU和內(nèi)存。
sf32lb586.dtsi:定義 具體 sf32lb586 特定的配置,應(yīng)該主要是 合封的PSRAM 和 FLASH 的配置。sf32lb586_hcpu.dtsi:這個文件應(yīng)該由板級 dts 定義包含的頭文件
同樣還要定義sf32lb586_acpu.dtsi, sf32lb586_lcpu.dtsi注意,上面的截圖都只作為參考,最終編譯有問題或者別的架構(gòu)原因,上面的內(nèi)容還是會變更。下期繼續(xù)填坑。文章里如果出現(xiàn)錯誤,或者您有什么建議,歡迎留言指正!感謝!








聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
藍(lán)牙
+關(guān)注
關(guān)注
116文章
6062瀏覽量
173758 -
移植
+關(guān)注
關(guān)注
1文章
398瀏覽量
28666 -
RTOS
+關(guān)注
關(guān)注
24文章
848瀏覽量
121033
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
移植 ZephyrRTOS 到思澈 SF32LB58 過程筆記之二 建立板級定義
ZephyrRTOS 的編譯,是從指定板子 (board) 標(biāo)識符開始的。所以為了編譯測試我們的定義和代碼,就必須先定義對應(yīng)的板子。目前我這里使用的是 SF32LB58 devkit開發(fā)板,所以

LB/LMB/MB/HB 分集接收模塊 skyworksinc
/HB 分集接收模塊真值表,LB/LMB/MB/HB 分集接收模塊管腳等資料,希望可以幫助到廣大的電子工程師們。
發(fā)表于 05-16 18:32

Sky5? LB / MB / HB 分集接收模塊 skyworksinc
,Sky5? LB / MB / HB 分集接收模塊真值表,Sky5? LB / MB / HB 分集接收模塊管腳等資料,希望可以幫助到廣大的電子工程師們。
發(fā)表于 05-15 18:33

Sky5? LB/MBV/HB 分集接收模塊 skyworksinc
? LB/MBV/HB 分集接收模塊真值表,Sky5? LB/MBV/HB 分集接收模塊管腳等資料,希望可以幫助到廣大的電子工程師們。
發(fā)表于 05-12 18:32

UHV-615全自動SF6密度繼電器校驗儀操作使用
SF6開關(guān)是電力系統(tǒng)廣泛使用的高壓電器SF6開關(guān)的可靠運行已成為供用電部門最關(guān)心的問題之一。SF6氣體密度繼電器是用來監(jiān)測運行中SF6開關(guān)本
發(fā)表于 05-09 17:48
?0次下載
Sky5? LB/MLB/MB/HB 分集接收模塊 skyworksinc
,Sky5? LB/MLB/MB/HB 分集接收模塊真值表,Sky5? LB/MLB/MB/HB 分集接收模塊管腳等資料,希望可以幫助到廣大的電子工程師們。
發(fā)表于 05-07 18:31

Sky5? LB/MB/HB 分集接收模塊 skyworksinc
? LB/MB/HB 分集接收模塊真值表,Sky5? LB/MB/HB 分集接收模塊管腳等資料,希望可以幫助到廣大的電子工程師們。
發(fā)表于 04-11 18:34

Sky5? LB/MB/HB LNA Bank 模塊 skyworksinc
資料,Sky5? LB/MB/HB LNA Bank 模塊真值表,Sky5? LB/MB/HB LNA Bank 模塊管腳等資料,希望可以幫助到廣大的電子工程師們。
發(fā)表于 04-11 18:31

LB9-110W2(LB9-126W2)電流互感器
LB9-110W2(LB9-126W2)電流互感器供60~145KV、50~60Hz 電力系統(tǒng)作電流、電能測量及繼電保護(hù)用
產(chǎn)品概述 該系列電流互感器包括LB-60W2、LB
發(fā)表于 04-01 10:36
【GD32 MCU 移植教程】9、從 STM32F10x 系列移植到 GD32F30x 系列
對比、外設(shè)及性能對比以及從 STM32F10x 移植到 GD32F30x 的移植步驟,旨在讓開發(fā)者能夠快速從STM32F10x 移植到 GD

【GD32 MCU 移植教程】5、GD32E230 系列移植到 GD32F330 系列
移植到 GD32F330 系列的需求,本文
檔專門針對既有的 GD32E230 代碼如何移植到 GD32F330 做一個詳細(xì)的介紹;

【GD32 MCU 移植教程】2、從 GD32F303 移植到 GD32F503
GD32E503 系列是 GD 推出的 Cortex_M33 系列產(chǎn)品,該系列資源上與 GD32F303 兼容度非常高,本應(yīng)用筆記旨在幫助您快速將應(yīng)用程序從 GD32F303 系列微控制器移植到 GD32E503 系列微控制器。

SF6泄漏在線監(jiān)測報警系統(tǒng)在10kV到1000kV高壓開關(guān)室中的應(yīng)用
當(dāng)使用以SF6氣體為絕緣和滅弧介質(zhì)的室內(nèi)開關(guān)在使用過程中發(fā)生泄漏時,泄漏出來的SF6氣體及其分解產(chǎn)物會往室內(nèi)低層空間積聚,造成局部缺氧和帶毒. SF6泄漏在線監(jiān)測報警系統(tǒng)室時監(jiān)測環(huán)境中

【GD32 MCU 移植教程】1、從 GD32F10x 移植到 GD32F30x
應(yīng)用程序移植到新的微控制器。本應(yīng)用筆記旨在幫助您快速將應(yīng)用程序從 GD32F10x 系列微控制器移植到 GD32F30x 系列微控制器。

評論