当前位置: 首页 > article >正文

创龙T113-i开发板:从SDK解压到镜像打包,一个完整Linux系统构建实录(含80分钟编译避坑)

创龙T113-i开发板实战从零构建嵌入式Linux系统的完整指南1. 开发环境准备与SDK解压第一次接触全志T113-i开发板时最令人头疼的莫过于搭建开发环境。与常见的树莓派或BeagleBone开发板不同工业级嵌入式设备往往需要更专业的工具链支持。我清晰地记得那个周末当我从创龙官方获取到TLT113-EVM(Buildroot-2019.02)_V1.8软件包时面对十几个GB的压缩文件完全不知从何入手。关键准备工作清单Ubuntu 20.04 LTS主机推荐使用物理机而非虚拟机至少200GB可用磁盘空间稳定的网络连接某些依赖包需要在线下载Samba共享服务配置完成方便Windows与Linux文件交换解压SDK时有个容易踩的坑官方提供的LinuxSDK-v2.5.tar.gz需要使用特定参数解压。我最初尝试的tar -xvf命令导致部分文件权限错误后来发现必须加上-z参数处理gzip压缩tar -zxvf LinuxSDK-v2.5.tar.gz -C /home/developer/SDK解压后的目录结构值得特别关注T113-i_v1.0/ ├── brandy/ # Bootloader相关 ├── buildroot/ # 文件系统构建 ├── device/ # 设备配置 ├── kernel/ # Linux内核 └── tools/ # 辅助工具2. 依赖安装与环境配置开发板配套的install_tools.sh脚本理论上可以一键安装所有依赖但实际执行时我发现几个潜在问题Ubuntu软件源配置默认的cn.archive.ubuntu.com源在国内访问较慢建议替换为阿里云或清华镜像源依赖冲突某些已安装的软件包版本可能与脚本要求不符交互提示脚本运行中途会出现[y/N]选择必须手动选择N更稳妥的做法是先检查关键依赖# 检查make版本 make --version # 检查gcc可用性 gcc --version # 安装基础编译工具 sudo apt-get install build-essential libncurses5-dev常见依赖问题解决方案错误提示原因分析解决方法make: command not found基础编译工具缺失sudo apt install build-essentialfatal error: curses.hncurses库未安装sudo apt-get install libncurses5-devNo such file or directory32位兼容库缺失sudo apt-get install gcc-multilib3. Buildroot dl包处理技巧官方提供的dl.tar.gz包含预下载的开源软件包能显著缩短首次编译时间。但要注意解压路径必须精确对应Buildroot目录结构解压前应先确认目标目录权限网络不稳定时可考虑分卷压缩包传输正确的解压命令应该是tar xvf dl.tar.gz -C /home/developer/SDK/T113-i_v1.0/buildroot/buildroot-201902/dl目录作用解析缓存所有从网络下载的源码包支持离线编译环境搭建包含工具链、内核补丁等关键组件文件校验通过sha256sum保证完整性4. 编译配置与实战经验执行./build.sh config时会遇到第一个重要选择硬浮点(gnueabihf)还是软浮点(gnueabi)。根据我的实测选择硬浮点能提升20-30%的浮点运算性能但某些老旧应用可能存在兼容性问题显示设备选择影响后续Qt应用开发完整编译流程时间参考i7-11800H/32GB RAM步骤首次编译二次编译说明环境清理2min1min建议每次完整编译前执行配置检查3min1min依赖网络质量完整编译85min45min并行编译可加速镜像打包8min5min依赖文件系统大小那个必须执行两次./build.sh的玄学问题困扰了我很久。后来通过分析脚本发现第一次编译主要生成工具链第二次才是真正的系统构建。官方文档对此解释模糊导致很多开发者浪费时间。5. 内核与U-Boot定制开发当需要修改内核配置时传统的menuconfig方式在T113-i上有些特殊必须先完成首次编译生成out目录配置变更后必须重新编译整个SDK设备树修改需要特别处理内核配置黄金法则# 进入内核构建目录 cd out/kernel/build # 启动配置界面 make ARCHarm menuconfig # 保存后回到SDK根目录 cd ../../../.. # 必须重新编译 ./build.shU-Boot配置更是暗藏玄机。我曾在修改环境变量后直接打包结果导致板子无法启动。后来发现必须执行./build.sh brandy ./build.sh pack这个顺序绝对不能错否则生成的bootloader会缺少关键参数。6. 交叉编译链配置秘籍SDK编译完成后在out/t113_i/tlt113-evm-emmc/longan/buildroot/host/usr/bin下可以找到生成的交叉编译工具链。但直接使用会遇到路径问题最佳实践是永久添加环境变量测试工具链有效性建立快速访问别名我的.bashrc配置示例# T113-i交叉编译配置 export ARCHarm export CROSS_COMPILEarm-linux-gnueabihf- export PATH$PATH:/home/developer/SDK/T113-i_v1.0/out/t113_i/tlt113-evm-emmc/longan/buildroot/host/usr/bin测试命令特别有意思# 编译测试程序 arm-linux-gnueabihf-gcc test.c -o test # 查看文件格式 file test # 应显示ARM aarch64架构7. 镜像打包与烧录技巧执行./build.sh pack时系统会生成多种镜像格式SD卡版本boot0_sdcard.fex boot_package.fexNAND版本boot0_nand.fex rootfs.ubifseMMC版本boot0_emmc.fex rootfs.ext4我常用的质量检查步骤检查镜像文件大小是否合理使用binwalk分析镜像内容在QEMU中测试启动需特别配置实际烧录前备份原始固件烧录速度对比介质类型传输方式平均速度稳定性SD卡USB读卡器15MB/s★★★★eMMCFastboot25MB/s★★★★★NANDPhoenixSuit8MB/s★★☆8. 常见问题诊断与解决问题1编译中途报错recipe for target ... failed解决方案检查磁盘空间df -h确认内存是否不足free -m尝试单线程编译make -j1问题2板子启动卡在U-Boot阶段诊断步骤# 查看串口输出 sudo screen /dev/ttyUSB0 115200 # 检查环境变量 printenv # 测试内核加载 fatload mmc 0:1 0x41000000 zImage问题3文件系统挂载失败应对方案检查bootargs参数验证文件系统格式重新生成ext4镜像记得那次文件系统权限错误导致ssh无法启动最终发现是/etc/ssh目录权限被误改为777。这种问题在嵌入式开发中尤为常见建议制作一个检查清单关键目录权限设备节点存在性服务启动顺序环境变量一致性9. 性能优化实战建议经过三个月的项目实战我总结出几条T113-i特有的优化技巧编译加速使用ccache缓存编译结果设置MAKEOPTS-j$(nproc)关闭不必要的内核模块启动优化# 内核参数添加 consolettyS0,115200 earlyprintk rootwait # 禁用不必要的服务 systemctl mask avahi-daemon.service存储优化SquashFS替代ext4节省空间UBIFS针对NAND优化使用OverlayFS实现只读根文件系统网络优化# 调整TCP参数 echo 1024 /proc/sys/net/core/somaxconn # 优化WiFi功耗 iw dev wlan0 set power_save on10. 进阶开发方向当基本系统运行稳定后可以考虑实时性增强替换为Linux-RT内核调整线程优先级使用CPU隔离技术安全加固# 启用SELinux setenforce 1 # 加固SSH配置 echo PermitRootLogin no /etc/ssh/sshd_configOTA升级方案A/B分区设计使用SWUpdate工具增加回滚机制性能监测系统# 安装常用工具 opkg install sysstat procps # 实时监控 sar -u 1 10在最近的一个工业控制器项目中我们通过优化内核调度参数将系统响应延迟从15ms降低到2ms以内。这充分证明了T113-i在实时控制领域的潜力。

