归档

2025 年 05 月

2025-05-06

本文全面介绍了CAN总线的基础知识。内容涵盖了其拓扑结构、信号表示、多主通信和非破坏性位仲裁等特点。文章详细解析了数据帧、遥控帧、错误帧等帧结构,并讲解了节点的错误处理机制。最后还介绍了Linux下的SocketCAN及其命令行工具和python-can库的使用。

2025 年 04 月

本文解析了大模型参数规模与内存占用的关系。内容解释了参数单位(B/M)的含义,并详细说明了float32、float16、int8等不同数据类型下每个参数的内存大小。文章以7B模型为例进行计算,并列举了GPT-3、LLaMA-2和DeepSeek等主流模型的参数规模及常用数据类型。

2025 年 03 月

2025-03-11

本文介绍了如何编译BusyBox并将其作为根文件系统,通过QEMU运行自定义编译的Linux内核。内容涵盖了下载BusyBox源码、配置静态编译、解决编译错误、打包生成initramfs.cpio.gz文件,以及最终使用QEMU加载内核和根文件系统的完整命令和步骤。
本文介绍了从Git下载、配置、编译并运行最新Linux内核的全过程。内容涵盖了使用`git clone`获取源码,通过`make menuconfig`进行配置,以及交叉编译arm64内核的步骤。文章还解决了内核启动时因缺少根文件系统而导致的"Kernel panic"问题,并演示了如何制作并挂载一个简单的initramfs。

2025 年 02 月

本文深入探讨了Linux中的各种锁机制。内容从并行性、同步与互斥等基本概念入手,详细解析了自旋锁、互斥锁、读写锁和RCU锁的原理与适用场景。文章还区分了可重入与不可重入锁,并讲解了条件变量如何与互斥锁结合使用,以生产者-消费者模型为例进行了说明。

2025-02-19

本文介绍了FreeRTOS中用于多任务同步的几种锁机制。内容涵盖了用于保护共享资源的互斥锁(Mutexes),其特点是支持优先级继承以避免优先级反转。此外,还讲解了用于简单同步的二值信号量、控制资源数量的计数信号量以及用于复杂状态管理的事件组。

2024 年 08 月

本文介绍了在Git中配置多个用户身份的简洁方法。通过在主配置文件`~/.gitconfig`中使用`includeIf`指令,可以根据仓库所在的目录路径,条件性地加载不同的子配置文件,从而为不同工作区自动切换用户名和邮箱。

2024 年 07 月

本文介绍了使用acme.sh和DNSPod API为腾讯云域名自动申请和续签SSL证书的方法。内容涵盖安装acme.sh、获取并配置DNSPod密钥、通过DNS方式签发泛域名证书,以及最后将证书安装到Nginx并配置自动重载的完整流程。
本文介绍了如何重置FreshRSS的用户密码。由于密码Hash存储在配置文件中,可通过Python的`bcrypt`库生成一个新的Hash值,替换掉`<freshrss-root>/data/users/<user-name>/config.php`文件中的旧`passwordHash`,即可用新密码登录。

2024 年 04 月

本文全面介绍了ARM Cortex-M3处理器的基础知识。内容涵盖其高性能、先进中断处理、低功耗等特性,并详细讲解了寄存器组、操作模式、嵌套向量中断控制器(NVIC)、存储器映射以及可选的MPU等核心概念,为嵌入式开发者提供了系统性的入门指南。
上一页 下一页