各位关注先楫的小伙伴们,基于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

-
嵌入式
+关注
关注
5186文章
20146浏览量
328816 -
SDK
+关注
关注
3文章
1093浏览量
51199 -
先楫半导体
+关注
关注
12文章
270浏览量
3140
发布评论请先 登录
深度技术解析低功耗蓝牙厂商nordic的nRF Connect SDK裸机选项方案
Nordic无线开发---nRF Connect SDK 3.0更新版的安装入门介绍
重磅发布 | Zephyr SDK Glue v0.6.0 发布
全网最全学习Zephyr开发教程资料汇总-从基础文档视频到上手实操示例
使用Percepio View免费跟踪工具分析Zephyr应用
使用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

Zephyr SDK Glue v0.5.0 发布
评论