
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
摘要:本文详细介绍了基于单片机的OTA(无线)升级技术,包括概念意义、工作原理和完整流程。系统采用双区域存储设计(A/B区),通过APP和Bootloader两阶段协作实现安全升级:APP阶段完成固件下载、校验和标志设置;Bootloader阶段执行固件解密、备份当前程序、写入新固件等关键操作。文章还分析了该技术在智能家居、工业设备等场景的应用价值,指出其灵活性高、可扩展性强等优势,同时也提醒注意

本文系统介绍了加密算法的基本概念与分类,重点解析了AES对称加密算法。内容涵盖:1.加密算法定义与分类(对称/非对称);2.对称加密典型算法DES和AES的工作原理及优劣势;3.AES的具体实现,包括128/192/256位密钥的差异、加密轮次、分组处理流程(密钥扩展、初始轮、主轮操作等);4.非对称加密原理及与对称加密的对比;5.混合加密方案的应用场景。文章通过数学示例(RSA算法)和信箱类比,
Bootloader是单片机系统中用于简化固件更新、分离应用逻辑和增强安全性的关键组件。本文介绍了开发一个最简单的Bootloader的步骤:1)配置Flash布局,划分Bootloader区和应用区;2)在Bootloader工程中实现跳转函数,包括验证应用有效性、设置栈指针和跳转地址;3)在应用工程中正确配置中断向量表偏移。核心原理是通过Bootloader初始化后跳转到应用复位向量,同时需注

本系统采用STM32CubeMX配置ADC+DMA实现数据采集,通过FreeRTOS实现双缓冲机制。系统初始化时创建两个缓冲区(buffer1/buffer2)、两个队列(queue1/queue2)和互斥锁。主流程包括:1)ADC完成转换后触发中断发送queue1通知线程A;2)线程A切换DMA目标缓冲区并发送queue2通知线程B;3)线程B处理就绪缓冲区数据。关键设计特点包括:双缓冲交替采集

本文系统解析了STM32启动流程,从硬件复位到用户程序执行的完整过程。主要内容包括:1. 启动阶段划分:BootROM硬件初始化→BootLoader执行→应用程序启动;2. 启动文件(.s)的核心作用:建立中断向量表、初始化栈/堆/全局变量、跳转至main函数;3. 中断向量表机制:物理存储位置可偏移但内容固定,复位向量指向Reset_Handler;4. BootLoader设计要点:独立工程
本文解析了STM32启动流程中的BootROM与BootLoader机制。BootROM是芯片出厂固化的只读代码,负责基础硬件初始化和启动模式选择;BootLoader则是可编程的软件层,提供高级初始化和固件更新功能。文章对比了两者的区别,指出BootROM位于芯片内核不可修改,而BootLoader存储在可擦写存储器中可高度定制。同时解释了为什么BootROM在地址映射中不可见的原因,并提供了相
本文解析了FreeRTOS在STM32中的内存分配机制。FreeRTOS采用heap4方案,通过未初始化的大数组在.bss段分配任务栈、控制块等资源。系统运行时,.data段数据从Flash拷贝到SRAM,堆空间在启动文件中定义。文章还指导如何通过.map文件查看.text/.data/.bss段的地址分配,以及Keil5环境下.map文件的打开与解析方法,帮助开发者理解STM32与FreeRTO
摘要: STM32存储结构解析:Flash作为ROM存储程序代码(.text段)和初始化数据(.data段初始值),而SRAM则用于运行时的.data段变量和.bss段内存分配。启动时,系统自动完成数据从Flash到SRAM的拷贝(.data)和清零(.bss)操作。.text段始终在Flash中执行,不占用SRAM空间。这种分层存储设计既保证了数据持久性,又提高了运行效率,通过链接脚本可查看各段
STM32定时器的TRGO(Timer Trigger Output Event)是一种硬件触发信号,用于实现外设间的精确同步。它通过内部连接自动触发ADC、DAC、DMA等外设,无需CPU干预,具有高精度和低延迟优势。开发人员可通过配置定时器CR2寄存器的MMS位选择触发源(如更新事件)。该功能在电机控制、电源转换等实时应用中尤为重要,能显著提升系统效率和响应速度,是硬件自动化协同工作的关键技术
FreeRTOS中二值信号量与互斥量的核心区别在于:二值信号量用于任务同步(无所有权概念,任何任务都可释放),适合事件通知场景;互斥量用于资源保护(具有所有权特性,必须由获取者释放),能防止优先级反转。关键差异体现在互斥量支持优先级继承机制,当高优先级任务等待时,持有互斥量的低优先级任务会临时提升优先级,避免被中优先级任务阻塞。使用原则:任务间同步选二值信号量,共享资源保护用互斥量,注意互斥量不可







