各位关注先楫的小伙伴们,基于Zephyr v3.7.0(LTS)版本和hpm_sdk v1.6.0版本的Zephyr SDK glue v0.5.0正式发布了。
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。
对以下组件和驱动进行了适配
提供了以下示例
推荐使用ubuntu系统进行工程构建、编译以及烧写,windows系统进行代码编写以及串口打印查看
若需要支持在Linux与Windows之间的文件共享以及编辑,请在Linux设备上适当地安装和配置samba、vim等常用软件。
安装所依赖的软件
sudo apt install --no-install-recommends git cmake ninja-build gperf \
ccache dfu-util device-tree-compiler wget\
python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file\
make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1
确认工具版本最低等级,主要为cmake,dtc的版本,版本不够需要升级。
◦ CMake
・3.20.5
◦ Python
・3.8
◦ Devicetree compiler
・1.4.6
pip3 install--user -U west
echo 'export PATH=~/.local/bin:"$PATH"' >> ~/.bashrc
source ~/.bashrc
mkdir ${workspace}
cd ${workspace}
west init -m https://github.com/hpmicro/zephyr_sdk_glue.git --mr main
west config manifest.file west_gitee.yml
west update
west zephyr-export
pip3 install --user -r ~/${workspace}/zephyr/scripts/requirements.txt
west supply
下载zephyr的编译工具,链接为:https://github.com/zephyrproject-rtos/sdk-ng/tags/
命令行安装
cd ${workspace}
wget https://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
tar xvf zephyr-sdk-0.16.5_linux-x86_64.tar.xz
cd zephyr-sdk-0.16.5
source setup.sh
推荐使用源码编译,使用默认安装路径 /usr/local/bin/openocd
下载链接为:https://github.com/hpmicro/riscv-openocd/releases/tag/hpm_xpi_v0.2.0
解压后,请将openocd路径放置在 /usr/local/bin/openocd,以便脚本调取
west boards | grep hpm

编译hpm6750evk2的button sample, build 目录可以放置在workspace的任意地方, 推荐放在zephyr的目录下。
◦ -p 选项, always 重新编译, auto 增量编译。
cd ${workspace}/zephyr
west build -p always -b hpm6750evk2 samples/basic/button
1、固件烧录
west flash
2、固件调试
west debug
zephyr通过Kconfig系统配置软件选项,通过图形化界面修改
west build -t menuconfig

全部0条评论
快来发表一下你的评论吧 !