各位關(guān)注先楫的小伙伴們,基于Zephyr v3.7.0(LTS)版本和hpm_sdk v1.6.0版本的Zephyr SDK glue v0.5.0正式發(fā)布了。
先楫MCU的Zephyr開發(fā)包
Zephyr是一個(gè)通用的嵌入式實(shí)時(shí)操作系統(tǒng),具備良好的拓展性。Zephyr SDK Glue(簡稱ZSG)是先楫半導(dǎo)體以 Zephyr 項(xiàng)目為基礎(chǔ)開發(fā)的開源軟件包,涵蓋所有面向 Zephyr 項(xiàng)目開發(fā)的 HPMicro 芯片適配支持文件,支持 Microsoft Windows、Linux 和 macOS 平臺(tái)開發(fā)。
套接HPM_SDK
ZSG利用Zephyr的拓展特性,將自身打包成Zephyr Submodule加入到工程的整體構(gòu)建中。同時(shí),HPM_SDK由ZSG套接引入,形成Zephyr - ZSG - HPM_SDK的構(gòu)建鏈路。

清單倉庫
ZSG同時(shí)作為Zephyr的清單倉庫,關(guān)聯(lián)獲取Zephyr主倉庫,并獲取已驗(yàn)證的Zephyr資源,與大多數(shù)Zephyr應(yīng)用程序和實(shí)例兼容。ZSG構(gòu)建工作空間的順序與通常的Zephyr工程有所不同,Zephyr工程是Zephyr的主倉庫去獲取soc的驅(qū)動(dòng)文件以及各種已授權(quán)的第三方軟件庫,驅(qū)動(dòng)抽象層包含在Zephyr主倉庫中。ZSG由自己作為工作空間構(gòu)建的起點(diǎn),去獲取Zephyr主倉庫以及所需要的第三方軟件庫,HPMicro驅(qū)動(dòng)抽象層文件包含于ZSG之中。

Zephyr版本
ZSG目前在Zephyr v3.7.0的LTS上進(jìn)行增量開發(fā)并長期維護(hù)。ZSG所綁定的Zephyr版本會(huì)隨著新的LTS版本發(fā)布而更新。
Zephyr third party
ZSG引入來自于Zephyr的第三方庫,例如CANOpenNode、Lvgl、Fatfs。除此之外,還包含由HPMicro開發(fā)的額外的庫和驅(qū)動(dòng)程序,如SDCard。
集成CherryUSB
除實(shí)現(xiàn)Zephyr的USB驅(qū)動(dòng)(UDC), ZSG還提供了CherryUSB協(xié)議棧和HPMicro產(chǎn)品的集成,幫助用戶開發(fā)USB HOST和DEVICE。
可拓展性
ZSG支持用戶自制組件集成,可用于各種規(guī)模和復(fù)雜程度的項(xiàng)目和應(yīng)用。
提供簡潔目錄
Zephyr作為一個(gè)大型的開源項(xiàng)目,其中的代碼量巨大,各廠商為自己的芯片的特性加入了繁多的代碼,這對于單獨(dú)的某款芯片或者開發(fā)板,是非必要的。Zephyr的芯片描述文件繁多,分散于不同的文件夾中,開發(fā)者使用起來需要分辨文件的歸屬,這加大了開發(fā)的門檻。ZSG提供了這樣一種機(jī)制避免上述的問題,先楫芯片對于Zephyr的開發(fā)文件單獨(dú)成庫,減小了下載的代碼量,能夠做到文件一目了然。
開源
ZSG同Zephyr一樣,作為開源軟件發(fā)行,遵循Apache-2.0 License。
支持的開發(fā)板
- HPM6750EVK2
- HPM6800EVK
提供的主要功能
對以下組件和驅(qū)動(dòng)進(jìn)行了適配
- 通信外設(shè):UART,I2C,SPI,PWM,UDC,Ethernet,can
- 模擬外設(shè):adc12,adc16
- 存儲(chǔ)器外設(shè):sdhc
- 圖形外設(shè):mipi,lvds,RGB,camera
- 組件類:CANOpenNode,GUI LVGL,CherryUSB Device/Host,FatFs
提供了以下示例
- HPM6750EVK2:gpio,can,ethernet,pwm,usb,i2c,video
- HPM6800EVK:gpio,ethernet,usb,i2c,display,video_mipi
開發(fā)環(huán)境
推薦使用ubuntu系統(tǒng)進(jìn)行工程構(gòu)建、編譯以及燒寫,windows系統(tǒng)進(jìn)行代碼編寫以及串口打印查看
若需要支持在Linux與Windows之間的文件共享以及編輯,請?jiān)贚inux設(shè)備上適當(dāng)?shù)匕惭b和配置samba、vim等常用軟件。
Ubuntu開發(fā)環(huán)境搭建
- 推薦Ubuntu 20.04 64位及以上版本
安裝軟件依賴包
安裝所依賴的軟件
sudoaptinstall--no-install-recommendsgitcmake ninja-build gperf\
ccache dfu-util device-tree-compilerwget\
python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utilsfile\
makegcc gcc-multilib g++-multilib libsdl2-dev libmagic1
確認(rèn)工具版本最低等級,主要為cmake,dtc的版本,版本不夠需要升級。
?CMake
?3.20.5
?Python
?3.8
?Devicetree compiler
?1.4.6
構(gòu)建工作環(huán)境
- 安裝west,將~/.local/bin加入bashrc,確保terminal在啟動(dòng)時(shí)PATH含有該路徑
pip3install--user-Uwest
echo'export PATH=~/.local/bin:"$PATH"'>>~/.bashrc
source~/.bashrc
- 創(chuàng)建${workspace}目錄,獲取源代碼
mkdir${workspace}
cd${workspace}
west init-mhttps://github.com/hpmicro/zephyr_sdk_glue.git--mrmain
- 獲取所需倉庫的源代碼,默認(rèn)從github獲取,需要切換到國內(nèi)源,請輸入第一條指令
west config manifest.file west_gitee.yml
west update
- 配置CMake變量
west zephyr-export
- 安裝zephyr所需的python依賴
pip3install--user-r~/${workspace}/zephyr/scripts/requirements.txt
- 解決一些命名沖突,增加hpm_sdk相關(guān)補(bǔ)丁
west supply
安裝zephyr的工具鏈包
下載zephyr的編譯工具,鏈接為:https://github.com/zephyrproject-rtos/sdk-ng/tags/
命令行安裝
cd${workspace}
wgethttps://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.5/zephyr-sdk-0.16.5_linux-x86_64.tar.xz
wget-O- https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.5/sha256.sum|shasum--check--ignore-missing
tarxvf zephyr-sdk-0.16.5_linux-x86_64.tar.xz
- 配置工具鏈必要變量
cdzephyr-sdk-0.16.5
sourcesetup.sh
下載并安裝OpenOCD
推薦使用源碼編譯,使用默認(rèn)安裝路徑/usr/local/bin/openocd
下載鏈接為:https://github.com/hpmicro/riscv-openocd/releases/tag/hpm_xpi_v0.2.0
解壓后,請將openocd路徑放置在/usr/local/bin/openocd,以便腳本調(diào)取
工程編譯
查看工程
- 查看支持的硬件設(shè)備
west boards|grephpm

