- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 rust nusb读写winusb的demo
/ 初始化包含 0,1,2,3 的字节向量。nusb提供的例子在windows电脑上跑不起来, 各种报错,上面的例子亲测可用。
2025-06-04 11:03:04
365
原创 关于Clang多线程编译输出的信息丢失彩色
如果是gcc的编译器, 只需要使用 fcolor-diagnostics 加入到编译器的flag里面即可;但是对于clang 是不行的, 经过不断测试,必须同时启用 -fansi-escape-codes -fcolor-diagnostics 才能正确输出彩色信息。写好cmake后, 直接make, 单线程编译颜色是正常的,如果用 make -j 就会发现编译输出的信息和相互叠加,变得很错乱。如果强行进行整理, 使用 make -j --output-syn, 那么输出信息就为单色了。
2025-03-14 16:25:48
84
原创 ARM单片机固件 链接出来的bin很大
经过对比hex里面的数据,发现数据并不是连续的, 一般来说,数据只要不连续,强制转bin的时候,会把中间不连续的部分全部填充为0x00或者0xff。但是我的并不是这个问题, rom为1M且连续,经过分析发现,竟然有一部分全是为0的数据被打包到RAM区域的地址。周所周知,RAM区域的数据打包进固件是无意义的, 因为单片机掉电之后RAM就会消失。编译出来的固件发现hex大小还在某个范围内,但是bin很大,比如有100多M, 一般来说碰到了链接问题。
2024-11-12 16:59:31
378
原创 关于单片机llvm(clang)如何从串口实现printf
但是程序中如果使用了printf函数,那么编译出来的固件会变大8K左右,这对于小容量单片机很不友好,一种可行的方法是自己编写一个简单的printf函数,只实现必要的%s %d,这样会显著减小占用rom。但是这种通过vsnprintf函数间接实现的方案,在一些平台是可以的,一些平台会出错,原因是不定参数不能二次传递。每个平台实现printf的形式大同小异,基本是要在程序里面写一个函数,可能还需要增加一些编译的设置选项。对于一个平台的熟悉,我一般先调试点灯,之后会是串口,再之后就要实现从串口实现printf。
2024-08-24 11:44:24
254
2
原创 AD中设置pcb元器件字体大小
在画板的过程中, 总免不了修修改改,但是有一个问题会困扰初学者, PCB中文字大小一旦和系统默认值不一样【AD默认字体比较大,对于有些板子,必须修改丝印文字大小】, 就很可能不得不频繁的修改字体大小,心力交瘁!按照下面的就可以设置默认字体大小了...
2021-03-15 14:51:16
13840
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人