Tiva C系列MCU硬件加密引擎实战:DES与SHA/MD5模块寄存器级配置指南
1. 项目概述与核心价值在嵌入式开发尤其是物联网和边缘计算设备中数据安全不再是“锦上添花”而是“生死攸关”的底线。无论是设备固件的安全启动、传感器数据的完整性校验还是无线通信的链路加密都离不开高效、可靠的密码学原语。然而在资源受限的MCU上用软件纯计算来实现AES、DES、SHA256这些算法其性能开销往往是不可接受的——它会严重挤占本就不富裕的CPU周期拉高系统功耗甚至影响实时任务的响应。这正是硬件加密加速器存在的意义。它就像给MCU配备了一个专用的“数学协处理器”专门处理那些计算密集型的加密和哈希运算。今天我们就以德州仪器Tiva™ C系列微控制器以TM4C129X为例内置的DES加速器和SHA/MD5模块为蓝本进行一次深度的寄存器级“外科手术”。我不会只给你一份枯燥的寄存器列表翻译而是结合我多年在工控和物联网安全领域的踩坑经验带你理解如何真正“驾驭”这些硬件模块。从密钥的正确灌入、工作模式的灵活配置到利用DMA实现“零等待”的加密数据流我们一步步拆解目标是让你看完就能在项目中用起来避开那些手册里不会写的“坑”。2. DES加速器寄存器精讲与实战配置DESData Encryption Standard虽然因其56位密钥长度在现代密码学中已不推荐用于高安全场景但在一些遗留系统、特定行业协议或对实时性要求极高的轻量级加密中仍有应用。硬件DES加速器的价值在于它能将一次DES运算从成百上千个CPU周期缩短到几十个周期这种效率提升是质的飞跃。2.1 密钥与初始化向量IV寄存器组数据灌入的艺术DES加速器的核心寄存器从密钥寄存器开始。输入文档列出了DES_KEY1_L/H到DES_KEY3_L/H这直接对应了DES的三种密钥模式单DES64位密钥、双密钥三重DES128位密钥和三密钥三重DES192位密钥。这里有一个非常关键的细节这些寄存器是只写的Write-Only。手册里明确提到“A read of this register returns all zeros”。这意味着你无法通过读取这些寄存器来验证你写入的密钥是否正确。这是一个重要的安全设计防止密钥通过侧信道被意外读出但也给调试带来了挑战。实操要点与避坑指南字节序Endianness问题这是新手最容易栽跟头的地方。Tiva™ MCU是小端Little-Endian架构。这意味着当你有一个32位的密钥数据例如0xA1B2C3D4需要写入DES_KEY1_L偏移0x010时你直接写入这个值即可。但在你的源代码中密钥常以字节数组形式存在例如uint8_t key[8] {0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF};。你需要正确地组合这些字节来填充32位寄存器。// 将8字节数组转换为两个32位寄存器值小端 uint32_t key_lsw (key[3] 24) | (key[2] 16) | (key[1] 8) | key[0]; // 对应KEY1_L 包含字节0-3 uint32_t key_msw (key[7] 24) | (key[6] 16) | (key[5] 8) | key[4]; // 对应KEY1_H 包含字节4-7 HWREG(DES_BASE DES_O_KEY1_L) key_lsw; HWREG(DES_BASE DES_O_KEY1_H) key_msw;务必根据你使用的协议或测试向量确认其规定的字节顺序并在代码中做相应转换。三重DES3DES密钥填充对于3DES-EDE加密-解密-加密模式你需要提供三个独立的64位密钥K1, K2, K3。在192位密钥模式下DES_KEY3_H/L存储K3DES_KEY2_H/L存储K2DES_KEY1_H/L存储K1。顺序绝对不能错否则加解密结果必然失败。初始化向量IV寄存器DES_IV_L和DES_IV_H用于CBC密码分组链接或CFB密码反馈模式。在ECB电子密码本模式下IV不会被使用。一个常见的错误是在CBC模式连续加密多组数据时忘记更新IV。对于下一组数据的加密你应该将前一个密文块作为新的IV。硬件不会自动完成这个操作需要你在软件中管理。2.2 控制寄存器DES_CTRL模式选择的神经中枢DES_CTRL寄存器是配置加密行为的核心。其位域控制着算法模式、数据方向和引擎状态。位域名称功能描述配置心得31CONTEXT上下文就绪状态只读为1时表示可以写入下一组上下文密钥、IV、模式等。在DMA连续传输时此位至关重要。5:4MODE工作模式选择00: ECB,01: CBC,10: CFB。CFB模式可以实现流加密适用于数据长度不是8字节倍数的情况。3TDES单/三重DES选择0: 单DES (使用KEY1),1: 三重DES (根据密钥长度自动判断用2-key或3-key)。2DIRECTION加解密方向0: 解密,1: 加密。务必注意在CBC和CFB模式下加解密的流程不对称这个方向位必须设置正确。1INPUT_READY输入就绪只读为1时表示DES_DATA_IN寄存器可以接收新的8字节数据块。这是轮询模式下的关键状态位。0OUTPUT_READY输出就绪只读为1时表示DES_DATA_OUT寄存器中的数据已就绪可以读取。配置流程示例单DESCBC模式加密写入密钥到DES_KEY1_L/H。写入初始IV到DES_IV_L/H如果使用CBC/CFB。配置DES_CTRL寄存器设置MODE0x1CBCTDES0DIRECTION1加密。其他位通常保持默认值。在DES_LENGTH寄存器中写入本次要处理的数据总字节数。重点写入此寄存器会触发引擎开始处理当前已配置的上下文。等待INPUT_READY位为1然后向DES_DATA_L/H写入8字节明文。等待OUTPUT_READY位为1然后从DES_DATA_L/H读取8字节密文。重复步骤5-6直到DES_LENGTH计数器归零。关键提示DES_LENGTH寄存器写入即触发。这意味着你必须确保在写入长度之前所有的配置密钥、IV、控制字都已经正确设置完毕。这是一个原子性的操作点。2.3 数据长度与DMA配置实现流式处理的关键DES_LENGTH寄存器不仅定义了数据量更是硬件流控制的触发器。它支持最大2^32-1字节的长度足以应对大多数嵌入式场景。DMA配置详解为了解放CPUDES模块与微DMAµDMA控制器紧密集成。相关寄存器位于不同的基地址0x4403.0000这点需要特别注意。系统配置使能DMA在DES_SYSCONFIG寄存器中使能相应的DMA请求位DMA_REQ_CONTEXT_IN_EN: 允许DMA写入上下文密钥、IV、模式等。DMA_REQ_DATA_IN_EN: 允许DMA写入待处理数据。DMA_REQ_DATA_OUT_EN: 允许DMA读取处理结果。 通常在流式加密中我们会使能数据和上下文的DMA输入以及数据的DMA输出。DMA中断管理DES_DMAIM、DES_DMARIS、DES_DMAMIS、DES_DMAIC这一组寄存器用于管理DMA传输完成中断。例如使能DES_DMAIM中的DOUT位后当DMA将最后一个结果字写入内存时会产生中断。你可以配置µDMA通道使其在传输完一个数据块例如8字节或整个缓冲区后触发中断具体取决于你的数据流设计。实战心得在配置DMA时源地址和目标地址的对齐至关重要。DES数据寄存器是32位宽的因此你的DMA传输数据宽度也应设置为32位。确保你的数据缓冲区在内存中是32位对齐的例如使用__attribute__((aligned(4)))以避免硬件异常并提升传输效率。一个典型的DMA加密流程是CPU配置好初始上下文并启动DMADMA自动将源数据缓冲区的内容搬运到DES数据输入寄存器同时将输出寄存器的内容搬运到目标缓冲区整个过程无需CPU干预仅在全部完成后或出错时通过中断通知CPU。3. SHA/MD5模块哈希与HMAC的硬件引擎SHA/MD5模块是一个更复杂的哈希计算引擎支持MD5、SHA-1、SHA-224和SHA-256算法并内置了HMAC基于哈希的消息认证码的硬件预处理功能这对于实现消息认证来说是巨大的便利。3.1 算法模式与初始化配置算法的选择通过SHA_MODE寄存器的ALGO位域进行如输入文档中表15-2所示。启动一次新的哈希计算流程比DES更精细算法与常量初始化设置ALGO位域选择算法。关键一步将ALGO_CONSTANT位置1。这个操作会自动用所选算法对应的初始哈希值如SHA-256的0x6a09e667...填充内部的SHA_IDIGEST_A到SHA_IDIGEST_H寄存器并将SHA_DIGEST_COUNT清零。这是一个硬件自动化步骤能避免软件加载初始值可能引入的错误务必利用好。长度与结束标志在SHA_LENGTH寄存器中设置消息的总字节长度。CLOSE_HASH位决定了是否由硬件自动进行填充Padding。如果整个消息可以一次性处理或者当前处理的是最后一块数据必须将CLOSE_HASH置1硬件会自动在数据末尾添加比特“1”、若干个“0”和消息长度信息完成标准的填充操作。如果处理的是中间数据块则置0并且该数据块必须是严格的64字节512位。数据输入数据通过16个连续的32位寄存器SHA_DATA_n_INn0..15输入。这对应一个64字节的哈希块。你可以通过CPU循环写入更高效的方式是使用DMA。模块的INPUT_READY状态位指示何时可以写入下一个数据块。一个重要的性能技巧对于HMAC操作如果密钥长度小于等于64字节你可以利用硬件的自动密钥预处理功能。将HMAC_KEY_PROC位置1然后将密钥写入SHA_ODIGEST_A-H和SHA_IDIGEST_A-H寄存器共512位短密钥需补零。硬件会自动为你计算key ^ ipad和key ^ opad并存储在后续的HMAC计算中直接使用省去了软件预处理的开销。3.2 摘要寄存器与结果读取哈希或HMAC计算完成后OUTPUT_READY状态位会置起。此时结果存储在内部摘要寄存器中。根据所选算法的不同需要读取的寄存器数量和含义也不同MD5读取SHA_IDIGEST_A到SHA_IDIGEST_D共128位。SHA-1读取SHA_IDIGEST_A到SHA_IDIGEST_E共160位。SHA-224读取SHA_IDIGEST_A到SHA_IDIGEST_G但只取每个寄存器的低32位实际上224位是256位截断而来具体需参考手册确认高位是否可忽略。SHA-256读取SHA_IDIGEST_A到SHA_IDIGEST_H共256位。对于HMAC操作最终结果即经过内外两层哈希后的结果同样从这些SHA_IDIGEST_x寄存器中读取。而SHA_ODIGEST_x寄存器在HMAC模式下存储的是经过处理的外层密钥OPAD XOR通常由硬件在密钥预处理阶段填充软件一般无需直接读取作为结果。特别注意在连续哈希如计算大文件的哈希值时除了读取摘要还必须读取并保存SHA_DIGEST_COUNT寄存器的值。这个值代表了当前已处理的数据块数在后续继续哈希时需要将它和中间摘要值一起作为上下文写入才能保证哈希链的连续性。这是实现“分段哈希”的关键。3.3 系统配置、中断与DMA协同SHA_SYSCONFIG寄存器控制着模块的软复位(SOFTRESET)和空闲模式(SIDLE)。在开始任何操作前建议先读取SHA_SYSSTATUS的RESETDONE位确保模块处于就绪状态。中断方面模块提供了两层中断体系模块级中断通过SHA_IRQENABLE和SHA_IRQSTATUS管理可以响应上下文就绪、数据输入就绪、数据输出就绪等事件。适用于CPU轮询或中断驱动的单块数据处理。DMA级中断通过SHA_DMAIM、SHA_DMARIS等寄存器管理位于CCM偏移地址空间。当使用µDMA进行大批量数据传输时应使用这一套中断。最佳实践是当启用DMA进行数据传输时最好禁用模块级中断SHA_IRQENABLE清零以避免中断冲突和混淆所有完成事件通过DMA中断寄存器来查询和清除。4. 综合实战构建一个安全的数据存储流程让我们结合两者设计一个嵌入式设备本地数据加密存储的典型场景设备采集的数据例如一段日志需要先计算其SHA-256哈希值用于完整性校验然后用3DES-CBC模式加密后存储到Flash中。步骤分解计算哈希使用SHA/MD5模块配置SHA_MODEALGO0x3(SHA-256)ALGO_CONSTANT1CLOSE_HASH1。将日志数据长度写入SHA_LENGTH。启用DMA将日志数据的内存地址配置为µDMA源地址SHA_DATA_0_IN寄存器地址配置为目标地址。设置DMA传输长度为(数据长度 63) / 64 * 16个32位字即凑整为64字节块后的字数量。启动DMA传输并等待SHA_DMARIS中的DOUT中断。中断服务程序中从SHA_IDIGEST_A到SHA_IDIGEST_H读取256位的哈希值存储起来。加密数据使用DES加速器准备一个256位的加密密钥用于3DES-EDE即K1, K2, K3各64位。注意在实际产品中此密钥应从安全存储区如OTP加载而非硬编码。配置DES_CTRLMODE0x1(CBC)TDES1DIRECTION1(加密)。将一个随机数或固定值作为初始IV写入DES_IV_L/H。强烈建议每次加密使用不同的IV可以结合一个计数器或随机数生成器。将3个DES密钥分别写入DES_KEY1/2/3_H/L。将待加密的日志数据长度写入DES_LENGTH触发引擎。同样使用DMA将原始日志数据通过DMA送入DES_DATA_L/H并将加密结果通过DMA从DES_DATA_L/H搬出到Flash写入缓冲区。等待DMA完成中断。存储与验证将加密后的密文和步骤1中计算的哈希值一起写入Flash。通常哈希值可以附加在密文之后或者单独存储。在需要读取验证时先解密数据然后对解密后的明文再次计算SHA-256哈希与存储的哈希值比对。如果一致则证明数据在存储后未被篡改。性能优化技巧双缓冲Ping-Pong Buffer为DMA设置两个缓冲区。当DMA正在使用缓冲区A向加密引擎输送数据/取出结果时CPU可以准备缓冲区B中的数据或处理缓冲区A已取出的结果。两个缓冲区交替使用可以几乎实现数据流的无缝处理最大化吞吐量。上下文保存与恢复如果系统需要处理多个独立的安全会话如多个不同的TCP连接加密每个会话都有自己的密钥和IV。在切换会话时需要重新配置DES或SHA模块的所有上下文寄存器。可以设计一个软件结构体来保存这些上下文切换时一次性写入比单独写每个寄存器效率更高。5. 常见问题排查调试心得即使理解了所有寄存器实际调试中依然会遇到各种问题。下面是我总结的一些典型故障和排查思路现象可能原因排查步骤DES加密/解密结果全为零或固定错误值。1. 密钥未正确写入字节序错误。2. 工作模式MODE或方向DIRECTION设置错误。3. 未写入有效的初始化向量IVCBC/CFB模式。1. 使用已知的测试向量如NIST提供逐字节核对密钥、明文、IV的写入值。2. 确认DES_CTRL寄存器配置值特别是MODE和DIRECTION位。3. 在CBC模式确认每次加密是否更新了IV。SHA哈希计算结果与标准值不符。1. 数据填充Padding错误。CLOSE_HASH位未在最后一块数据设置。2. 数据长度SHA_LENGTH设置错误。3. 多段哈希时未正确恢复上下文摘要值和DIGEST_COUNT。4. 算法初始常量未加载ALGO_CONSTANT位未置1。1. 对于单次哈希确保CLOSE_HASH1。2. 核对SHA_LENGTH是否为消息的原始字节长度。3. 在分段处理中读取并保存中间摘要和计数下一段开始时将其写回并设置ALGO_CONSTANT0。4. 对于全新哈希第一步务必置位ALGO_CONSTANT。DMA传输启动后模块无反应中断不触发。1. DMA通道未正确配置源/目标地址、传输宽度、长度。2. DES/SHA的DMA请求未在模块内使能SYSCONFIG寄存器。3. DMA中断在模块或NVIC中未使能。4. 数据缓冲区地址未32位对齐。1. 检查µDMA通道控制寄存器的配置确认传输大小与模块期望匹配DES为8字节SHA为64字节块。2. 确认DES_SYSCONFIG或SHA_SYSCONFIG中对应的DMA_REQ_*_EN位已置1。3. 检查DES_DMAIM/SHA_DMAIM以及处理器NVIC中对应中断是否使能。4. 检查缓冲区地址确保是4字节对齐。操作完成后再次配置模块失败状态位异常。1. 上一轮操作未完成OUTPUT_READY未就绪就试图写入新上下文。2. 软件复位SOFTRESET后未等待复位完成RESETDONE。3. 寄存器访问顺序有误特别是DES_LENGTH的写入时机。1. 在写入新配置前轮询CONTEXT位DES或确保引擎空闲。2. 发起软复位后循环读取SYSSTATUS寄存器直到RESETDONE为1。3. 严格遵守配置流程先配密钥、IV、控制字最后写长度寄存器触发。调试建议从已知测试向量开始永远先用标准测试向量例如NIST发布的AES/DES/SHA测试用例验证你的基本配置流程。这能最快地隔离硬件问题和软件配置问题。善用寄存器读取虽然密钥等寄存器读回为0但控制、状态、长度等寄存器是可以读取的。在关键步骤后读取这些寄存器验证其值是否符合预期。逻辑分析仪/示波器如果问题非常棘手可以尝试用逻辑分析仪抓取APB总线对加密模块的访问时序检查地址、数据、读写信号是否与你的代码意图一致。模拟器优先TI的CCS IDE带有设备模拟器可以在没有硬件的情况下运行和调试大部分代码。在模拟器上先跑通基本功能能节省大量硬件调试时间。硬件加密引擎是提升嵌入式系统安全性与性能的利器但其正确配置需要细致和耐心。希望这份结合了寄存器手册和实战经验的解析能帮助你更自信地在你的下一个项目中驾驭它们。记住安全无小事每一个配置位都关乎最终结果的正误。