編譯samples
編譯hpm6750evk2的button sample,build目錄可以放置在workspace的任意地方, 推薦放在zephyr的目錄下。
?-p選項(xiàng), always重新編譯, auto增量編譯。
cd${workspace}/zephyr
west build-palways-bhpm6750evk2 samples/basic/button
下載和調(diào)試
1、固件燒錄
west flash
2、固件調(diào)試
west debug
修改軟件配置
zephyr通過Kconfig系統(tǒng)配置軟件選項(xiàng),通過圖形化界面修改
west build-tmenuconfig

-
嵌入式
+關(guān)注
關(guān)注
5198文章
20435瀏覽量
333918 -
SDK
+關(guān)注
關(guān)注
3文章
1101瀏覽量
51709 -
先楫半導(dǎo)體
+關(guān)注
關(guān)注
12文章
284瀏覽量
3295
發(fā)布評論請先 登錄
Zephyr SDK Glue(ZSG)v0.7.0 發(fā)布
【瑞薩FPB-RA6E2試用】【原創(chuàng)】基于【瑞薩FPB-RA6E2】Windows 下Zephyr RTOS自定義項(xiàng)目開發(fā)全流程(創(chuàng)建-編譯-燒錄-串口調(diào)試)
當(dāng)RA MCU遇見Zephyr系列(3)——在Vs code中配置Zephyr集成開發(fā)環(huán)境
【瑞薩FPB-RA6E2試用】基于瑞薩FPB-RA6E2,在Windows環(huán)境的Zephyr-RTOS安裝教程
深度技術(shù)解析nRF Connect SDK裸機(jī)選項(xiàng)方案
深度技術(shù)解析低功耗藍(lán)牙廠商nordic的nRF Connect SDK裸機(jī)選項(xiàng)方案
Nordic無線開發(fā)---nRF Connect SDK 3.0更新版的安裝入門介紹
重磅發(fā)布 | Zephyr SDK Glue v0.6.0 發(fā)布
全網(wǎng)最全學(xué)習(xí)Zephyr開發(fā)教程資料匯總-從基礎(chǔ)文檔視頻到上手實(shí)操示例
使用Percepio View免費(fèi)跟蹤工具分析Zephyr應(yīng)用
索尼ILX-LR1相機(jī)遠(yuǎn)程遙控SDK V1.13.00下載教程
使用FX3 SDK發(fā)布源代碼是否違反許可?
使用Tracealyzer調(diào)試Zephyr中的優(yōu)先級反轉(zhuǎn)
Zephyr SDK Glue v0.5.0 發(fā)布
評論