【迅为iMX6Q】开发板 U-Boot 2026.04 emmc 或者 SD卡 启动
相关参考【迅为iMX6Q】开发板 u-boot 2015.04 SD卡 启动【迅为iMX6Q】开发板 u-boot 2020.04 SD卡 启动【迅为iMX6Q】开发板 u-boot 2022.04 SD卡 启动前言最近工作接触 嵌入式 Linux 的开发因此找到了买了很久的 迅为imx6q 开发板尝试再熟悉一下嵌入式 Linux 整套开发流程 u-boot、kernel、rootfs 等。开发环境win10 64位VMware Workstation 17 Proubuntu 20.04【迅为imx6q】开发板 2G DDRuboot-imx 下载使用 NXP 官方提供的 uboot-imx代码地址为 https://github.com/nxp-imx/uboot-imx使用 git 下载 uboot-imxgit clone https://github.com/nxp-imx/uboot-imx切换到想要的分支我切换到lf_v2026.04也就是 U-Boot 2026.04 版本 支持 较新的 Linux 6.18.20 版本算是当前比较新的版本了切换分支git checkout -b lf_v2026.04 origin/lf_v2026.04gcc 交叉编译工具链推荐gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf这个可以在 ARM 官方网站下载较老或者较新的gcc 版本可能编译会报错操作步骤一、新建 board mx6q_topeet迅为imx6q 开发板基于 IMX6Q 系列所以可以使用board/nxp/mx6sabresd作为模板新建一个 board 用于开发新建一个 board 目录如取名为mx6q_topeet也可以直接把 boardmx6sabresd复制为mx6q_topeet$ cp -r board/nxp/mx6sabresd/ board/nxp/mx6q_topeet二、新建配置文件mx6q_topeet_defconfig新建一份mx6q_topeet_defconfig可以把mx6qsabresd_defconfig复制为mx6q_topeet_defconfig操作方法$ cp configs/mx6qsabresd_defconfig configs/mx6q_topeet_defconfig三、添加TARGET_MX6Q_TOPEET修改 arch/arm/mach-imx/mx6/Kconfig新增 如下的 配置config TARGET_MX6Q_TOPEET boolmx6q topeetselect BOARD_LATE_INIT select DM select DM_THERMAL select IMX_THERMAL select BOARD_EARLY_INIT_F select NXP_BOARD_REVISION imply CMD_DM select FSL_CAAM select FSL_BLOB select ARCH_MISC_INIT select RNG_SELF_TEST depends on MX6Q修改 arch/arm/mach-imx/mx6/Kconfig尾部位置新增source board/freescale/mx6q_topeet/Kconfig四、新增 mk.sh 脚本vim mk.sh#!/bin/bash export PATH$PATH:/home/zhangsz/tools/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf/bin make ARCHarm CROSS_COMPILEarm-none-linux-gnueabihf-$1$2$3$4增加 mk.sh 执行权限$ chmod x mk.sh可以使用$ ./mk.sh mx6q_topeet_defconfig来配置 board 的默认配置zhangszzhangsz:~/imx6q/uboot-imx$./mk.sh mx6q_topeet_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o YACC scripts/kconfig/zconf.tab.[ch]LEX scripts/kconfig/zconf.lex.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf ##configurationwritten to.config#五、修改 board mx6q_topeetboard/nxp/mx6q_topeet/mx6sabresd.c重命名为board/nxp/mx6q_topeet/mx6q_topeet.c修改board/nxp/mx6q_topeet/Makefileobj-y : mx6sabresd.o改为obj-y : mx6q_topeet.o修改board/nxp/mx6q_topeet/KconfigifTARGET_MX6Q_TOPEET config SYS_BOARDdefaultmx6q_topeetconfig SYS_VENDORdefaultfreescaleconfig SYS_CONFIG_NAMEdefaultmx6q_topeetconfig SYS_TEXT_BASEdefault0x17800000endif六、修改 configs/mx6q_topeet_defconfig改动一CONFIG_TARGET_MX6QSABRESDy改为CONFIG_TARGET_MX6Q_TOPEETy也就是新board mx6q_topeet改动二CONFIG_DEFAULT_DEVICE_TREEimx6q-sabresd改为CONFIG_DEFAULT_DEVICE_TREEimx6q-topeet七、增加include/configs/mx6q_topeet.h添加 board 头文件include/configs/mx6q_topeet.h可以通过 复制一份$ cp include/configs/mx6sabresd.h include/configs/mx6q_topeet.h八、增加arch/arm/dts/imx6q-topeet.dts新建 board 的设备树可以复制一份如下$ cp arch/arm/dts/imx6q-sabresd.dts arch/arm/dts/imx6q-topeet.dts九、增加arch/arm/dts/imx6qdl-topeet.dtsi新建 board 的设备树arch/arm/dts/imx6q-topeet.dts包含arch/arm/dts/imx6qdl-topeet.dtsi$ cp arch/arm/dts/imx6qdl-sabresd.dtsi arch/arm/dts/imx6qdl-topeet.dtsi修改arch/arm/dts/imx6q-topeet.dts修改一#include imx6qdl-sabresd.dtsi改为 #include “imx6qdl-topeet.dtsi”修改二modeli.MX6 Quad SABRE Smart Device Board;compatiblefsl,imx6q-sabresd,fsl,imx6q;改为 modeli.MX6 Quad Topeet Smart Device Board;compatiblefsl,imx6q-topeet,fsl,imx6q;十、修改arch/arm/dts/Makefile增加 生成imx6q-topeet.dtb编译以上 的操作可以正常编译 新的 board mx6q_topeet 了编译方法为make ARCHarm CROSS_COMPILEarm-none-linux-gnueabihf- mx6q_topeet_defconfigmake ARCHarm CROSS_COMPILEarm-none-linux-gnueabihf- -j4功能修改一、修改为 2G DDR我的这块迅为imx6q 开发板是2G DDR 内存所以需要修改board/nxp/mx6q_topeet/mx6q_4x_mt41j128.cfg修改configs/mx6q_topeet_defconfig默认配置修改mx6q_4x_mt41j128.cfg包含路径把CONFIG_IMX_CONFIGboard/nxp/mx6sabresd/mx6q_4x_mt41j128.cfg修改为CONFIG_IMX_CONFIGboard/nxp/mx6q_topeet/mx6q_4x_mt41j128.cfgDDR 改为 2G可以使用 NXP 的DDR 工具生成也可以把 迅为 android uboot 里面的现有的修改对比并搬过来使用修改的board/nxp/mx6q_topeet/mx6q_4x_mt41j128.cfg文件如下/* * Copyright (C) 2011-2016 Freescale Semiconductor, Inc. * Copyright 2017 NXP * Jason Liu r64343freescale.com * * SPDX-License-Identifier: GPL-2.0 * * Refer doc/README.imximage for more details about how-to configure * and create imximage boot image * * The syntax is taken as close as possible with the kwbimage */#includeconfig.h/* image version */IMAGE_VERSION2/* * Boot Device : one of * spi, sd (the board has no nand neither onenand) */BOOT_FROM sd#ifdefCONFIG_USE_IMXIMG_PLUGIN/*PLUGIN plugin-binary-file IRAM_FREE_START_ADDR*/PLUGIN board/freescale/mx6q_sd/plugin.bin0x00907000#else#ifdefCONFIG_IMX_HABCSF CONFIG_CSF_SIZE#endif/* * Device Configuration Data (DCD) * * Each entry must have the format: * Addr-type Address Value * * where: * Addr-type register length (1,2 or 4 bytes) * Address absolute address of the register * value value to be stored in the register */#ifdefCONFIG_IMX_OPTEESET_BIT40x20c40700x3c00000DATA40x20e00240x00000003CHECK_BITS_SET40x20e00240x3#endifDATA40x020e07980x000C0000DATA40x020e07580x00000000DATA40x020e05880x00000030DATA40x020e05940x00000030DATA40x020e056c0x00000030DATA40x020e05780x00000030DATA40x020e074c0x00000030DATA40x020e057c0x00000030DATA40x020e058c0x00000000DATA40x020e059c0x00000030DATA40x020e05a00x00000030DATA40x020e078c0x00000030DATA40x020e07500x00020000DATA40x020e05a80x00000018DATA40x020e05b00x00000018DATA40x020e05240x00000018DATA40x020e051c0x00000018DATA40x020e05180x00000018DATA40x020e050c0x00000018DATA40x020e05b80x00000018DATA40x020e05c00x00000018DATA40x020e07740x00020000DATA40x020e07840x00000018DATA40x020e07880x00000018DATA40x020e07940x00000018DATA40x020e079c0x00000018DATA40x020e07a00x00000018DATA40x020e07a40x00000018DATA40x020e07a80x00000018DATA40x020e07480x00000018DATA40x020e05ac0x00000018DATA40x020e05b40x00000018DATA40x020e05280x00000018DATA40x020e05200x00000018DATA40x020e05140x00000018DATA40x020e05100x00000018DATA40x020e05bc0x00000018DATA40x020e05c40x00000018DATA40x021b08000xa1390003DATA40x021b080c0x001F001FDATA40x021b08100x001F001FDATA40x021b480c0x001F001FDATA40x021b48100x001F001FDATA40x021b083c0x43180330DATA40x021b08400x03180310DATA40x021b483c0x43200330DATA40x021b48400x0320025CDATA40x021b08480x40363838DATA40x021b48480x38362E3CDATA40x021b08500x3E3C4840DATA40x021b48500x44364640DATA40x021b081c0x33333333DATA40x021b08200x33333333DATA40x021b08240x33333333DATA40x021b08280x33333333DATA40x021b481c0x33333333DATA40x021b48200x33333333DATA40x021b48240x33333333DATA40x021b48280x33333333DATA40x021b08b80x00000800DATA40x021b48b80x00000800DATA40x021b00040x00020036DATA40x021b00080x09444040DATA40x021b000c0x8A8F7955DATA40x021b00100xFF328F64DATA40x021b00140x01FF00DBDATA40x021b00180x00001740DATA40x021b001c0x00008000DATA40x021b002c0x000026D2DATA40x021b00300x008F1023DATA40x021b00400x00000047DATA40x021b00000x841A0000DATA40x021b001c0x04088032DATA40x021b001c0x00008033DATA40x021b001c0x00048031DATA40x021b001c0x09408030DATA40x021b001c0x04008040DATA40x021b00200x00005800DATA40x021b08180x00011117DATA40x021b48180x00011117DATA40x021b00040x00025576DATA40x021b04040x00011006DATA40x021b001c0x00000000/* set the default clock gate to save power */DATA40x020c40680x00C03F3FDATA40x020c406c0x0030FC03DATA40x020c40700x0FFFC000DATA40x020c40740x3FF00000DATA40x020c40780x00FFF300DATA40x020c407c0x0F0000C3DATA40x020c40800x000003FF/* enable AXI cache for VDOA/VPU/IPU */DATA40x020e00100xF00000CF/* set IPU AXI-id0 Qos0xf(bypass) AXI-id1 Qos0x7 */DATA40x020e00180x007F007FDATA40x020e001c0x007F007F/* * Setup CCM_CCOSR register as follows: * * cko1_en 1 -- CKO1 enabled * cko1_div 111 -- divide by 8 * cko1_sel 1011 -- ahb_clk_root * * This sets CKO1 at ahb_clk_root/8 132/8 16.5 MHz */DATA40x020c40600x000000fb#endif二、关闭[ ] Enable the LDO bypass checking and setting迅为imx6q 开发板可以关闭LDO bypass checking可以通过make ARCHarm CROSS_COMPILEarm-none-linux-gnueabihf- menuconfig图形界面配置修改.config-U-Boot2026.04Configuration-ARM architecture-[]Enable the LDO bypass checking and setting三、关闭[ ] Enable Driver Model for PMIC PFUZE100迅为imx6q 开发板 需要关闭PMIC PFUZE100应该是没有这个 PMIC.config-U-Boot2026.04ConfigurationDevice Drivers-Power-[]Enable Driver ModelforPMIC PFUZE100四、通过 savedefconifg 保存默认配置可以通过make ARCHarm CROSS_COMPILEarm-none-linux-gnueabihf- savedefconfig把手动修改的 menuconfig 配置 保存下来覆盖原来的 defconfigzhangszzhangsz:~/imx6q/uboot-imx$./mk.sh savedefconfig scripts/kconfig/conf--savedefconfigdefconfig Kconfig覆盖生成新的mx6q_topeet_defconfig 操作命令$ cp defconfig configs/mx6q_topeet_defconfig五、 SD卡 的 CD 与 WP 引脚修改此时u-boot 烧写后发现 使用 SD 卡启动时提示找不到 SD 卡也就是saveenv操作失败这是因为 迅为imx6q 开发板 SD CD 引脚需要修改修改设备树文件arch/arm/dts/imx6qdl-topeet.dtsi修改内容设备树节点usdhc2中cd-gpios gpio2 2 GPIO_ACTIVE_LOW;改为cd-gpios gpio1 4 GPIO_ACTIVE_LOW;这个需要根据迅为开发板原理图注释 设备树节点usdhc2中的//wp-gpios gpio2 3 GPIO_ACTIVE_HIGH;因为没有 写保护引脚wp如果设置上一个引脚SD 卡可能会变为【只读】usdhc2{pinctrl-namesdefault;pinctrl-0pinctrl_usdhc2;bus-width8;cd-gpiosgpio14GPIO_ACTIVE_LOW;//wp-gpios gpio2 3 GPIO_ACTIVE_HIGH;no-1-8-v;keep-power-in-suspend;enable-sdio-wakeup;statusokay;};u-boot 编译产物uboot-2026.04 分支uboot 是基于【设备树】的产物是u-boot-dtb.imx这个可以用于烧写到 SD卡或者 emmc 中 imx 后缀是对 u-boot.bin 做了处理用于 imx6q 的 ROM 启动引导 u-boot。也就是需要烧写u-boot-dtb.imx而不是u-boot.bin直接烧写 u-boot.bin 到 emmc 中默认无法正常启动启动方式当前 u-boot 同时支持 emmc 启动 烧写后 boot 选择 emmc 启动方式也支持 SD卡启动烧写编译产物u-boot-dtb.imx到 SD 卡然后 boot 选择选择 SD 卡启动模式SD 卡启动本次使用 SD 卡启动 开发板需要设置为 SD 卡驱动并且准备一个 SD 卡如 32G 的 TF 卡SD 卡插入电脑并且连接到 ubuntu使用df -l查看 SD 识别的SD 卡设备u-boot 烧写编译环境是 VMWare 虚拟机中的 ubuntu 20.04SD卡 烧写u-boot-dtb.imx并不是直接把文件复制到 SD卡中而是通过 Linux dd 烧写命令写入到 SD 卡指定的位置此时 SD 卡可以不分区/dev/sdc1代表 SD 卡 设备/dev/sdc的分区一如果没有分区可以使用sudo fdisk -l查看SD 卡设备烧写命令sudo dd ifu-boot-dtb.imx of/dev/sdc bs512 seek2 syncifu-boot-dtb.imx 表示输入u-boot-dtb.imx 是当前路径下的 u-boot 编译的产物 of/dev/sdd /dev/sdd而不是/dev/sdd1表示 SD 卡设备这里直接烧写到 SD卡指定位置不是分区 sync 表示 同步刷到 SD卡中 bs512表示 读写块512字节 seek2表示 偏移2个 块再烧写也就是 u-boot-dtb.imx 从 SD 卡设备物理地址偏移1K 字节的位置开始烧写 sync 为了刷新缓存同步数据保证写到 SD 卡中【注意事项】of/dev/sdd注意这个是 SD 卡实际识别到的设备每个电脑或者每次插入SD卡可能会变需要注意可以通过df -l命令或者sudo fdisk -l查看 SD 卡设备这个of/dev/sdd 搞错有可能会把 具体的磁盘写坏切忌$ sudo ddifu-boot-dtb.imx of/dev/sdc bs512seek2sync[sudo]passwordforzhangsz:12380records in12380records out633856bytes(634kB,619KiB)copied,0.0835587s,7.6MB/semmc 启动emmc 启动需要使用 mfgtools USB 烧写配置 mfgtools 的cfg.ini如下[profiles]chipLinux[platform]boardsabresd[LIST]nameLinux-SabreSD-eMMC需要配置mfgtools\Profiles\Linux\OS Firmware\ucl2.xml搜索到Linux-SabreSD-eMMC然后更改 u-boot 的文件的名字为u-boot-dtb.imx可以只烧写 u-boot而不烧写 Linux 镜像等节省烧写时间。注意把编译后的u-boot-dtb.imx放在 mfgtools 制定路径下如mfgtools\Profiles\Linux\OS Firmware\files\linuxboot 模式拨码开关设置为 emmc 启动重新上电即可。通过调试串口可以看到 u-boot 启动信息。启动信息把烧写u-boot-dtb.imx后的 SD 卡插入 imx6q 开发板重新上电或者按复位键通过串口查看输出信息U-Boot2026.04-g80a25b0917bc-dirty(Aug022026-11:15:320800)CPU:i.MX6Q rev1.3996MHz(running at792MHz)CPU:Extended Commercial temperaturegrade(-20C to105C)at47C Reset cause:POR Model:i.MX6 Quad Topeet Smart Device Board DRAM:2GiB Core:92devices,23uclasses,devicetree:separate MMC:FSL_SDHC:1,FSL_SDHC:2,FSL_SDHC:3Loading Environment from MMC...Reading fromMMC(3)...OK In:serial Out:serial Err:serial SEC0:RNG instantiated flash target is MMC:3Net:Could not get PHYforFEC0:addr1Could not get PHYforFEC0:addr1No ethernet found.Fastboot:Normal Normal Boot Hit any key to stop autoboot:0MMC:no card present**Bad device specification mmc2**Couldnt find partition mmc2:1Cant set block device Unknown commandboota-tryhelp自此【迅为iMX6Q】开发板 u-boot 2026.04 SD卡 或者 emmc 启动 基本成功以太网驱动、LCD 驱动正在研究如何移植小结本篇 采用 新建 board 的方式移植适配 u-boot 2026.04 到 迅为 imx6q 开发板上为了更进一步的加强嵌入式 Linux 的学习巩固学习方法深入学习与研究 u-boot可以熟悉开发板硬件配置与驱动是个很好的切入点

