- 博客(156)
- 收藏
- 关注
原创 [特殊字符]️嵌入式调试从入门到进阶 —— 栈回溯的多种使用方法
摘要 本文详细讲解了嵌入式调试中的栈回溯原理及栈构造过程。通过故意制造程序崩溃的实验,展示了如何通过栈帧和PC值定位错误位置。文章以main → A → B → C → D → CreateBug的调用链为例,逐步演示了函数调用时栈的变化过程:每次调用都会压入返回地址(LR)和寄存器值,形成嵌套的栈帧结构。同时解答了关于栈帧连续性的疑问,指出相邻栈帧间不会出现其他数据。这种栈结构分析方法是嵌入式调试的重要技能,能有效帮助开发者追踪程序崩溃原因。
2026-07-30 14:38:13
222
原创 [特殊字符]️ 嵌入式调试从入门到进阶 —— 奇怪Bug背后的原因
摘要 本文通过实例分析嵌入式调试中数组越界的常见问题。当局部数组越界时,可能破坏其他变量或返回地址,导致程序异常。通过反汇编分析,展示了数组越界如何覆盖栈上的变量(如变量a被修改为0x41),以及如何篡改返回地址引发HardFault。特别指出,这类问题可能潜伏多时才显现,增加调试难度。文章最后提到代码修改后打印结果不一致的现象,暗示嵌入式调试中内存问题的复杂性。
2026-07-29 15:16:50
193
原创 # [特殊字符]️ 嵌入式调试从入门到进阶 —— ARM 架构(二)
本文深入浅出地讲解了ARM架构下C代码的执行原理与调试技巧。文章从"a=1"这条简单语句出发,剖析了单片机硬件系统中Flash与RAM的分工、CPU执行指令的完整流程(取指-译码-执行)、内存映射机制以及关键汇编指令(LDR/STR等)。通过反汇编实例展示了C代码到机器码的转换过程,强调理解这些底层机制对调试的重要性。文中配有清晰的执行流程图和内存访问示意图,帮助读者建立从代码到硬件的完整认知框架,为后续深入学习ARM汇编和调试技术打下基础。
2026-07-29 15:07:49
404
原创 [特殊字符]️ 嵌入式调试从入门到进阶 ——常规的调试技术(一)
这篇文章摘要总结了嵌入式调试的核心技能在AI时代的重要性及实用技巧。主要内容包括: 调试的不可替代性:强调在AI时代,掌握调试技能是判断AI输出正确性和处理复杂问题的关键能力。 Keil MDK基础调试: 断点设置与单步调试 变量观察窗口的使用技巧 数据断点(Access Breakpoint)的配置方法,用于追踪全局变量异常修改 典型Bug分析: 缓冲区溢出 除零错误 野指针调用 并发定时器问题 AI辅助调试的局限性:指出AI无法处理偶现Bug、硬件配置错误和时序问题等复杂场景。 调试工具全景:介绍12个
2026-07-27 15:20:17
251
原创 树莓派ROS2自动定位与导航小车开发教程—想从事机器人行业必学
ROS2自动导航小车搭建手册摘要 本手册详细介绍了从零搭建ROS2自主导航小车的完整流程。主要内容包括: 硬件环境搭建: 树莓派4B安装Ubuntu 24.04 Server系统 配置SSH远程连接和WiFi网络 USB设备名固定(激光雷达和STM32控制器) 软件环境配置: 安装ROS2 Jazzy发行版 虚拟机搭建Ubuntu 24.04开发环境 VSCode远程开发配置 系统架构设计: 上位机(树莓派)负责SLAM、导航等高级功能 下位机(STM32)处理实时控制任务(PID、编码器读取等) 核心概念
2026-07-02 19:39:54
406
原创 串口转 WiFi 服务器 — 完整教学文档从0到1
本文介绍了一个基于STM32F407和ESP8266的串口转WiFi服务器项目实现过程。项目采用FreeRTOS操作系统,目标是通过实战练习FreeRTOS基础功能(任务、队列、信号量等),并完成AT模块的socket封装和WebServer实现。 主要内容包括: 硬件连接与AT指令测试:通过串口助手验证ESP8266模块的联网和TCP通信能力 编程实现AT指令操作:开发代码控制ESP8266连接WiFi和进行TCP通信 Socket接口封装:将AT指令封装为类似标准Socket的API接口 FreeRTO
2026-07-02 15:48:29
337
原创 串口调试 — printf 重定向与 USART 通信
串口调试与USART通信摘要 本文介绍了STM32串口调试的核心方法,重点讲解printf重定向与USART通信的实现。主要内容包括: 串口调试的重要性:相比LED闪烁,printf可直接输出变量值,提高调试效率 USART基础:异步通信原理、帧结构(115200 8N1配置) 硬件连接:PB10(TX)与PC11(RX)引脚选择依据,交叉接线方法 配置详解:波特率计算(115200bps=11.52KB/s)、数据格式解析 实现步骤:CubeMX配置、fputc重定向原理、串口助手设置 调试技巧:使用pr
2026-05-28 21:49:32
259
原创 模块驱动学习计划 — 从视频到实践的路线图
摘要 本文提出了一套模块驱动的STM32学习路线,强调"边学边做"的理念,要求每个知识点都通过真实硬件实验验证。学习路径分为四个阶段:1)GPIO基础(PIR控制LED、光敏控制蜂鸣器);2)中断入门(PIR中断版实现);3)LCD调试替代方案;4)定时器应用(超声波测距)。特别设计了视频内容与现有硬件模块的对应关系,包括STM32F407主控板、3.5寸LCD屏、多种传感器模块和多块辅助开发板。建议采用"理解原理→独立编码→调试验证→总结笔记"的学习流程,并提供了RS485多板通信等扩展实践方向。
2026-05-28 21:45:59
209
原创 # 超声波测距 — HC-SR04 + 定时器输入捕获
本文介绍了如何使用STM32F407微控制器配合HC-SR04超声波模块实现测距功能,重点讲解了定时器输入捕获的原理和应用。文章包含以下核心内容: HC-SR04工作原理:通过发送10μs触发信号启动测距,测量返回的高电平脉冲宽度计算距离,声速公式转换(340米/秒)。 定时器输入捕获:利用TIM9定时器(1MHz时钟)捕获Echo信号边沿,精确测量脉冲宽度,硬件自动记录时间戳,精度达微秒级。 实现步骤: CubeMX配置TIM9输入捕获 触发信号生成(PE4输出) 中断回调处理上升/下降沿 计算距离并输出
2026-05-28 21:44:32
348
原创 硬件清单与学习进度存档
硬件清单与学习进度摘要 该文档记录了基于STM32F407的开发硬件配置和学习进度,主要用于防止会话丢失后快速恢复上下文。核心开发板为DshanMCU-F407,配备3.5寸SPI触摸屏和多款STM32从站板。外接模块包括ADXL345加速度计、ESP8266 WiFi模块、RS485转换模块等共8类,覆盖SPI/I2C/UART等通信接口。扩展板51个引脚已完成定义标注。视频学习方面,已完成韦东山老师的GPIO中断、定时器、UART等20节课程理论学习,当前处于动手实践阶段,重点练习超声波测距和环形缓冲区
2026-05-28 21:41:00
390
原创 中断入门 — PIR 中断控制板载 LED
摘要 本文介绍了STM32中断机制及其在PIR传感器控制LED中的应用。通过对比轮询和中断两种方式,阐述了中断"外设主动通知CPU"的核心优势。文章详细讲解了STM32中断体系,包括NVIC中断控制器、EXTI外部中断系统以及中断优先级分组机制。实验部分提供了硬件接线指南和CubeMX配置步骤,重点说明了如何设置PE0引脚为外部中断输入,并配置上升沿触发。最后强调了NVIC中断使能的关键作用,为读者提供了从理论到实践的完整中断学习路径。
2026-05-26 21:57:28
489
原创 PIR 人体红外控制板载 LED — 保姆级笔记
本文介绍了使用STM32F407开发板通过PIR人体红外传感器控制板载LED的实验方法。主要内容包括: 实验原理:利用PIR传感器检测人体红外信号,当检测到人时输出高电平,无人时输出低电平,通过STM32读取该信号控制LED亮灭。 关键知识点: GPIO输入模式配置 上拉/下拉电阻的作用及选择原则 HAL_GPIO_ReadPin函数的使用方法 硬件连接: PIR模块VCC接3.3V GND接地 OUT信号线接PE0引脚 板载LED1连接PF9引脚 软件配置: PE0设为输入模式并配置下拉电阻 PF9设为输
2026-05-25 20:15:34
432
原创 单片机八股文(面向中小厂实习)
本文总结了面向中小厂单片机/嵌入式实习岗位的C语言基础面试要点,主要包括:1) static关键字的三种作用(局部变量、全局变量/函数、C++类成员);2) const关键字的用法及指针场景应用;3) volatile在嵌入式中的三大使用场景;4) 结构体对齐规则及优化技巧;5) 宏定义与typedef的区别;6) 指针与数组的关系及函数指针应用;7) 内存分区布局及嵌入式特点;8) 大小端判断及通信协议应用;9) 嵌入式开发必备的位操作技巧。这些知识点覆盖了嵌入式C语言面试40%以上的核心内容,适合准备单
2026-05-12 17:10:02
892
原创 [特殊字符] 全项目架构与代码运转流程(十三)
本文从架构高度解析了项目的三层设计(应用层、框架层、实现层)和模块职责,阐述了C语言模拟面向对象的设计模式(定义接口→实现功能→注册链表)。重点分析了main函数的完整执行流程,包括显示初始化、摄像头初始化和主循环的数据流转过程,展示了各模块间的调用关系和数据流向。这种分层架构设计实现了模块间的低耦合,便于功能扩展和维护。
2026-05-08 17:19:59
369
原创 转换模块(十二):实现 RGB 转 RGB + 项目整合与上机实验
本文介绍了RGB转RGB模块的实现,重点讲解了RGB565到RGB32的转换算法。主要内容包括: 转换需求分析:当摄像头输出RGB565而LCD需要RGB32时进行位扩展转换 核心转换算法: 从RGB565中提取R、G、B分量 通过移位操作将5/6位分量扩展到8位 重新组合成32位RGB格式 模块实现: 注册转换器结构体T_VideoConvert 实现isSupport判断逻辑 处理不同RGB格式间的转换 文章还讨论了项目整合、上机实验和常见问题排查方法,是video2lcd项目的最后一篇实现教程。
2026-05-08 17:14:49
424
原创 11-转换模块:实现 MJPEG 转 RGB
本文档详细讲解了MJPEG转RGB的完整实现流程。主要内容包括:1) MJPEG本质是独立JPEG图片序列,需解码才能显示;2) 使用libjpeg库进行解码的8个固定步骤及其顺序要求;3) 关键点在于设置内存数据源和RGB24输出格式;4) 解码后需转换至目标RGB格式;5) 采用setjmp/longjmp替代默认错误处理,防止程序崩溃;6) 完整实现遵循T_VideoConvert接口框架。文档提供了详细的代码示例和原理说明,使开发者能完整掌握从MJPEG压缩数据到RGB原始数据的转换过程。
2026-05-08 14:40:48
391
原创 转换模块(十一):实现 YUV 转 RGB
这篇文章深入解析了YUV转RGB的实现原理,主要包含以下核心内容: YUYV格式的内存排列:每4个字节描述2个像素,包含亮度(Y)和色度(U,V)分量,采用共享色度的方式压缩数据。 RGB565格式的位操作:详细讲解了16位颜色值的分配方式(5-6-5),以及如何通过位操作将8位颜色值转换为5/6位并打包成16位数值。 查表优化技术:通过预先计算并存储转换参数,用数组查表替代实时浮点运算,大幅提升转换速度。 完整转换流程:包括输入输出缓冲区管理、逐行像素转换、内存分配与释放等实现细节。 嵌入式优化技巧:重点
2026-05-07 16:29:42
212
原创 转换模块(十):结构体抽象与管理
转换模块结构体与管理摘要 本文介绍了视频转换模块的框架设计,通过面向对象思想抽象出通用接口,实现了多种格式转换的统一管理。核心结构体VideoConvert包含模块名称、格式支持判断函数、转换函数和清理函数,采用链表管理不同转换器(如YUV→RGB、MJPEG→RGB等)。与摄像头模块类似,转换模块也使用注册链表+函数指针的策略模式,支持动态扩展。文档详细对比了两个模块的结构体异同,展示了转换模块的注册流程和链表结构,并解释了关键函数的作用,包括格式支持判断、转换执行和资源清理。这种设计使新增转换器无需修改
2026-05-07 14:40:01
261
原创 [特殊字符]摄像头模块(九):编写 V4L2 数据传输函数
这篇文章摘要总结了V4L2摄像头模块数据传输的核心实现要点: 核心目标:实现视频采集的数据传输循环,包括启动/停止视频流、获取帧数据和缓冲区管理。 关键技术点: 使用内存映射(mmap)流式I/O模式(V4L2_CAP_STREAMING) 四个核心函数:StartDevice/StopDevice/GetFrame/PutFrame 详细代码展示了VIDIOC_STREAMON/STREAMOFF、VIDIOC_DQBUF/QBUF等关键操作 注意事项: 必须确保缓冲区已入队才能启动视频流 停止视频流前需
2026-05-07 11:04:31
372
原创 [特殊字符]摄像头模块(八):编写 V4L2 初始化函数(深度解析)
V4L2摄像头初始化函数详解 本文深入解析V4L2摄像头驱动的初始化过程,重点分析关键步骤和常见问题: 设备打开:必须使用O_RDWR模式,确保读写权限和mmap映射正常 能力查询:检查V4L2_CAP_VIDEO_CAPTURE标志,确认设备支持视频采集 格式枚举:通过循环检测找到设备支持的像素格式 参数设置:设置与LCD匹配的分辨率,驱动会自动调整到最接近的可用值 缓冲区管理:请求4个缓冲区,实际数量由驱动决定;通过mmap映射内存时使用PROT_READ和MAP_SHARED标志 错误处理:采用got
2026-05-06 19:44:34
399
原创 [特殊字符] 摄像头模块(七):编写 V4L2 设备框架
摄像头模块(七) 课程的核心就是 **V4L2 初始化的六步法**。你现在脑中应该有了一张清晰的地图:**打开 → 查询能力 → 枚举格式 → 设置格式 → 申请+映射缓冲区 → 入队**。至于 `GetFrame`/`PutFrame` 等函数,它们是数据流阶段的细节,下一节课(八)会专门讲解初始化函数中每个 ioctl 的参数含义,再下一节(九)才会深入数据传输。
2026-05-06 18:43:12
374
原创 摄像头模块(六):结构体抽象与设备管理
本文介绍了如何用C语言结构体抽象摄像头设备管理框架,实现面向对象的多态特性。核心思想是通过两个结构体:VideoOpr(定义摄像头操作接口)和VideoDevice(描述具体设备实例),配合全局链表管理多种摄像头驱动。 关键点: VideoOpr作为"虚函数表"包含初始化、取帧等操作函数指针 VideoDevice作为设备实例存储文件描述符、分辨率等状态信息 通过链表将多个VideoOpr实现串联,支持动态扩展 详细分析了链表注册函数的执行流程,包括空链表和非空链表两种情况 这种设计实现
2026-05-06 16:40:20
416
原创 Linux 驱动与应用开发核心自测题库(面试官问答完整版)
Linux驱动与应用开发核心知识摘要 本文档总结了Linux驱动与应用开发的关键知识点,涵盖字符设备驱动、GPIO子系统、中断处理、设备树匹配等核心内容。主要内容包括: 字符设备驱动:对比了register_chrdev和cdev接口的区别,解释了用户空间内存拷贝的安全机制,分析了文件描述符在内核中的关联方式。 GPIO与中断:详细说明了GPIO编号计算方法、中断处理函数的限制条件,以及按键防抖的实现原理。 I/O机制:深入剖析了等待队列工作原理、非阻塞I/O实现方式、poll机制和异步通知的实现要点。 设
2026-05-05 19:33:52
242
原创 Linux 驱动开发核心自测题库(面试官问答版)
Linux 驱动开发核心知识摘要(150字) 本文涵盖Linux驱动开发八大核心领域:字符设备驱动框架(注册方式、用户空间交互)、GPIO子系统(编号计算、中断处理)、设备树解析、Platform模型等关键技术点。重点包括:字符设备驱动的cdev接口优势、用户空间安全访问机制、自动创建设备节点原理;GPIO中断处理规范(上下半部机制、定时器去抖);阻塞/非阻塞I/O实现、poll机制工作原理等。每项技术均提供面试级问题解析,揭示Linux驱动开发中的资源管理、并发控制等核心设计思想,适合开发者系统掌握驱动开
2026-05-05 19:27:02
597
原创 嵌入式 Linux V4L2 摄像头采集编程(五):MMAP + 亮度实时控制(附完整代码与面试题)
本文介绍了基于V4L2框架实现嵌入式Linux摄像头采集与亮度实时控制的技术方案。主要内容包括:通过MMAP方式管理视频缓冲区,使用V4L2控制接口(VIDIOC_QUERYCTRL/G_CTRL/S_CTRL)实现亮度参数调节,创建独立线程处理键盘输入(u/d键增减亮度)。代码完整展示了从设备打开、格式设置到图像采集保存的全流程,特别提供了亮度控制的实现细节。该方案适用于IMX6ULL等嵌入式平台,支持MJPEG格式图像采集与实时参数调节,为嵌入式视觉项目开发提供了实用参考。
2026-05-05 19:19:03
424
原创 嵌入式 Linux V4L2 摄像头采集编程(MMAP 方式)(四)—— 从零到一,含全部宏详解与框架图
本文详细介绍了嵌入式Linux下使用V4L2框架通过MMAP方式采集摄像头数据的完整流程。主要内容包括: 详细框架图解:从设备打开、参数设置、缓冲区申请到数据采集循环的完整流程 关键步骤详解: 设备能力查询(VIDIOC_QUERYCAP) 格式枚举与设置(VIDIOC_ENUM_FMT/VIDIOC_S_FMT) 缓冲区管理(VIDIOC_REQBUFS/VIDIOC_QBUF/VIDIOC_DQBUF) 数据流控制(VIDIOC_STREAMON/OFF) 常见问题解答:特别纠正了cap.capabil
2026-05-05 18:47:39
453
原创 V4L2应用程序开发实战:枚举摄像头所有支持的格式和分辨率
本文摘要: 本文是一篇V4L2摄像头应用开发实战教程,主要介绍如何编写一个完整的V4L2程序来枚举摄像头设备支持的所有像素格式和分辨率。文章包含以下核心内容: 准备工作:需要Ubuntu虚拟机、T113开发板和USB摄像头设备 完整代码实现:通过VIDIOC_ENUM_FMT和VIDIOC_ENUM_FRAMESIZES两个关键ioctl调用枚举格式和分辨率 本地测试方法:在Ubuntu主机上使用gcc编译测试 交叉编译流程:设置T113开发板工具链路径并编译ARM架构可执行文件 程序部署:通过ADB将编译
2026-05-05 15:11:14
539
原创 V4L2应用程序开发(二):控制流程与UVC内部结构详解
文章摘要: 本文是V4L2摄像头应用开发系列的第二篇,重点讲解如何控制摄像头参数(如亮度、对比度、格式切换等)。主要内容包括: 核心控制流程:通过V4L2的统一接口,使用ID标识参数(如V4L2_CID_BRIGHTNESS),配合ioctl系统调用进行调节。 必须掌握的技能: 枚举摄像头支持的格式(VIDIOC_ENUM_FMT) 获取/设置当前格式(VIDIOC_G_FMT/VIDIOC_S_FMT) 调节亮度/对比度等参数(VIDIOC_QUERYCTRL/VIDIOC_G_CTRL/VIDIOC_S
2026-05-04 16:48:16
433
原创 V4L2应用程序开发(一):数据采集流程与 `v4l2.c` 代码详解
本文详细解析了V4L2摄像头应用开发中的数据采集流程,重点分析了video2lcd项目中v4l2.c的核心代码。主要内容包括: V4L2双缓冲机制原理:通过空闲链表和完成链表实现高效数据采集 核心数据采集流程:从设备打开、格式设置到缓冲区管理(mmap映射)和流控制 关键ioctl操作:QUERYCAP、S_FMT、REQBUFS、QUERYBUF等 主要代码模块分析:格式支持检查、设备初始化、缓冲区管理等核心函数实现 文章通过流程图和代码注释,深入讲解了V4L2应用开发的完整流程和关键技术点,适合开发者理
2026-05-04 14:59:19
482
原创 嵌入式Linux开发核心自测题(全系列精华浓缩)
本文总结了嵌入式Linux开发的核心知识点,涵盖交叉编译、U-Boot、内核基础、设备树、Tina-SDK开发环境、驱动开发与调试等关键内容。重点包括:交叉编译工具链的使用、U-Boot环境变量配置、内核模块管理、设备树语法解析、TinaSDK编译流程、输入设备驱动开发方法等。通过55个精选自测题,系统梳理了从开发环境搭建到驱动开发的完整知识体系,适合开发者查漏补缺,快速掌握嵌入式Linux开发的核心技能。
2026-05-03 18:40:50
360
原创 Tina SDK Linux Kernel 基本使用(实战篇:为开发板添加用户按键驱动支持)
本文是全志Tina-SDK Linux内核开发实战系列的第二篇,以 **100ASK_T113s3-Pro开发板上的用户按键(USER KEY)** 为例,手把手带你完成从硬件原理图分析、Pinctrl/GPIO子系统理解、设备树修改、内核模块配置到驱动加载验证的完整流程。学完本节,你将掌握为任何嵌入式Linux系统添加独立按键或GPIO输入设备的方法,并深入理解Pinctrl框架在设备树中的配置方式。
2026-05-03 18:31:17
417
原创 Tina SDK Linux Kernel 基本使用(实战篇:为7寸RGB LCD触摸屏添加驱动支持).md
> 本文基于全志Tina-SDK,以**100ASK-7" RGB LCD**触摸屏为例,手把手带你完成从硬件原理图分析、设备树修改、内核模块配置到最终打包烧录与验证的完整流程。你将学会如何为嵌入式Linux系统添加一个全新的硬件外设,掌握I2C/Input子系统驱动的实践方法。这是嵌入式Linux驱动开发的经典案例,学会它,你就能举一反三,添加任何挂载在I2C总线上的设备。
2026-05-03 17:36:16
541
原创 TinaSDK Linux Kernel 基本使用(全志T113开发板)
本文基于全志Tina-SDK,详细介绍如何配置、编译、修改Linux内核,涵盖内核源码位置、设备树、环境变量、Kconfig/menuconfig配置、打印等级调整、打包烧录等完整流程。你将会学到:在Tina-SDK中单独编译内核、用`make kernel_menuconfig`裁剪/配置内核、修改内核打印级别、打包生成镜像并烧录验证。文末附面试高频题。
2026-05-03 16:26:20
523
1
原创 超详细Linux内核开发实战教程(从零开始编译你的第一个内核)
Linux内核开发实战教程摘要 本文详细介绍了从零开始编译Linux内核的完整流程。首先讲解如何从kernel.org获取源码(5.4.99版本为例),解压并分析内核目录结构,包括arch、drivers、fs等核心模块。然后指导配置编译环境,区分本地编译(x86_64)和交叉编译(ARM)两种场景,重点演示本地编译过程。通过make x86_64_defconfig生成默认配置,使用menuconfig微调选项,最后用make -j4编译内核生成bzImage镜像。文中特别强调操作风险,建议在虚拟机中实验
2026-05-03 15:20:20
619
原创 Linux内核基础完全入门指南(理论篇)
Linux内核基础入门摘要 Linux内核是开源操作系统的核心组件,采用宏内核架构管理硬件资源和系统功能。本文系统介绍了Linux内核的基础知识,包括版本分类(主线版、稳定版、长期支持版)、开发流程(合并窗口和bug修复期)、官方文档资源(内核文档中心、Wiki站点、版本特性追踪)以及Git工具的使用方法。重点讲解了如何通过kernel.org获取权威内核源码,区分不同版本的应用场景,并利用Git命令搜索和分析内核补丁历史。文章还提供了Linux内核开发社区的关键资源链接,帮助开发者快速定位所需信息,为深入
2026-05-03 13:26:16
648
原创 100ASK-T113 Pro 开发板 Bootloader 完全开发指南
文章摘要 《100ASK-T113 Pro开发板Bootloader完全开发指南》详细讲解了Tina-Linux SDK中Bootloader的开发流程。主要内容包括: Bootloader组成:一级引导程序BOOT0和二级引导程序U-Boot 编译方法:介绍单独编译BOOT0、U-Boot及完整系统的步骤 配置修改:讲解U-Boot设备树、环境变量的配置方式 启动流程:从芯片上电到Linux内核加载的完整过程 实用技巧:如何修改启动等待时间、保存环境变量等 指南提供了大量实战示例,包括环境搭建、设备树修改
2026-05-01 17:18:24
454
原创 全志T113 Tina-SDK 配套工具链开发应用(从Makefile到CMake再到Autotools)
本章通过 Makefile、CMake、Autotools 三种方式演示了如何交叉编译应用程序,并通过 ADB 部署到 T113 开发板运行。这三种构建系统覆盖了绝大多数嵌入式项目的需求。作为初学者,建议先熟练掌握 Makefile 方法(最直接),再了解 CMake 和 Autotools(阅读开源项目时会遇到)。反复练习,直到能独立完成从编写代码到板子上运行的完整流程。加油!
2026-04-30 19:05:05
485
原创 全志Tina-Linux SDK目录结构与配置详解(新手必读)
本章详细介绍了Tina-Linux SDK的目录结构、配置文件、编译系统和常见错误。作为初学者,你需要重点掌握:- `device/`(板级配置)- `lichee/`(内核和U-Boot)- `package/`(软件包)- `out/`(编译产物)- `make menuconfig`配置方法- `pack`失败时的分区大小调整- 板级补丁覆盖的重要性这些知识将贯穿你的整个嵌入式Linux开发生涯。遇到问题时,先检查是否漏了关键步骤,再逐层排查。祝你学习顺利!
2026-04-30 17:41:54
405
原创 全志T113 Tina-Linux开发环境搭建:从安装依赖到打包烧录完整教程
本文详细介绍了全志T113 Tina-Linux开发环境的完整搭建流程。主要内容包括:解决VMware Tools安装锁问题、安装Tina-Linux编译依赖(基础版和完整版)、获取100ASK_T113-Pro板级支持包等关键步骤。文章提供了详细的命令操作和错误解决方法,特别强调了64位系统需要安装32位兼容库的重要性。通过克隆板级支持包、初始化子模块、复制配置文件等操作,为后续SDK编译和系统烧录做好准备。整个教程步骤清晰,配有实际操作命令和输出,适合开发者按步骤完成环境搭建。
2026-04-30 15:32:47
810
原创 全志T113嵌入式Linux开发环境搭建(VMware + Ubuntu 18.04)详细步骤
本文详细介绍了在VMware虚拟机中搭建全志T113开发环境的完整步骤。主要内容包括:1) 开发环境架构示意图,展示从Windows宿主机到Ubuntu虚拟机的开发流程;2) VMware Workstation Pro的下载与安装方法;3) 获取预配置的Ubuntu 18.04虚拟机镜像;4) 使用7-Zip解压虚拟机文件;5) 在VMware中导入虚拟机;6) 优化虚拟机硬件配置(内存、CPU核心数、USB和网络设置);7) 首次启动虚拟机时的注意事项。该教程适合嵌入式Linux开发初学者,通过图文并茂
2026-04-30 12:24:38
613
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