相关文章:

创龙T113-i开发板:从SDK解压到镜像打包,一个完整Linux系统构建实录(含80分钟编译避坑)

创龙T113-i开发板实战:从零构建嵌入式Linux系统的完整指南 1. 开发环境准备与SDK解压 第一次接触全志T113-i开发板时,最令人头疼的莫过于搭建开发环境。与常见的树莓派或BeagleBone开发板不同,工业级嵌入式设备往往需要更专业的工具链支持。我…...

AIGlasses_for_navigation实际应用:为听障视障双重障碍者定制多模态反馈系统

AIGlasses_for_navigation实际应用:为听障视障双重障碍者定制多模态反馈系统 1. 项目背景与价值 在日常生活中,视障和听障人士面临着巨大的出行挑战。传统的盲杖虽然能提供基础的地面探测,但无法识别远处的障碍物、交通信号灯或特定地标。而…...

5秒批量打开20个网页?这款效率工具让多任务处理快到飞起

5秒批量打开20个网页?这款效率工具让多任务处理快到飞起 【免费下载链接】Open-Multiple-URLs Browser extension for opening lists of URLs built on top of WebExtension with cross-browser support 项目地址: https://gitcode.com/gh_mirrors/op/Open-Multip…...

AHT20温湿度传感器在STM32上的应用:从数据采集到OLED显示

AHT20温湿度传感器在STM32上的实战应用:从数据采集到OLED可视化 在物联网和智能硬件开发中,环境数据的实时监测与可视化是基础却关键的一环。AHT20作为新一代数字温湿度传感器,以其高精度、低功耗和I2C接口的便捷性,成为STM32开发…...

