随笔分类 -  嵌入式开发

关于嵌入式的软件/硬件/杂谈。
摘要:原项目链接:https://www.cnblogs.com/yanye0xcc/p/16240531.html STM32F0内部Flash的限制: 1:只能2字节对齐编程,最小写入单元是2字节。 2:待写入地址的内容必须是0xFFFF,擦除后只能写一次,不支持覆盖写入。 因此tlv_block数据 阅读全文
posted @ 2025-11-21 09:58 Yanye 阅读(74) 评论(0) 推荐(0)
摘要:外壳选型 选择淘宝上面销量比较多的一款便携路由器外壳,有网口,USB-typec口,三个指示灯和一个按钮,买外壳配套送有指示灯导光柱,按钮,四个自攻螺丝和四个泡沫螺丝垫片(用于封住底部螺丝孔)。 RJ45网口内部有8根针,可以满足CAN,RS485,串口这三个接口所需的针脚,余下的两个脚用于隔离电源 阅读全文
posted @ 2025-07-11 21:20 Yanye 阅读(109) 评论(0) 推荐(0)
摘要:简单介绍 原版示例代码位于\GD32F30x_Firmware_Library_V2.2.0\Examples\SDIO,对SD卡读写,卡信息获取,切换高速模式等基本功能已经实现了,但是默认实现的传输方式为CPU轮询读写FIFO,速度偏慢;卡上电初始化部分指令未考虑到一些大容量卡首次上电忙时间过长的 阅读全文
posted @ 2025-04-04 21:04 Yanye 阅读(732) 评论(0) 推荐(1)
摘要:基本信息 单片机:GD32F303RC,运行主频:120MHz,SRAM:48KB,Flash:256KB,带单精度FPU 编译环境:ARMCC 5.06 update6 (build750) 由于iq数的底层数据类型是4字节的int32_t因此_iq30 ~ _iq1 尽管表示的精度不同,但是运算 阅读全文
posted @ 2024-04-03 22:59 Yanye 阅读(611) 评论(0) 推荐(0)
摘要:空闲态电平 SWD接口由SWCLK和SWDIO两根信号线组成,SWCLK调试器给目标芯片的时钟信号,在芯片端需要下拉;SWDIO双向数据信号,在芯片端需要上拉,上/下拉电阻的取值在100K附近即可。 上/下拉电阻取值来自PY32单片机数据手册: 在调试器端,空闲态下:SWDIO可以输出高,SWCLK 阅读全文
posted @ 2023-08-05 22:16 Yanye 阅读(10219) 评论(2) 推荐(1)
摘要:最近升级使用中的老电脑,替换下一块64GB的mSATA固态硬盘,型号:MTFDDAT064MAM-1J2,64GB MLC(可用59G), 马维尔主控,外置DDR 64MB缓存。这块固态体质还是不错的,作为系统盘使用6年下来健康度还有94%,不过容量较小,仅安装windows10-LTSC系统及配套 阅读全文
posted @ 2022-07-24 13:16 Yanye 阅读(8468) 评论(0) 推荐(1)
摘要:TLV格式简介 TLV是一种可变长格式,Type/Tag和Length自身占用的长度固定,一般为2、4字节(uint16_t或uint32_t);Length表示数据的长度,单位为字节;Value为实际携带的数据。其结构非常简单,元数据(metadata)占用较少,优点是打包解包效率高,省内存。 | 阅读全文
posted @ 2022-05-14 13:02 Yanye 阅读(612) 评论(0) 推荐(0)
摘要:删除Eclipse的Quick Access工具栏 根据当前Eclipse使用的主题,在D:\eclipse-arm\plugins\org.eclipse.ui.themes_1.2.700.v20190826-0816\css文件夹找到对应的ccs文件 我这里使用的是dark模式,则对应的文件是 阅读全文
posted @ 2021-09-22 21:51 Yanye 阅读(60) 评论(0) 推荐(0)
摘要:复制想要安装的字体,我这里选用windows里面的consolas字体,这是一种等宽字体,比较好看。进入c:\windows\fonts\目录,直接复制就行,这样复制的字体包含了Blod,regular等不同字形。 新建一个文件夹把字体粘贴进入 我这里使用的是虚拟机,通过共享盘实现的文件传递;桌面右 阅读全文
posted @ 2021-09-09 23:08 Yanye 阅读(700) 评论(0) 推荐(0)
摘要:安装SCons SCons是一种基于python比makefile更为简单便捷的自动化构建工具,可以在Linux和Windows下随意编译。由于所使用的工具链在linux下更为方便,因此我这里使用的是linux mint20系统(基于ubuntu的轻量化发行版)。 linux mint20默认已经安 阅读全文
posted @ 2021-08-23 21:19 Yanye 阅读(2578) 评论(0) 推荐(0)
摘要:本篇随笔是github项目:https://github.com/Yanye0xFF/SPIFS-V2 的文档说明部分。 设计思路 SPIFS-V2的设计理念非常简单,参考书籍中目录->内容的结构,在flash的固定区域存放创建的文件块(文件索引)结构,在剩下的区域存放数据。文件索引放在固定的区域对 阅读全文
posted @ 2021-04-04 20:34 Yanye 阅读(2675) 评论(1) 推荐(0)
摘要:01:下载必要的文件 1.1 安装java运行环境,这一步比较简单,就不细说了。 1.2 需要下载四个文件gnumcueclipse、gcc-arm-none-eabi、xpack-windows-build-tools、jlink gnumcueclipse:是在Eclipse + CDT的基础上 阅读全文
posted @ 2021-02-09 12:41 Yanye 阅读(4570) 评论(2) 推荐(3)
摘要:#include <stdio.h> #include <string.h> #include <stdint.h> #define u8 uint8_t #define u32 uint32_t #define u64 uint64_t #define MD5_DIGEST_SIZE 16 #de 阅读全文
posted @ 2021-01-06 15:02 Yanye 阅读(743) 评论(0) 推荐(1)
摘要:小端转大端: 0xAABBCCDD经过转换后变成0xDDCCBBAA;这里的操作单元是单个字节,因此转换后位序不会发生改变。 uint32_t a = 0xAABBCCDD; a = ((a & 0x000000ff) << 24 ) | ((a & 0x0000ff00) << 8) | ((a 阅读全文
posted @ 2020-11-21 22:12 Yanye 阅读(4154) 评论(0) 推荐(1)
摘要:UTF8编码转换为GB2312编码字符集时,需要明确以下两点: UTF8是编码格式,而GB2312是字符集,UTF8可以动态的表示1到6字节的编码范围,其还原后可以是双字节Unicode UTF16(USC2)字符集,也可以是四字节Unicode UTF32(USC4)字符集,四字节以上的很少用到可 阅读全文
posted @ 2020-08-28 00:10 Yanye 阅读(12318) 评论(3) 推荐(3)
摘要:声明:这只是屠龙之技,仅用作学习取余的一种实现方式(现代CPU通常已经用硬件实现了下方的算法),在实际项目中请不要使用。 static inline uint32_t mod(uint32_t dividend, uint32_t divisor) { int32_t divdlen = 31, d 阅读全文
posted @ 2020-08-17 23:45 Yanye 阅读(678) 评论(0) 推荐(0)