跳至主要內容
HalfSweet's Blog

HalfSweet's Blog

Try to create some value.

为什么我对第三代郊狼失望

最近第三代郊狼开始内测了,作为一名电子爱好者,自然不能错过这个机会。于是我以原价 398 元的主机,以及 128 元两个智能按钮的价格,购买了一套第三代郊狼。


HalfSweet大约 8 分钟posts碎碎念郊狼
嵌入式中的 CI/CD

对于传统的嵌入式开发来说,我们一般常用的IDE都是诸如Keil、IAR等。这些IDE在方便了我们的开发的同时,也存在很多问题,例如在之前Keil-MDK5是不能跨平台的,仅限在Windows平台运行,并且它的授权也是一个老大难的问题。这样我们在团队协作的时候往往就会遇到很多问题,无法像是互联网的开发那样有一套完整的CI/CD流程。但是MDK6的更新解决了这个问题,第一它是跨平台的,这样在Windows、Linux以及MacOS上都能运行;并且也支持了很多命令行的操作,避免了繁琐的GUI操作,这样也更有利于自动化脚本的编写。


HalfSweet大约 5 分钟单片机Air001合宙CI/CD
使用 Clion 来进行 Air32 的开发

在上几篇文章中,我们将 HAL 库移植给了 Air32,但是我们的开发环境还是使用的 Keil,这样就会导致一些问题,比如 Keil 的代码提示不够友好,而且 Keil 的代码补全也不够完善,因此我们可以使用一个更好的开发环境,比如 Clion。


HalfSweet大约 3 分钟单片机Air32合宙Clion
Air32 的 HAL 改造——适配 MCO

上篇文章 中,我们把 HAL 库移植给了 Air32,那现在让我们尝试添加一些 HAL 库特有的功能吧,比如这篇文章中描述的MCO


HalfSweet大约 3 分钟单片机Air32合宙MCO
发挥全部实力!Air32 在 HAL 库环境下运行最高主频

最近打算把 Air32 也吃上 Arduino,发挥全部性能,就不用像是 Air001 那样束手束脚了,但是问题是 Arduino 的库是基于 HAL 的,那要用上 Arduino 就必定得先适配 HAL 库,那我们就来先尝试在 HAL 下让 Air32 跑到最高主频吧。


HalfSweet大约 6 分钟单片机Air32合宙超频
更现代的开发方式?使用 MDK6 进行开发

今日,在千呼万唤中,Arm 的 MDK6 桌面端终于出来了,本想作为第一批吃螃蟹的开发者,但是当时 Air32 和 Air001 的烧录均有问题,最后在 Arm 官方的支持下,终于可以正常使用了,那么现在我们就来尝试一下。


HalfSweet大约 2 分钟单片机Air001Air32合宙
更高效的日志查看方式——使用SEGGER-RTT

在日常的开发中,我们免不了使用各种各样的日志打印方式,使用调试器固然好用,但是无法直接打印局部变量以及会打断整个运行状态。并且对于众多Arduino的用户来说,直接打印日志显然是更直观的做法。但是直接使用串口打印的话需要一定的资源,并且速度会稍慢,并且可能会占用一个串口,对于资源就不多的MCU,我们有没有更方便的方法呢?


HalfSweet大约 3 分钟单片机Air001合宙日志
不服来跑个分?将 CoreMark 移植到 STC 上试试

最近维护的 Air001 准备上线了,为了衬托出其强大的性价比,因此我想来做点缺德的事,让我们来和同样以高打性价比的 STC 系列单片机来对比下 CoreMark 的跑分吧,本文将会详细介绍移植过程以及跑分结果。测试的 MCU 为降龙棍 STC32G12K128打狗棒 STC8H8K64U

通用,本文同样适用于 Arm-Cortex M 架构的 MCU。


HalfSweet大约 5 分钟单片机STC32STC8嵌入式CoreMark
在嵌入式设备上使用fmtlib

众所周知,在c++20以上的标准已经支持了std::format进行格式化输出,不过显而易见,嵌入式领域想要得到支持显然遥遥无期。但是我们已经厌倦了使用sprintf等方式来格式化字符串,c++的流特性又显得不够优雅,怎么才能用上类似于Python中format这样的方式来格式化并输出想要的字符串呢。


HalfSweet大约 5 分钟postsfmtlib嵌入式ESP8266ESP32ArduinoPlatformIOESP-IDF
基于conda进行手动配置novelAI

最近大家应该都玩过novelAI了,出来的图片质量都非常棒,但是b站大佬给的配置只是打包了的bat文件,但是这显然不符合我们的折腾精神,于是我们来尝试使用conda来进行纯手工配置。


HalfSweet大约 6 分钟AI人工智能novelAIconda