031. 从零到一:打造你的专属“王思鱼指纹浏览器”实战指南

1. 什么是“王思鱼指纹浏览器”? 最近在帮朋友做社交媒体运营时,发现一个头疼的问题:同一个IP登录多个账号容易被平台识别关联。试过各种方法都不太理想,直到发现了这个叫“王思鱼指纹浏览器”的神器。简单来说,它就是…...

nlp_gte_sentence-embedding_chinese-large实战案例:客服工单自动归类与聚类分析

nlp_gte_sentence-embedding_chinese-large实战案例:客服工单自动归类与聚类分析 1. 引言:客服工单处理的痛点与解决方案 每天处理成千上万的客服工单是什么体验?想象一下这样的场景:客服团队每天收到大量用户反馈,从…...

GLM-4.7-Flash多场景落地:保险条款解读、理赔话术生成与客户异议应答

GLM-4.7-Flash多场景落地:保险条款解读、理赔话术生成与客户异议应答 保险行业每天都要处理海量的文本工作:厚厚的保单条款需要解读,复杂的理赔申请需要沟通,客户的各种疑问需要专业、及时地回应。这些工作不仅繁琐,而…...

突破学术翻译障碍:Zotero PDF Translate文献阅读效率提升指南

突破学术翻译障碍:Zotero PDF Translate文献阅读效率提升指南 【免费下载链接】zotero-pdf-translate 支持将PDF、EPub、网页内容、元数据、注释和笔记翻译为目标语言,并且兼容20多种翻译服务。 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-p…...

OFA图像语义蕴含模型效果展示:漫画分镜图+剧情假设的叙事逻辑连贯性验证

OFA图像语义蕴含模型效果展示:漫画分镜图剧情假设的叙事逻辑连贯性验证 1. 引言:当漫画遇上AI逻辑验证 你有没有过这样的经历?看漫画时突然发现前后剧情对不上,或者某个分镜的画面和对话明显矛盾?这种叙事逻辑的不连…...

IINA:macOS上最优雅的全能视频播放器终极指南

IINA:macOS上最优雅的全能视频播放器终极指南 【免费下载链接】iina 项目地址: https://gitcode.com/gh_mirrors/iin/iina 如果你在寻找一款既强大又美观的macOS视频播放器,IINA绝对是你的不二之选。这款基于mpv引擎的现代播放器,不仅…...

突破Windows权限限制:TrustedInstaller提权工具完全指南

突破Windows权限限制:TrustedInstaller提权工具完全指南 【免费下载链接】LeanAndMean snippets for power users 项目地址: https://gitcode.com/gh_mirrors/le/LeanAndMean 作为系统管理员或高级用户,你是否曾因"拒绝访问"而无法修改…...

Qwen3.5-4B-Claude-Opus惊艳效果展示:分步骤推导二分查找O(log n)全过程

Qwen3.5-4B-Claude-Opus惊艳效果展示:分步骤推导二分查找O(log n)全过程 1. 模型能力概览 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是一个专为推理任务优化的轻量级模型,特别擅长处理需要分步骤分析的技术问题。这个4B参数的模型通过蒸馏…...

3个革新性视角:Tomato-Novel-Downloader的内容自由解决方案

3个革新性视角:Tomato-Novel-Downloader的内容自由解决方案 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 在数字阅读成为主流的今天,我们却常常陷入内…...

【服务器】上传百度网盘数据至服务器

目录方法一:使用开源命令行工具 BaiduPCS-Go (最推荐)实例:下载网盘数据实例:上传服务器数据至百度网盘单个文件测试上传批量裁剪文件参考方法一:使用开源命令行工具 BaiduPCS-Go (最推荐) 这是目前在 Linux/Windows 服务器上最流…...

LongCat-Image-Editn效果展示:建筑效果图‘添加中文标牌+调整光照’案例

LongCat-Image-Edit效果展示:建筑效果图‘添加中文标牌调整光照’案例 1. 开篇:当AI学会“装修”建筑效果图 想象一下,你手里有一张刚出炉的建筑效果图,客户突然提出两个新需求:“能不能给大楼加上我们公司的中文招牌…...

Nanbeige4.1-3B vLLM模型水印:输出内容可追溯的版权保护技术实现

Nanbeige4.1-3B vLLM模型水印:输出内容可追溯的版权保护技术实现 1. 引言:当AI生成内容遇上版权难题 你有没有想过,如果AI帮你写了一篇文章、一段代码或者一个创意方案,这份成果的“所有权”到底归谁?随着像Nanbeige…...

