摘要: 在嵌入式Linux、ARM架构等资源受限的生产环境中,进程崩溃后拿到的core文件往往不堪用:要么因Flash空间不足生成截断的空文件,要么栈溢出直接冲垮了栈帧结构,gdb加载后全是乱码和无效问号,根本无法回溯调用路径。这种场景下,绝大多数人会陷入“重现场景难、加日志代价高”的死循环,却忽略了内核早 阅读全文
posted @ 2026-09-09 14:25 北洋水师 阅读(20) 评论(0) 推荐(0)
摘要: 在 ARM-Linux 嵌入式开发中,很多人都踩过这个坑:程序跑几小时甚至几天后突然崩溃,日志栈回溯指向一个完全不相关的函数,排查几天找不到根因。最大的误区就是误以为“数组越界一定会立即崩溃”,顺着崩溃瞬间的日志现场反推,结果在错误方向上越走越远。例如:我们会通过注册信号处理函数 如,SIGSEGV 阅读全文
posted @ 2026-08-28 10:56 北洋水师 阅读(24) 评论(0) 推荐(0)
摘要: 在ARM-Linux开发中,日志是我们定位问题最直接的抓手。很多工程师花大量精力优化日志内容、增加打印节点,却常常忽略了支撑所有日志分析的核心基础——时间戳。一旦时间戳出问题,你记录的事件内容再完整,也根本无法还原真实的程序执行顺序,排查工作直接陷入僵局。 今天就从工程实战角度,把嵌入式日志时间戳最 阅读全文
posted @ 2026-08-27 11:01 北洋水师 阅读(23) 评论(0) 推荐(0)
摘要: 当你能"当家做主"的时候,你如何选择 Linux 平台? 做嵌入式久了,很容易陷入路径依赖。板子现成的,SDK供应商给的,方案领导定的——我们只需要在框架里把功能做出来。可真有一天选型权交到你手上,你会不会反而无从下手? 是闭着眼按性价比挑?找熟悉的供应商要方案?还是丢给 AI 让它帮你选? 无论交 阅读全文
posted @ 2026-08-21 15:44 北洋水师 阅读(18) 评论(0) 推荐(0)
摘要: 做底层开发的同学应该都有同感:一个函数刚写出来的时候清爽得很,三五个参数一目了然。可随着需求迭代,参数越加越多,最后看着一排 int do_action(int a, int b, int c, int d, int e) 的调用,连哪个参数是什么意思都分不清了。 今天分享一个我在项目中反复用到的小 阅读全文
posted @ 2026-08-21 10:41 北洋水师 阅读(15) 评论(0) 推荐(0)
摘要: 交叉编译“管家” configure 在对各种开源库执行交叉编译时,configure 通过环境变量或参数,告诉构建系统‌编译器是谁‌、‌目标平台是谁‌、‌库和头文件在哪里‌。堪比交叉编译的省心“管家”。 使用三部曲 一. 定义全局变量(避免重复输入) 先在终端里定义好工具链路径、前缀、安装目录等变 阅读全文
posted @ 2026-08-20 13:43 北洋水师 阅读(16) 评论(0) 推荐(0)
摘要: 背景介绍: 在进行新平台的选用时,我们需要评估平台的网络传输性能,如连接稳定性,数据传输速率等。 iperf‌ 是一款广泛使用的网络性能测试工具,主要用于测量 TCP 和 UDP 带宽、延迟、抖动和数据包丢失。 iperf使用:(以iperf3 版本为例) windows/linux 侧直接安装服务 阅读全文
posted @ 2026-08-19 11:33 北洋水师 阅读(27) 评论(0) 推荐(0)
摘要: 交叉编译: 示例版本为:log4cpp-1.1.4.tar.gz 交叉编译环境准备 (1)解决配置脚本兼容性问题 老旧版本的 config.sub 和 config.guess可能无法识别新的交叉编译器名称或目标架构。建议替换 log4cpp 目录中以上文件为最新版本的配置文件。 [1] 安装 li 阅读全文
posted @ 2026-08-18 17:09 北洋水师 阅读(11) 评论(0) 推荐(0)
摘要: MQTT: 使用特点 (1)使用原生Socket的场景 通信拓扑极简‌:仅两个设备点对点直连,完全不需要一对多、多对多的消息分发。 极致性能需求‌:要求毫秒级低延迟、无中间代理转发,需要自定义私有二进制协议。 传输大体积数据‌:需要传输大文件、流媒体等大数据量内容,不受MQTT消息大小限制。 学习或 阅读全文
posted @ 2026-08-13 08:58 北洋水师 阅读(11) 评论(0) 推荐(0)
摘要: 背景: 在制作SD启动卡时,如果有不同大小的内存卡,如2G,4G,8G,16G等,使用fdisk的某些旧版本可能遇到分区失败问题。此时可尝试使用 parted 工具进行分区。尤其是在某些早期版本的linux 系统中(如centOs6),fdisk,sfidsk 的使用受限时,生产环境中要求使用既有环 阅读全文
posted @ 2026-08-13 08:39 北洋水师 阅读(10) 评论(0) 推荐(0)
window.addEventListener('load', function() { if (window.hljs && window.hljs.lineNumbersBlock) { document.querySelectorAll('pre code').forEach((block) => { hljs.lineNumbersBlock(block); }); } });