随笔分类 - Embedded
摘要:对比可见 .bin <-> .hex 时,是在 .bin 数据基础上附加了说明字段而已 from: 常规:英特尔十六进制文件格式 (arm.com) 参考:Hex文件格式:一个详细的指南-物联沃-IOTWORD物联网
阅读全文
摘要:项目地址:skullboyer/TLV (github.com) 介绍 TLV节点说明,tag字段高位表示有无嵌套 + + | Single | Multi | + + | TLV | TL TLV TLV | TL TL TLV TLV | | | | | 0xxx_xxxx | 1xxx_xxx
阅读全文
摘要:From:现代软件架构:事件驱动设计遇上事件溯源 (qq.com) 在当今的软件领域中,做出正确的架构决策对于确保性能、可扩展性、可维护性和整体成功至关重要。在众多模式中,事件驱动架构(EDA)和事件溯源(ES)作为复杂软件系统最受欢迎的两种选择之一。虽然可以单独使用EDA或ES,但它们的结合可能效
阅读全文
摘要:项目地址:argtable3 本地验证: 编译构建 新增验证 // examples/skull.c #include "argtable3.h" int main(int argc, char **argv) { const char* progname = "skull"; struct arg
阅读全文
摘要:来源:嵌入式C语言代码优化方案(深度好文,建议花时间研读并收藏) (qq.com) 1、选择合适的算法和数据结构 选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易
阅读全文
摘要:Hash 的核心思想在于,将输入映射到一个值域较小、可以方便比较的范围,典型的用法就是将资源紧张的设备中的不定长字符串转化为定长整数,以达到节省空间的目的 如:printf("This is a string.") => printf("0x12345678") // 理想哈希算法可将不同的字符串转
阅读全文
摘要:重定向printf int fputc(int ch, FILE *f) { /* Write a character to the USART */ USART1->DR = ch; /* Loop until the end of transmission */ while ((USART1->
阅读全文
摘要:示例C代码 // 参数远超寄存器数量 typedef struct { int Rn[100]; int pc; } reg; int framePoint(reg cpu) { return cpu.Rn[0] * cpu.pc; } int main() { reg cpu; cpu.Rn[0]
阅读全文
摘要:Options->File Type Options 红框可选择是否将指定类型的文件添加到工程 绿框可添加自定义文件类型,如汇编*.s;*.S 蓝框可新增文件类别,用于自定义文件类型 如不需将txt文件加入工程,则取消红框
阅读全文
摘要:from: C语言、嵌入式中几个非常实用的宏技巧 (qq.com) 宏打印函数 在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。 特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。 这时候我
阅读全文
摘要:SPI传输 SPI数据传输 SPI数据传输 SPI时序信号 I2C传输 2C总线寻址 UART传输 PC-UART-MCU RS-232电平转换 红外控制 红外通信 红外信号接收、放大、整形 红外控制的鱼食投喂系统 串并转换电路 串入并出 八个D触发器组成的移位寄存器 串行传输示意 其他波形动画 P
阅读全文
摘要:问题引入 多人协作开发的项目,没有统一的代码规范,那么最终的编写状态必定风格迥异,产生的结果:对内,阅读审核代码是很痛苦的;对外,公司形象就是差。 单干的项目也必须要严格按照代码规范,因为最终还是会对内和对外。 要改变一个误解的常识,代码规范并不影响代码质量,代码质量的维度可从运行稳定、执行性能、易
阅读全文
摘要:引出问题: 一个好的工程项目代码,特别是开源类的,如果能做到各种优化等级通吃,是一种非常好的工程案例,这样别人借鉴的时候,可以方便的适配到自己工程里。但实际项目中,针对一款产品代码,我们一般不会这么干,因为非常耗精力,意义也不大,一般是追求最高性能,最小代码量或者更高的稳定性,我们会选择一个合理的优
阅读全文
摘要:【来源】https://mp.weixin.qq.com/s/481H4imm73IIS1yFI7-DNA
阅读全文
摘要:【来源】https://mp.weixin.qq.com/s/TQKtEbxS8WSo3D1MecdMIw
阅读全文
摘要:1、前言 最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。例如一个进程A产生数据发给另外一个进程B,进程B需要对进程A传的数据进行处理并写入文件,如果B没有处理完,则A要延迟
阅读全文
摘要:【来源】
阅读全文
摘要:译文 NAME objcopy - copy and translate object files 概要 objcopy [-F bfdname|--target=bfdname] [-I bfdname|--input-target=bfdname] [-O bfdname|--output-ta
阅读全文