AHT10 vs DHT11:国产温湿度传感器性能对比与选型建议

AHT10 vs DHT11:国产温湿度传感器性能对比与选型建议 在物联网和智能硬件快速发展的今天,温湿度传感器作为环境感知的基础元件,其性能直接影响到整个系统的可靠性和精度。面对市场上众多的传感器选择,开发者常常需要在成本、精度和…...

OpenCore Legacy Patcher:3大突破让旧Mac重获新生的系统兼容性优化指南

OpenCore Legacy Patcher:3大突破让旧Mac重获新生的系统兼容性优化指南 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher(O…...

开源工具权限重置指南:跨平台AI编程助手试用限制解决方案

开源工具权限重置指南:跨平台AI编程助手试用限制解决方案 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Youve reached your trial request limit. / Too many free trial accounts used on this machine. Please upgrade to pro. …...

零代码部署YOLOv9:官方镜像5分钟快速上手,实测效果惊艳

零代码部署YOLOv9:官方镜像5分钟快速上手,实测效果惊艳 1. 为什么选择YOLOv9官方镜像 目标检测领域的最新突破YOLOv9已经发布,但很多开发者在尝试部署时遇到了各种环境配置问题。这个官方预构建的镜像解决了三大核心痛点: 环境配置…...

如何用浏览器扩展将网页内容一键转换为AI知识库

如何用浏览器扩展将网页内容一键转换为AI知识库 【免费下载链接】anything-llm 这是一个全栈应用程序,可以将任何文档、资源(如网址链接、音频、视频)或内容片段转换为上下文,以便任何大语言模型(LLM)在聊天…...

Qwen3-ForcedAligner在开源项目中的贡献指南

Qwen3-ForcedAligner在开源项目中的贡献指南 1. 引言 如果你对语音识别和音频处理感兴趣,想要为开源项目做贡献,Qwen3-ForcedAligner是个绝佳的选择。这个项目专注于语音文本对齐技术,能够精确标注音频中每个词或字符的时间戳,对…...

iOSDeviceSupport:一站式解决Xcode设备调试兼容性问题

iOSDeviceSupport:一站式解决Xcode设备调试兼容性问题 【免费下载链接】iOSDeviceSupport All versions of iOS Device Support 项目地址: https://gitcode.com/gh_mirrors/ios/iOSDeviceSupport 当你的iOS设备连接Xcode却提示"Could not locate device…...

告别纸上谈兵:用Wireshark抓包实战分析FlexRay帧格式(含CRC校验)

实战解析FlexRay帧格式:用Wireshark抓包验证CRC与网络管理向量 车载工程师们常遇到这样的困境:明明熟读FlexRay协议文档,面对真实总线数据时却无从下手。本文将带您用Wireshark完成从抓包到解析的全流程实战,重点破解Header CRC校…...

智能配置黑苹果:三步快速部署OpenCore自动化工具终极指南

智能配置黑苹果:三步快速部署OpenCore自动化工具终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为黑苹果复杂的EFI配置而头疼…...

Python服务OOM频发真相:20年C Python内核开发者首曝智能体内存管理策略架构图(含perf+eBPF验证数据)

第一章:Python智能体内存管理策略架构总览Python智能体的内存管理并非简单复用CPython的引用计数与垃圾回收机制,而是构建在多层级抽象之上的协同式策略体系。该体系需同时满足短期对话上下文缓存、长期知识图谱嵌入存储、跨会话记忆检索以及隐私敏感数据…...

言语主旨题和细节判断题

由于气温上升、降雨改变和极端气候事件,热带森林正频繁遭受干旱。气候压力对亚马孙雨林尤为明显,反复发生的干旱事件增加了树木的死亡率。根据《自然》杂志发表的一项研究,亚马孙森林树木对干旱的耐受取决于不同物种,这影响到它们…...

RVC语音训练实战:从零开始3分钟极速训练模型,打造你的专属AI歌手

RVC语音训练实战:从零开始3分钟极速训练模型,打造你的专属AI歌手 1. RVC简介与准备工作 RVC(Retrieval-based-Voice-Conversion)是一款强大的AI语音转换工具,能够让你快速训练出专属的AI歌手模型。与传统语音合成技术…...

如何永久保存微信聊天记录?WeChatExporter 开源工具帮你解决数据备份难题

如何永久保存微信聊天记录?WeChatExporter 开源工具帮你解决数据备份难题 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾担心微信聊天记录会随着手机…...

自定义调色盘组件

示例效果&#xff1a;调色盘组件代码&#xff1a;使用input[typecolor]实现<template><div class"color-plate-page"><div class"color-div" click.stop"onColorDivClick"></div><div class"color-plate" …...