- 博客(12)
- 收藏
- 关注
原创 zephyr邪修笔记(9)最简化自定义板子-定制化第一步
本文介绍了将Zephyr RTOS开发板转为产品板的调试适配过程。重点讲解了如何自定义生产板的硬件描述,包括建立规范的文件结构、准备硬件描述文件(特别是DTS文件)以及调用自定义板描述文件的方法。文章指出可以通过设置BOARD_ROOT参数来指定自定义板路径,并强调遵循Zephyr的文件结构规范是关键。针对不同芯片型号和封装,建议直接引用Zephyr已有的DTSI文件,简化开发流程。
2026-04-19 21:39:13
322
原创 zephyr邪修笔记(8)CH32V003的flash和debug
本文介绍了在国产信创平台(华为L540麒麟9000c+麒麟V10)上搭建CH32V003开发环境的完整流程。重点解决了两个核心问题:1)使用minichlink烧录时修正westflash脚本的内存偏移地址错误;2)编译适配arm64架构的riscv-openocd-wch调试工具。详细说明了从源码编译minichlink烧录工具、修改zephyr的westflash配置参数,以及编译安装支持WLinkE的openocd调试工具的完整步骤。最终实现了在zephyr环境下对CH32V003的完整开发支持,包括
2026-03-18 21:07:17
481
原创 zephyr邪修笔记(7)I2C总线综合应用
前面通过成功配置i2c总线并且可以扫描出总线上的设备地址后,下一步就是挂载设备和驱动设备了。对于常用的输入输出外围,zephyr已经加入了很多常见的元器件,本集就利用zephyr已经内置驱动的两个元器件来一个I2C总线的综合应用。硬件:xiao_eps32c3 + 扩展板输入:AHT20,温度湿度传感器输出:SSD1306 、SH1107单色屏三板斧开发步骤:1)hello world编译一个原版的dts2)编写overlay,调整I2C总线的配置3)overlay上挂载外围设备信息。
2026-02-28 14:15:42
587
原创 zephyr邪修笔记(6)配置I2C总线-DTS的应用案例
摘要:本文介绍了在Zephyr系统中使用I2C总线的开发流程。主要内容包括:1)通过helloworld项目生成DTS参考文件;2)在Kconfig中启用I2C驱动;3)编写overlay文件的三步法:定义aliases、设置pin-controls、配置总线参数。文章还详细说明了如何查找MCU的GPIO编码规则和YAML绑定文件,并强调了解耦设计的重要性。最终目标是实现I2C地址扫描程序,验证硬件连接、DTS配置和代码调用的正确性。开发过程中需注意查阅官方文档和源码中的绑定文件规范。
2026-02-26 16:52:55
636
原创 zephyr邪修笔记(5)麒麟OS+麒麟CPU环境下debug
本文分享了在国产麒麟OS+麒麟CPU环境下搭建ESP32开发环境的经验。主要针对openocd、npm等工具在国产平台上的适配问题,详细记录了从安装新版npm/node.js到配置xpm和openocd的完整流程。重点解决了openocd版本老旧不支持ESP32S3、依赖包冲突、xpm安装失败等典型问题,最终成功搭建了基于openocd+GDB的开发调试环境。文章为在信创生态系统中进行嵌入式开发的同行提供了实用的技术参考。
2026-02-15 10:51:16
612
原创 zephyr邪修笔记(4)再次点灯-DeviceTree
本文介绍了嵌入式开发中设备树(devicetree)的概念及其在Zephyr RTOS中的应用。通过将嵌入式开发分为业务逻辑和硬件驱动两个"事业群",devicetree作为中间目录实现了二者的解耦,使开发人员能并行工作。文章详细讲解了如何使用dtsh工具查看设备树信息,包括常用命令ls、find和tree的用法。同时介绍了开发板适配时常用的overlay方法,通过覆盖原厂配置实现最小修改量。最后以ESP32-C3开发板为例,展示了如何查询和修改设备树节点信息,为嵌入式开发者提供了实用的
2026-02-05 20:39:58
649
原创 zephyr邪修笔记(3)定制docker镜像
zephyr和其他插件都是在不断的升级的,所以docker镜像内容也要同步升级。zephyr的开发环境用的docker技术就为我们提供一个非常方便、干净、互不影响的开发环境。行41:引用一个基础linux环境,用的是debian,这里docker地址换成内网正经镜像的地址就行。行112 -行137 docker环境做一些基本设置,建立文件夹等等 这里也不用动。完事剩下的就是安装vscode server和其他插件,这里没啥特别了。行77-行105 是给docker里环境装一些依赖包。
2026-02-04 11:29:42
68
原创 zephyr邪修笔记(2)点灯
摘要:本文详细介绍了使用VSCode连接Docker容器进行Zephyr开发环境的配置流程。首先通过Remote-SSH插件连接本地Docker容器(端口2222),然后加载容器内的vscode.workspace文件建立工作区。文章重点说明了开发环境的目录结构,包括/workspace项目代码和/opt/toolchains/zephyr源代码的用途,并介绍了使用west工具进行代码编译的具体命令参数(如-palways清理编译、-b指定开发板等)。最后指出编译生成的zephyr.bin和zephyr.e
2026-02-04 10:38:10
688
原创 zephyr邪修笔记(1)配置开发环境
基本的开发思路是用docker建立一个remote ssh 开发环境镜像,在本地机上用vscode、clion这些IDE远程去开发环境上。考虑用docker主要就是这个开发环境干净、一致性和稳定性都挺不错的,升级也方便,可以部署多个版本的zephyr在一台机器上。远程开发也相当的方便。
2026-02-03 17:53:01
619
原创 全志T113s3主线linux开发(0)--基础准备
嵌入式Linux设备的启动大概是三步:1)启动芯片+内存:常见的是Uboot,不过全志的Uboot主线对SPI NAND 不太友好,用TF卡就方便。对于T113S芯片,推荐使用Awboot,简陋但快速。开发阶段用这个就方便好多,对SPINAND支持也方便。2)启动linux内核:主线内核以下通篇都用6.13以上的内核。对比tina5.0还在用5.4 ,主要是性能、安全上有变化。6.0以上内核在devicetree的编写具体格式上有了变化,网上大量tina5.0和5.4内核的编写方式不适用。
2025-04-29 11:39:08
2002
原创 MacOS +VScode 环境下编译GD32 embedded builder HAL 库(点灯+hello world)待续
前文已挖坑,GD32 embedded builder 图形配置和自动生成代码是一个空壳框子。不能干任何事情。包括了最简单的点灯和串口print个“hello world”都不行。所以开始来填坑了。如果不知道怎么配置请看这里MacOS +VScode 环境下搭建GD32 embedded builder HAL 库环境(空白项目)-CSDN博客。
2024-09-09 12:06:26
2302
1
原创 MacOS +VScode 环境下搭建GD32 embedded builder HAL 库环境(空白项目)
指向的文件是/firmware/cmsis/inc/gd32e23x.h。/firmware/cmsis/gcc_startup/startup_gd32e23x.S这个文件的名字要重命名为。注意的是12.2之后的安装路径跟老版有差异,需要自己手动改一下名字在黏贴复制调整一下。没错,就是大写S扩展名改为小写s,不然makefile 里面的 ASM路径会抓不到,也会ld阶段会报错。进入VSCODE,打开工作目录后,就可以看到文件了。这是因为用了ARM GCC 12.2的原因,加了个什么机制的。
2024-09-07 07:35:14
3289
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