<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BigALiang的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/BigALiang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BigALiang]]></copyright><item><title><![CDATA[系统驱动移植]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/158388542</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/158388542</guid><author>BigALiang</author><pubDate>Tue, 10 Mar 2026 16:29:03 +0800</pubDate><description><![CDATA[1.bootargs：在uboot中设置环境变量setenv bootargs 'root=/dev/mmcblk0p1 rw console=ttyS0,115200'，内核启动时会读取该参数，确定根文件系统位置、串口控制台、读写权限等。2.设备树：uboot将设备树二进制文件（dtb）加载到指定内存地址，启动内核时传递dtb地址，内核通过dtb识别用剑拓扑和外设信息。Linux内核是通用型内核，不直接绑定具体硬件，需要uboot传递硬件信息和系统配置才能让内核适配当前嵌入式硬件并正常启动。]]></description><category></category></item><item><title><![CDATA[Work to project]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/158569145</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/158569145</guid><author>BigALiang</author><pubDate>Mon, 02 Mar 2026 10:50:27 +0800</pubDate><description><![CDATA[围绕“嵌入式项目该怎么设计才更有竞争力”展开。“智能垃圾管理系统”作为典型案例，把技术选型、系统架构、真实痛点和商业价值串了起来。比如“垃圾桶”，前500名和后500名就像垃圾分布不均——有人的地方垃圾多，没人的地方堆着浪费，需要。，彻底替代传统“人盯桶”的低效模式。更重要的是，嵌入式开发的项目不是为了炫技，而是要体现你的：从C语言纯软件 → 裸机硬件 → 带系统的复杂项目，层层递进，才显得真实可信。。从实际场景出发，一步步拆解如何构建一个完整的物联网系统。]]></description><category></category></item><item><title><![CDATA[Linux驱动复习小记]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/158350704</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/158350704</guid><author>BigALiang</author><pubDate>Tue, 24 Feb 2026 16:46:03 +0800</pubDate><description><![CDATA[传统使用特定寄存器，现代基于设备树的方式 Uboot会将bootargs等参数填充到设备树的chosen结点中，然后将dtb的内存地址传递给内核。内核启动时解析设备树获取信息。目的：让内核知道它运行在那种硬件上（ID或设备树） 如何启动（bootargs） 确保内核能正确识别驱动硬件。RootFS 根文件系统 内核启动后第一个挂载的系统文件，包含了必要的程序和库是用户空间的基础。3.内核裁剪：为了移除不需要的驱动/子系统，减小内核大小和启动时间。内核成功启动后挂在的第一个文件系统，是整个文件系统的起点。]]></description><category></category></item><item><title><![CDATA[C语言复习小记]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157941299</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157941299</guid><author>BigALiang</author><pubDate>Tue, 10 Feb 2026 18:49:29 +0800</pubDate><description><![CDATA[变量分为局部变量和全局变量，main（）函数里的变量只能用于main（）里，{}包围的叫代码块，代码块里的变量只能用于代码块里这个int c是一个全局变量，定义在全局局部变量只声明没赋值，值会随机。全局变量自动赋0声明一个常量，const可以声明一个常量后续无法修改这个常量但可以直接使用（只读）#define是宏定义，定义一个宏比如途中定义最大等级是一百，以后使用“max_level”时就可以使用%d，max_level这个宏的作用是在整个源文件（或包含该头文件的所有源文件）中，将所有出现的。]]></description><category></category></item><item><title><![CDATA[Day23456程序小记]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157839332</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157839332</guid><author>BigALiang</author><pubDate>Sat, 07 Feb 2026 17:38:06 +0800</pubDate><description><![CDATA[这段代码定义了一个最基础的 Linux 内核模块。当加载该模块时（]]></description><category></category></item><item><title><![CDATA[Day2345代码详解1]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157810135</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157810135</guid><author>BigALiang</author><pubDate>Fri, 06 Feb 2026 18:13:35 +0800</pubDate><description><![CDATA[【代码】Day2345代码详解1。]]></description><category></category></item><item><title><![CDATA[驱动day2kjfdkj]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157644324</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157644324</guid><author>BigALiang</author><pubDate>Mon, 02 Feb 2026 18:08:41 +0800</pubDate><description><![CDATA[表格类别引脚名称功能说明地址线行/列地址输入Bank 地址BA0 / BA1（即 LADDR24 / LADDR25）选择存储体（Bank）数据线16 位数据传输控制信号控制读写、行/列激活等数据屏蔽LDQM, UDQM控制数据写入时哪些字节有效电源与地VDD, VSS, VDDQ, VSSQ 等供电和接地时钟与同步同步时钟相关。]]></description><category></category></item><item><title><![CDATA[再探ARMimxu6ll]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157548152</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157548152</guid><author>BigALiang</author><pubDate>Fri, 30 Jan 2026 17:42:27 +0800</pubDate><description><![CDATA[ARM（Advanced RISC Machines）是一种基于RISC（精简指令集计算机）架构的处理器设计。它不是一家公司生产的芯片，而是一套技术授权，由 ARM 公司设计并授权给其他厂商（如高通、苹果、华为等）使用。广泛应用于手机、嵌入式设备、物联网、服务器等领域。ARM1~ARM11：早期经典架构Cortex-A：应用处理器（如智能手机）Cortex-R：实时控制（汽车、工业）Cortex-M：微控制器（MCU）模块关键点架构类型RISC，精简指令集核心组件存储器。]]></description><category></category></item><item><title><![CDATA[Day6 时钟小记]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157428532</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157428532</guid><author>BigALiang</author><pubDate>Wed, 28 Jan 2026 10:13:21 +0800</pubDate><description><![CDATA[时钟树是数字系统中一个至关重要的结构，它的目标是将一个或多个源时钟干净、及时、均匀地分配到芯片上的每一个需要时钟信号的寄存器（Flip-Flop）或存储单元。为了满足不同模块对时钟频率、相位和功耗的需求，时钟树设计中常常会集成这些功能单元。最常见的用途是将一个较低频率的参考时钟（例如晶振提供的 25MHz 或 50MHz）倍频到系统所需的更高频率。这些单元共同构成了复杂而灵活的片上时钟网络，满足了现代 SoC 对性能、功耗、可靠性和灵活性的综合需求。可以理解为，输入的频率需要除以一个数在输出。]]></description><category></category></item><item><title><![CDATA[day9 (IIC (LM75) & adc)]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157400248</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157400248</guid><author>BigALiang</author><pubDate>Mon, 26 Jan 2026 19:30:51 +0800</pubDate><description><![CDATA[发送停止条件，主机在 SCL 为高时，将 SDA 从低拉高，结束本次通信。输出数字信号的位数，它决定了ADC能够区分的最小模拟电压变化——量化精度。分辨率越高，ADC 能够表示的电压等级越多，量化误差越小，转换精度越高。电子电路或器件，可以将连续变化的模拟信号转换成离散的数字信号。定义了ADC输入模拟信号的最大有效测量范围（量程）主机拉低sda，scl线，标志着一次通信的开始。同步半双工多主机多从机的串行通信总线。]]></description><category></category></item><item><title><![CDATA[阅读常记(日更？)]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157386794</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157386794</guid><author>BigALiang</author><pubDate>Mon, 26 Jan 2026 18:00:32 +0800</pubDate><description><![CDATA[具体需要配置的寄存器取决于所使用的 ARM 芯片型号（如 STM32、S3C2440、i.MX6UL 等），不同的芯片厂商和系列会有不同的 GPIO 控制寄存器组。简而言之，链接脚本是链接器的“地图”和“说明书”，精确地告诉它如何组织和放置程序的不同部分，这对于嵌入式开发尤其重要，因为需要精确控制代码和数据在有限的物理内存中的位置。需要注意的是，像 MMU、Cache 这些组件，在某些 ARM 内核设计中是作为内核的一部分，而在其他设计中可能被视为独立的系统级组件。，取决于配置）的跳转指令列表。]]></description><category></category></item><item><title><![CDATA[Day6 tryabandon]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157253825</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157253825</guid><author>BigALiang</author><pubDate>Thu, 22 Jan 2026 19:15:30 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Day5 知识回顾]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157215814</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157215814</guid><author>BigALiang</author><pubDate>Wed, 21 Jan 2026 19:52:14 +0800</pubDate><description><![CDATA[Day1重点结构知识ARM体系结构的入门课程，主要围绕硬件学习的特点、计算机系统的基本组成、各类处理器架构（CPU、GPU、DSP、MCU、MPU、SoC）的区分与应用场景，以及ARM指令集架构（RISC）与寄存器、总线、缓存、MMU等核心概念展开。再通过芯片封装类型、半导体器件（如三极管、MOS管、门电路）、存储器体系（SRAM/DRAM/Flash）、总线结构、处理器工作模式、异常处理机制及异常向量表等核心知识点，并结合硬件实例与工程实践进行深入剖析。]]></description><category></category></item><item><title><![CDATA[ARM to be a codman-1]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157134794</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157134794</guid><author>BigALiang</author><pubDate>Tue, 20 Jan 2026 23:10:59 +0800</pubDate><description><![CDATA[设置向量表位置、堆栈指针初始值等。]]></description><category></category></item><item><title><![CDATA[ARM SecDay]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/157060925</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/157060925</guid><author>BigALiang</author><pubDate>Mon, 19 Jan 2026 09:56:03 +0800</pubDate><description><![CDATA[表格类型参数传递返回值处理注意事项C → 汇编r0～r3（前4个）r0函数需声明为 global汇编 → Cr0～r3r0需保存 lr，用 bl 调用所有标准都基于 AAPCS 规范，确保 C 和汇编互操作性。表格题号答案简述1立即数是指令中直接给出的常量；ARM 只能用mov加载 8 位可旋转的立即数（如 0xFF），不能加载任意值（如 0x1fb0）。2b是相对跳转，不改变状态；bx是绝对跳转，可切换 Thumb/ARM 模式。3ARM 内核使用。]]></description><category></category></item><item><title><![CDATA[51第三，从代码开始的异世界生活]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/156935052</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/156935052</guid><author>BigALiang</author><pubDate>Sun, 18 Jan 2026 21:43:36 +0800</pubDate><description><![CDATA[按键数码管显示小程序通过改if语句可以按键未按下时进行判断，若未按下数码管显示0位选：在第一个数码管显示段选：在十个数字中选择显示。]]></description><category></category></item><item><title><![CDATA[51第二弹数码管续集]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/156896161</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/156896161</guid><author>BigALiang</author><pubDate>Thu, 15 Jan 2026 01:01:32 +0800</pubDate><description><![CDATA[Genral Purpose Input Output，通用输入输出，是与外界交互最基本的形式，可以独立的将 引脚配置为输入模式/输出模式。控制引脚  输出高电平/低电平（给定控制信号） 开漏输出  推挽输出  复用开漏  复用推挽。检测引脚的电平（接收外部信号）  上拉输入  下拉输入   浮空输入   模拟输入。动态显示：快速刷新做到“余晖”1.12欠的一点东西整理完了。]]></description><category></category></item><item><title><![CDATA[初识51..标题短就短呗咋我车轱辘滚一滚滚一滚... ...]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/156868618</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/156868618</guid><author>BigALiang</author><pubDate>Mon, 12 Jan 2026 21:51:13 +0800</pubDate><description><![CDATA[单片机相关硬件本人所用为普中51MS开发板，芯片为89C52RC硬件拆分发光二极管：二极管：阳极、阴极 单向导通性共阳极二极管：将所有发光二极管的阳极连接到VCC，发光二级的阴极接到单片机的引脚，此时阳极输出 高电平，给对应单片机引脚低电平，满足发光二极管的单向导通性，电流会从阳极流向阴极，LED被点亮。位运算1000 00011111 1110&= 不可以和 | 一样连续写，得分两行Keil软件的使用1.编辑main.c。]]></description><category></category></item><item><title><![CDATA[写一个音乐播放器]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/156148670</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/156148670</guid><author>BigALiang</author><pubDate>Mon, 22 Dec 2025 16:21:46 +0800</pubDate><description><![CDATA[由于本人对进程部分的编程兴趣不高，决定先制作一个小项目。在做中学在学中做首先需要大致了解进程线程管道方面的基本知识正在执行的程序实例，是操作系统进行资源分配调度的基本单位PCB，进程控制块，在Linux中表现为结构体其中包含：PID（进程标识符）；当前工作路径（可通过chdir改变）；umask（文件创建掩码，默认0002）；进程打开的文件列表；信号处理设置；用户ID、组ID；进程资源上限（ulimit -a查看）]]></description><category></category></item><item><title><![CDATA[进程，有点东西的东西]]></title><link>https://blog.youkuaiyun.com/BigALiang/article/details/155948394</link><guid>https://blog.youkuaiyun.com/BigALiang/article/details/155948394</guid><author>BigALiang</author><pubDate>Mon, 15 Dec 2025 18:05:37 +0800</pubDate><description><![CDATA[系统用于描述正在运行的进程的相关(所有)信息。2.安全性(权限管理)，linux也是运行在内存上的。3、 守护进程 进程会自动运行，默认不需要输入，处于休眠状态。在多进程中，a进程不能访问b进程的内存空间。在操作系统中，在一个时间段内同时运行多个任务的能力。进程是一个程序执行的过程，会去分配内存资源，cpu的资源。1、交互式进程 进程运行后需要用户的输入，在给出对应的输出。4）进程与进程会存在竞争计算机的资源。2）进程有程序状态的变化，程序没有。1）程序是永存，进程是暂时的。3）进程可以并发，程序无并发。]]></description><category></category></item></channel></rss>