相关新闻

Python从入门到实战:系统学习路径与四大核心应用模块详解

Python从入门到实战:系统学习路径与四大核心应用模块详解

很多朋友在刚开始学习Python时,常常感到迷茫:网上教程太多,质量参差不齐,知识点零散,不知道从哪里开始,也不知道学到什么程度才能找到工作或接项目。从环境安装、基础语法,到爬虫、数据分析、We…

2026/10/4 4:45:00 阅读更多 →
Spring Boot事务管理实战:自动回滚与手动控制

Spring Boot事务管理实战:自动回滚与手动控制

1. Spring Boot事务操作实战指南 在Java企业级应用开发中,事务管理是保证数据一致性的核心技术。Spring Boot通过Transactional注解提供了声明式事务管理的能力,但实际业务场景往往比简单的全成功或全失败更复杂。本文将深入探讨三种典型的事务控制场景&…

2026/10/9 18:16:04 阅读更多 →
OpenHarmony跨平台开发训练营助教培养实践

OpenHarmony跨平台开发训练营助教培养实践

1. 项目背景与核心价值开源鸿蒙(OpenHarmony)作为新一代分布式操作系统,正在快速构建其开发者生态。这个训练营项目瞄准了跨平台开发领域的热点需求,通过系统化培养助教团队来加速技术传播。我注意到近期各大技术社区关于Flutter、…