相关新闻

TI Hercules ADC DMA触发与特殊模式实战:从校准自检到低功耗设计

TI Hercules ADC DMA触发与特殊模式实战:从校准自检到低功耗设计

1. 项目概述与核心价值在嵌入式系统开发,尤其是工业控制、汽车电子或精密仪器仪表领域,高效、可靠地采集模拟信号是基本功。我们常常需要面对多路、高速的模拟量输入,比如电机电流、电池电压、温度传感器信号等。这些信号经过模数转换器&…

2026/10/13 8:27:30 阅读更多 →
C++实现海量字符串去重:Bitmap与哈希函数的高效结合

C++实现海量字符串去重:Bitmap与哈希函数的高效结合

1. 项目概述:当海量字符串遇上Bitmap在数据处理和系统开发的日常工作中,我们经常会遇到一个看似简单但规模巨大时又颇为棘手的问题:如何高效地对海量字符串进行去重和数量统计?比如,你需要分析一个日志文件里出现了多少…

2026/10/12 21:22:14 阅读更多 →
生成式AI如何变革创意产业:技术与实践

生成式AI如何变革创意产业:技术与实践

1. AI技术如何重塑创意产业格局过去三年间,AI技术对创意产业的影响已从辅助工具演变为核心生产力。在广告设计领域,MidJourney和Stable Diffusion等工具使单张海报的设计周期从8小时缩短至20分钟;音乐创作中,Amper Music等AI作曲平…

