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

清單倉庫
ZSG同時作為Zephyr的清單倉庫,關聯獲取Zephyr主倉庫,并獲取已驗證的Zephyr資源,與大多數Zephyr應用程序和實例兼容。ZSG構建工作空間的順序與通常的Zephyr工程有所不同,Zephyr工程是Zephyr的主倉庫去獲取soc的驅動文件以及各種已授權的第三方軟件庫,驅動抽象層包含在Zephyr主倉庫中。ZSG由自己作為工作空間構建的起點,去獲取Zephyr主倉庫以及所需要的第三方軟件庫,HPMicro驅動抽象層文件包含于ZSG之中。

Zephyr版本
ZSG目前在Zephyr v3.7.0的LTS上進行增量開發并長期維護。ZSG所綁定的Zephyr版本會隨著新的LTS版本發布而更新。
Zephyr third party
ZSG引入來自于Zephyr的第三方庫,例如CANOpenNode、Lvgl、Fatfs。除此之外,還包含由HPMicro開發的額外的庫和驅動程序,如SDCard。
集成CherryUSB
除實現Zephyr的USB驅動(UDC), ZSG還提供了CherryUSB協議棧和HPMicro產品的集成,幫助用戶開發USB HOST和DEVICE。
可拓展性
ZSG支持用戶自制組件集成,可用于各種規模和復雜程度的項目和應用。
提供簡潔目錄
Zephyr作為一個大型的開源項目,其中的代碼量巨大,各廠商為自己的芯片的特性加入了繁多的代碼,這對于單獨的某款芯片或者開發板,是非必要的。Zephyr的芯片描述文件繁多,分散于不同的文件夾中,開發者使用起來需要分辨文件的歸屬,這加大了開發的門檻。ZSG提供了這樣一種機制避免上述的問題,先楫芯片對于Zephyr的開發文件單獨成庫,減小了下載的代碼量,能夠做到文件一目了然。
開源
ZSG同Zephyr一樣,作為開源軟件發行,遵循Apache-2.0 License。
支持的開發板
- HPM6750EVK2
- HPM6800EVK
提供的主要功能
對以下組件和驅動進行了適配
- 通信外設:UART,I2C,SPI,PWM,UDC,Ethernet,can
- 模擬外設:adc12,adc16
- 存儲器外設:sdhc
- 圖形外設: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
開發環境
推薦使用ubuntu系統進行工程構建、編譯以及燒寫,windows系統進行代碼編寫以及串口打印查看
若需要支持在Linux與Windows之間的文件共享以及編輯,請在Linux設備上適當地安裝和配置samba、vim等常用軟件。
Ubuntu開發環境搭建
- 推薦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
確認工具版本最低等級,主要為cmake,dtc的版本,版本不夠需要升級。
?CMake
?3.20.5
?Python
?3.8
?Devicetree compiler
?1.4.6
構建工作環境
- 安裝west,將~/.local/bin加入bashrc,確保terminal在啟動時PATH含有該路徑
pip3install--user-Uwest
echo'export PATH=~/.local/bin:"$PATH"'>>~/.bashrc
source~/.bashrc
- 創建${workspace}目錄,獲取源代碼
mkdir${workspace}
cd${workspace}
west init-mhttps://github.com/hpmicro/zephyr_sdk_glue.git--mrmain
- 獲取所需倉庫的源代碼,默認從github獲取,需要切換到國內源,請輸入第一條指令
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相關補丁
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
推薦使用源碼編譯,使用默認安裝路徑/usr/local/bin/openocd
下載鏈接為:https://github.com/hpmicro/riscv-openocd/releases/tag/hpm_xpi_v0.2.0
解壓后,請將openocd路徑放置在/usr/local/bin/openocd,以便腳本調取
工程編譯
查看工程
- 查看支持的硬件設備
west boards|grephpm
編譯samples
編譯hpm6750evk2的button sample,build目錄可以放置在workspace的任意地方, 推薦放在zephyr的目錄下。
?-p選項, always重新編譯, auto增量編譯。
cd${workspace}/zephyr
west build-palways-bhpm6750evk2 samples/basic/button
下載和調試
1、固件燒錄
west flash
2、固件調試
west debug
修改軟件配置
zephyr通過Kconfig系統配置軟件選項,通過圖形化界面修改
west build-tmenuconfig
-
嵌入式
+關注
關注
5143文章
19567瀏覽量
315609 -
SDK
+關注
關注
3文章
1068瀏覽量
47822 -
先楫半導體
+關注
關注
10文章
250瀏覽量
2607
發布評論請先 登錄
使用Percepio View免費跟蹤工具分析Zephyr應用

索尼ILX-LR1相機遠程遙控SDK V1.13.00下載教程

使用FX3 SDK發布源代碼是否違反許可?
使用Tracealyzer調試Zephyr中的優先級反轉

恩智浦分享Zephyr調試技巧
恩智浦解讀Zephyr log系統的使用 Zephyr的shell和log功能介紹

IAR正式加入Zephyr項目
時鐘配置來啦!HPMicro Tool Web v0.5.0 更新

使用MCUXpresso for VS Code插件開發Zephyr的hello world

使用MCUXPresso插件開發Zephyr
深入解析Zephyr RTOS的技術細節

評論