2026/10/9 23:25:58 阅读更多 →

最新新闻

商人过河问题详解:状态转移与BFS的Matlab实现

商人过河问题详解:状态转移与BFS的Matlab实现

1. 从一道经典建模题说起:商人过河到底在考什么数学建模入门阶段,几乎人人都会碰到“商人过河”这道题。题目本身并不复杂:三个商人带着三个随从,要坐一条小船过河,小船每次最多载两人,而且无论在哪一岸&am…

2026/10/13 2:36:32 阅读更多 →
机器学习加速超材料逆向设计:从电磁仿真到参数搜索的实战指南

机器学习加速超材料逆向设计:从电磁仿真到参数搜索的实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 2:36:32 阅读更多 →
DeepSeek Harness插件:笔记整理与会话管理实战指南

DeepSeek Harness插件:笔记整理与会话管理实战指南

这次我们来看一个跑得很快的 AI 工具项目:围绕 DeepSeek 模型能力做的两款 Harness 插件,一款负责笔记整理,一款负责会话管理。项目上线不到一周,GitHub 接近 4000 个 star,在插件类项目里算很扎眼的起步速度。从这个热…

2026/10/13 2:36:32 阅读更多 →
Trae 技能配置实战:用 skills.md 让 AI 编程不再自由发挥