2026/10/4 0:50:23 阅读更多 →

最新新闻

5G-A通感融合能力开放:NEF架构、接口与信令流程详解

5G-A通感融合能力开放:NEF架构、接口与信令流程详解

简介:这份文档资料聚焦5G-A阶段通信感知融合的能力开放技术,面向通信领域研究者、核心网工程师及高校相关专业师生,帮助读者系统理解通感一体化从架构设计到业务落地的完整脉络。资源包内含1个docx文档,大小约151KB,内…

2026/10/13 19:40:25 阅读更多 →
YOLOv8人脸表情识别训练避坑指南:从数据集到推理部署

YOLOv8人脸表情识别训练避坑指南:从数据集到推理部署

简介:YOLOv8算法人脸表情识别训练权重与配套数据集组成一套可直接上手的目标检测训练资源,面向计算机视觉开发者和算法学习者,适用于人机交互、课堂专注度分析、驾乘安全监测等需要判断人物情绪状态的场景,也适合作为相关课题演示…

2026/10/13 19:40:25 阅读更多 →
恶意加密流量检测:深度学习与特征筛选完整源码实战

恶意加密流量检测:深度学习与特征筛选完整源码实战

简介:基于深度学习的恶意加密流量检测系统是一份完整的Python毕业设计源码与文档资料,面向信息安全方向的高校学生,可用于课程设计、期末大作业或毕设答辩。项目覆盖恶意加密流量识别的数据预处理、特征筛选、模型训练、结果分析与可视化展示…

2026/10/13 19:40:25 阅读更多 →
MQL5 通过 libmysql.dll 访问 MySQL:从环境配置到批量写入的完整实践

MQL5 通过 libmysql.dll 访问 MySQL:从环境配置到批量写入的完整实践

简介:这份文档资料面向使用 MetaTrader 平台进行量化开发的程序员,聚焦 MQL5(MQL4)无法直接与数据库交互这一痛点,讲解如何借助接口库访问 MySQL 数据库。内容围绕 MQLMySQL.mqh、MQLMySQL.dll 与 libmysql.dll 三层结…

2026/10/13 19:40:25 阅读更多 →
EJB入门项目实战:三类Session Bean与JNDI部署避坑指南

EJB入门项目实战:三类Session Bean与JNDI部署避坑指南

简介:这是一份面向EJB初学者的入门实践项目,基于IDEA与JBoss 7.1.1应用服务器,覆盖无状态/有状态会话Bean、实体Bean与消息驱动Bean的搭建与部署,适合正在学习Java EE组件化开发、希望理解EJB生命周期与事务控制的读者。压缩包共4…

2026/10/13 19:40:25 阅读更多 →
Nano Banana 2.1降价背后:API账单未减半的三大原因

Nano Banana 2.1降价背后:API账单未减半的三大原因

Nano Banana 2.1降价了,价格直接腰斩。按常理想,原来一个月花100元的API调用费,现在应该50元就够了。可我这几个月盯着账单数据,发现事情远没有这么简单——有些月份总花费只降了10%出头,甚至有一个周五的峰值账单比降…

2026/10/13 19:39:21 阅读更多 →

日新闻

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

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

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

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/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

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

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

2026/10/13 16:22:04 阅读更多 →
影刀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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →