0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

移植 ZephyrRTOS 到思澈 SF32LB58 过程笔记 一

KiCad ? 来源: KiCad ? 作者: KiCad ? 2025-07-04 11:17 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

为 ZephyrRTOS 增加 SoC 支持(2) 基础框架 N32L406 的移植还没有完成,最近又开坑做思澈 SF32LB58 的移植。原因一是这个芯片带蓝牙和 2D GPU,适合做一些低功耗显示的设备,比如码表,导航设备,以及智能眼镜之类,我觉得挺有意思;另一个原因是思澈的老板也愿意支持开源,说很多芯片寄存器功能愿意开发给社区,特别是包括蓝牙的接口也愿意“以后”开放给社区对接 ZephyrRTOS 的蓝牙协议栈,所以我觉得还是可以尝试做一下。还有一个原因是他们说是愿意提供给社区开发者提供一些资金支持,但是目前看他们讨论的情况,这个资金支持倒也不能抱太大期待。先用爱发电吧。思澈的资料都可以从官方 wiki: https://wiki.sifli.com/index.html 这里下载。我先基于官方仓库https://github.com/OpenSiFli/zephyr提供的一个移植仓库开始的,但是因为代码组织和依赖的关系,我重新组织新建了仓库:manifest repo: https://github.com/iotpi/sifli-porting-templatehal module: https://github.com/iotpi/hal_sifli,主要包含芯片的 baremetal 驱动。zephyr porting: https://github.com/iotpi/sifli_zephyr,这一仓库预期是以后可以合并到 zephyr upstream,但是工作量还是很巨大,遥遥无期另外还有一个朋友完全基于官方的仓库继续修改的组织架构,放在他自己的仓库下:https://github.com/ck-telecom/zephyr-SiFli,有兴趣的朋友也可以围观。1. 芯片架构wKgZPGhnSGKAR1EEAARcslEPo4E393.png这个芯片架构还有点复杂,有三个核,分别是 HCPU, ACPU和LCPU。其中 LCPU 一般用心跑蓝牙协议栈。蓝牙协议栈还是闭源的。这里 HCPU 和 ACPU 合起来组成了 HPSYS,LCPU单独组成 LPSYS。2. 设备树(devicetree, dts)我看了 nxp 和 nordic 对于多核 MCU 架构的dts定义方式,是把所有的核定义在了一个基础 dtsi里,然后在特定的核的 dtsi 定义里再 /delete-node/ 移除掉。我现在并不明白他们为什么要这么使用,问了 zephyr 的专家,也并不确定。所以目前我使用了我自己认为更适合的方式去组织,如果后面遇到了新问题,再考虑修改这个结构。鉴于上面的芯片功能框图,我定义基础的 dts 文件:sf32lb58.dtsi,用于定义整个 SoC 共用的外设;wKgZPGhnSGKAAPL2AACbRi-PCWU027.png ?sf32lb58_hpsys.dtsi,定义 HCPU 和 ACPU 共用的 外设(内存);wKgZPGhnSGKAPl6EAAB9wKWLjDM283.pngsf32lb58_hcpu.dtsi,仅供 HCPU 访问的CPU及内存;wKgZPGhnSGKAThq7AADoXfCb3BM307.pngsf32lb58_acpu.dtsi,仅供 ACPU 访问的CPU及内存;wKgZPGhnSGKAJrfrAADjSTyhnAE618.pngsf32lb58_lpsys.dtsi,定义 LPSYS 访问的设备与内存;wKgZPGhnSGOABEXCAAAge60YxfA770.pngsf32lb58_lcpu.dtsi,定义 LCPU 相关的CPU和内存。wKgZPGhnSGOAX7-vAADlT68Ixak764.pngsf32lb586.dtsi:定义 具体 sf32lb586 特定的配置,应该主要是 合封的PSRAM 和 FLASH 的配置。sf32lb586_hcpu.dtsi:这个文件应该由板级 dts 定义包含的头文件wKgZPGhnSGOAcmH2AAAfM0XM9NY020.png同样还要定义sf32lb586_acpu.dtsi, sf32lb586_lcpu.dtsi注意,上面的截图都只作为参考,最终编译有问题或者别的架构原因,上面的内容还是会变更。下期继续填坑。文章里如果出现错误,或者您有什么建议,欢迎留言指正!感谢!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    116

    文章

    6092

    浏览量

    174394
  • 移植
    +关注

    关注

    1

    文章

    401

    浏览量

    28742
  • RTOS
    +关注

    关注

    24

    文章

    851

    浏览量

    121320
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    移植 ZephyrRTOS SF32LB58 过程笔记之二 建立板级定义

    ZephyrRTOS 的编译,是从指定板子 (board) 标识符开始的。所以为了编译测试我们的定义和代码,就必须先定义对应的板子。目前我这里使用的是 SF32LB58 devkit开发板,所以
    的头像 发表于 07-05 11:20 ?1084次阅读
    <b class='flag-5'>移植</b> <b class='flag-5'>ZephyrRTOS</b> <b class='flag-5'>到</b><b class='flag-5'>思</b><b class='flag-5'>澈</b> <b class='flag-5'>SF32LB58</b> <b class='flag-5'>过程</b><b class='flag-5'>笔记</b>之二 建立板级定义

    LB/LMB/MB/HB 分集接收模块 skyworksinc

    /HB 分集接收模块真值表,LB/LMB/MB/HB 分集接收模块管脚等资料,希望可以帮助广大的电子工程师们。
    发表于 05-16 18:32
    <b class='flag-5'>LB</b>/LMB/MB/HB 分集接收模块 skyworksinc

    Sky5? LB / MB / HB 分集接收模块 skyworksinc

    ,Sky5? LB / MB / HB 分集接收模块真值表,Sky5? LB / MB / HB 分集接收模块管脚等资料,希望可以帮助广大的电子工程师们。
    发表于 05-15 18:33
    Sky5? <b class='flag-5'>LB</b> / MB / HB 分集接收模块 skyworksinc

    Sky5? LB/MBV/HB 分集接收模块 skyworksinc

    ? LB/MBV/HB 分集接收模块真值表,Sky5? LB/MBV/HB 分集接收模块管脚等资料,希望可以帮助广大的电子工程师们。
    发表于 05-12 18:32
    Sky5? <b class='flag-5'>LB</b>/MBV/HB 分集接收模块 skyworksinc

    UHV-615全自动SF6密度继电器校验仪操作使用

    SF6开关是电力系统广泛使用的高压电器SF6开关的可靠运行已成为供用电部门最关心的问题之SF6气体密度继电器是用来监测运行中SF6开关本
    发表于 05-09 17:48 ?0次下载

    Sky5? LB/MLB/MB/HB 分集接收模块 skyworksinc

    ,Sky5? LB/MLB/MB/HB 分集接收模块真值表,Sky5? LB/MLB/MB/HB 分集接收模块管脚等资料,希望可以帮助广大的电子工程师们。
    发表于 05-07 18:31
    Sky5? <b class='flag-5'>LB</b>/MLB/MB/HB 分集接收模块 skyworksinc

    Sky5? LB/MB/HB 分集接收模块 skyworksinc

    ? LB/MB/HB 分集接收模块真值表,Sky5? LB/MB/HB 分集接收模块管脚等资料,希望可以帮助广大的电子工程师们。
    发表于 04-11 18:34
    Sky5? <b class='flag-5'>LB</b>/MB/HB 分集接收模块 skyworksinc

    Sky5? LB/MB/HB LNA Bank 模块 skyworksinc

    资料,Sky5? LB/MB/HB LNA Bank 模块真值表,Sky5? LB/MB/HB LNA Bank 模块管脚等资料,希望可以帮助广大的电子工程师们。
    发表于 04-11 18:31
    Sky5? <b class='flag-5'>LB</b>/MB/HB LNA Bank 模块 skyworksinc

    LB9-110W2(LB9-126W2)电流互感器

    LB9-110W2(LB9-126W2)电流互感器供60~145KV、50~60Hz 电力系统作电流、电能测量及继电保护用 产品概述 该系列电流互感器包括LB-60W2、LB
    发表于 04-01 10:36

    Nordic-RT-Thread5.1.0移植笔记

    Nordic-RT-Thread5.1.0移植笔记
    的头像 发表于 10-16 08:09 ?1385次阅读
    Nordic-RT-Thread5.1.0<b class='flag-5'>移植</b><b class='flag-5'>笔记</b>

    【GD32 MCU 移植教程】9、从 STM32F10x 系列移植 GD32F30x 系列

    对比、外设及性能对比以及从 STM32F10x 移植 GD32F30x 的移植步骤,旨在让开发者能够快速从STM32F10x 移植 GD
    的头像 发表于 09-07 09:57 ?2056次阅读
    【GD32 MCU <b class='flag-5'>移植</b>教程】9、从 STM32F10x 系列<b class='flag-5'>移植</b><b class='flag-5'>到</b> GD32F30x 系列

    【GD32 MCU 移植教程】5、GD32E230 系列移植 GD32F330 系列

    移植 GD32F330 系列的需求,本文 档专门针对既有的 GD32E230 代码如何移植 GD32F330 做个详细的介绍;
    的头像 发表于 09-03 10:05 ?2730次阅读
    【GD32 MCU <b class='flag-5'>移植</b>教程】5、GD32E230 系列<b class='flag-5'>移植</b><b class='flag-5'>到</b> GD32F330 系列

    【GD32 MCU 移植教程】2、从 GD32F303 移植 GD32F503

    GD32E503 系列是 GD 推出的 Cortex_M33 系列产品,该系列资源上与 GD32F303 兼容度非常高,本应用笔记旨在帮助您快速将应用程序从 GD32F303 系列微控制器移植 GD32E503 系列微控制器。
    的头像 发表于 08-31 09:36 ?2290次阅读
    【GD32 MCU <b class='flag-5'>移植</b>教程】2、从 GD32F303 <b class='flag-5'>移植</b><b class='flag-5'>到</b> GD32F503

    SF6泄漏在线监测报警系统在10kV1000kV高压开关室中的应用

    当使用以SF6气体为绝缘和灭弧介质的室内开关在使用过程中发生泄漏时,泄漏出来的SF6气体及其分解产物会往室内低层空间积聚,造成局部缺氧和带毒. SF6泄漏在线监测报警系统室时监测环境中
    的头像 发表于 08-30 10:17 ?1037次阅读
    <b class='flag-5'>SF</b>6泄漏在线监测报警系统在10kV<b class='flag-5'>到</b>1000kV高压开关室中的应用

    【GD32 MCU 移植教程】1、从 GD32F10x 移植 GD32F30x

    应用程序移植新的微控制器。本应用笔记旨在帮助您快速将应用程序从 GD32F10x 系列微控制器移植 GD32F30x 系列微控制器。
    的头像 发表于 08-30 09:52 ?2377次阅读
    【GD32 MCU <b class='flag-5'>移植</b>教程】1、从 GD32F10x <b class='flag-5'>移植</b><b class='flag-5'>到</b> GD32F30x