Trae 技能配置实战:用 skills.md 让 AI 编程不再自由发挥

你是不是也有这种体验:用 AI IDE 写代码,对话窗里聊得头头是道,真让它干活又开始自由发挥,步骤乱、输出格式乱,结果照样要自己返工。问题根源很多时候不是模型不够聪明,而是缺少一份标准操作说明书。skills…

2026/10/13 2:36:32 阅读更多 →
501B开放权重稠密大模型:部署、量化与蒸馏实操指南

501B开放权重稠密大模型:部署、量化与蒸馏实操指南

1. 从“501B 开放权重”这个数字说起第一次看到“501B 参数、开放权重”这两个词摆在一起,我的第一反应不是兴奋,而是算账。501B 这个量级,按常见的 FP16 精度算,光权重就要占掉大约 1TB 的显存空间;就算上 INT8 量化&…

2026/10/13 2:36:32 阅读更多 →
Trae实测:从对话生成到Agent执行,AI编程工具如何改变开发流程

Trae实测:从对话生成到Agent执行,AI编程工具如何改变开发流程

最近AI Coding已经热到不需要再解释背景了。从最早的代码补全,到能直接对话生成整段功能,再到现在的Agent式“你提需求、它动手改代码”,这一波工具迭代的速度,确实让很多开发者的日常工作方式都变了。我陆陆续续试过不少同类产品…

2026/10/13 2:35:32 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →