登录社区云,与社区用户共同成长
邀请您加入社区
本文围绕凌霄运动源码的 STM32F407 工程,系统梳理了项目的整体结构、任务调度方式、控制流程与二次开发入口。文章重点分析了 `main.c`、`Ano_Scheduler.c`、`My_control.c`、`coordinate_control.c`、`mid360_receive.c`、`Drv_AnoOf.c`、`Drv_Uart.c` 等关键模块,说明飞行任务如何从初始化、调度执行到
本文详细介绍了在Linux开发板上用C语言点亮LED灯的全过程,重点讲解了裸机程序开发的关键环节。首先通过汇编文件start.S完成启动引导,包括声明全局入口、切换SVC模式、设置栈指针和跳转至main函数。接着通过头文件定义硬件寄存器映射,将芯片手册中的物理地址转换为可操作的变量名。然后在main.c中实现完整流程:使能时钟、初始化GPIO引脚、编写LED控制函数和延时函数,最后在主循环中实现L
文章摘要: YiheCode Server通过Spring Boot+Vue与Docker容器化技术,解决了AI视频分析领域因X86/ARM架构差异、GPU/NPU硬件碎片化导致的开发运维难题。其核心创新在于:1)利用Java跨平台特性实现异构环境无缝部署;2)插件化设计统一调度NVIDIA GPU与国产NPU算力;3)集成ZLMediaKit流媒体服务支撑边缘-云协同架构。该方案使企业代码复用率
摘要:先锋制造厂通过部署EdgePLC工业AI边缘控制系统,实现设备维护从被动"救火"到主动预测的升级。该系统在设备边缘端融合PLC控制与AI分析能力,实时监测振动、温度等数据,提前识别轴承磨损等故障特征。其独特价值在于形成"分析-预警-控制"闭环,可自动调整参数维持生产,而非简单报警。实施半年后,工厂非计划停机减少75%,维护成本降低30%,设备综合效率提
EdgePLC为传统制造业产线提供智能化升级方案。该方案通过集成PLC控制、工业计算和AI边缘能力,解决了信息孤岛、质量检测依赖人工、被动维护三大痛点。实施中保留现有设备,统一接入数据并部署AI质检和预测维护算法,实现产线实时监控、全自动质量检测和故障预警。升级后显著提升生产效率30%,降低维护成本,形成质量闭环优化系统。EdgePLC将传统产线进化为具有感知、分析和决策能力的"边缘智能
摘要:针对工业4.0背景下传统自动化架构存在的响应慢、成本高、灵活性差等问题,提出"EdgePLC+Node-RED+Docker"边缘计算解决方案。该方案通过边缘PLC提供本地计算能力,利用Node-RED低代码平台实现快速开发,结合Docker容器化技术实现模块化部署。典型案例显示,该方案能减少90%云端数据量,实现毫秒级响应,支持多协议转换和AI模型热更新,显著提升工业现
文章摘要: 工业自动化面临PLC(实时控制强)与工控机(计算能力强)的选择难题,传统组合方案复杂且低效。EdgePLC(工业边缘控制器)以“七位一体”设计融合两者优势,集成实时控制、边缘计算、AI分析、协议兼容、远程运维等功能,实现本地化智能决策与高效协同。其应用覆盖智能产线、预测性维护等场景,显著降低成本、提升效率,推动工业基础设施从功能化迈向智能化,成为未来智能制造的核心基石。
摘要: YiheCode Server是一款企业级AI视频管理平台,通过微服务架构和容器化技术(Spring Boot + Docker)实现跨平台兼容,覆盖云端GPU到边缘端NPU的全场景算力需求。其核心设计将业务逻辑与算力层解耦,利用Java的跨平台性和Docker容器化部署,支持X86、ARM等异构环境。边缘侧基于ARM+NPU架构实现本地AI推理,中心侧依托X86+GPU处理复杂计算,结合
Mubuntu是一个将完整Ubuntu 24 ARM系统移植到安卓手机的开源项目,完全通过Termux环境开发打包。项目依赖openjdk17、gradle等工具,总大小约3GB,最终打包仅30MB。已实现基础命令、apt包管理、vim编辑、Python3、Node.js和GCC等功能支持。目前存在nload报错、npm安装问题等已知缺陷,但基础环境已完备。该项目充分利用Termux环境,展示了在
通过 Wireshark,我们解剖了以太网帧、IP 数据报和 TCP 段的层层包裹;看清了三次握手的必然,弄懂了序列号的加法游戏,也窥探到了四次挥手背后的 TIME_WAIT 哲学。
我司发布MT8883高端5GIoT平台,基于4nm工艺打造,集成8核CPU架构(4×Cortex-A715+4×Cortex-A510),AI算力达24TOPS,支持5G Rel.16、Wi-Fi6E等全栈连接。平台具备双屏4K输出、200MP摄像接入能力,提供长达2031年的供货支持,适用于工业控制、智能终端、IoT网关等场景。通过实测验证,该平台可有效解决性能与功耗失衡问题,助力开发者快速实现
摘要:YiheCode Server是一个开源项目,旨在解决AI视频分析落地中的算力碎片化问题。它通过Java+Docker实现跨平台部署,兼容x86/ARM架构,并采用边缘-云协同设计。系统将算法模型与底层算子分离,支持GPU/NPU异构计算,通过动态加载推理引擎实现硬件适配。采用容器化交付和微服务治理,简化部署流程,支持硬件加速解码。该架构显著降低开发成本,提供灵活的边缘计算解决方案,实现&q
YiheCode Server通过微服务架构和容器化技术,有效解决了企业级AI视频分析中的算力碎片化问题。其核心在于硬件抽象层设计,支持x86和ARM架构的异构算力统一管理,实现"一次编写,到处运行"。平台采用ZLMediaKit流媒体服务,支持边缘推流模式,解决NAT穿透难题并优化带宽使用。通过智能资源编排和动态拉流机制,系统能自动分配算力资源,实现约40%的无效算力节省。该
摘要: YiheCode Server通过“容器化封装+算子级解耦”架构解决AI安防项目中的算力碎片化问题。基于Spring Boot的硬件抽象层(HAL)实现业务与硬件分离,利用Docker实现X86/ARM环境兼容,支持CUDA、RKNN等多种加速方案。平台通过资源池化动态调度GPU/NPU算力,结合零拷贝内存共享和流媒体协同优化,显著降低开发成本。其软硬解耦设计支持异构硬件即插即用,容器化部
本文探讨了企业级AI视频分析落地过程中面临的算力碎片化问题,提出了一种基于YiheCode Server的异构计算统一架构。该方案通过容器化与微服务设计,实现了x86 GPU与ARM NPU的兼容,支持边缘到中心的算力协同。系统采用ZLMediaKit流媒体内核实现负载均衡,通过智能拉流策略优化资源利用率,并利用Docker实现标准化部署。这种架构显著降低了95%的适配开发成本,解决了AIoT时代
原作者的初始化代码和市面上常见的 360*360圆屏并不兼容 会花屏。转载来自 nixgnauhcuy’s blog。我修改了代码并提供屏幕接线图。
本文介绍了内联汇编的概念及其在C语言中的应用。内联汇编允许直接在C代码中嵌入汇编指令,用于访问特定CPU寄存器、执行特殊指令或优化性能。文章通过两种方式实现加法运算:独立汇编文件遵循ARM调用约定;内联汇编使用占位符和约束条件实现C变量与寄存器的映射。重点阐述了两种方式的工作原理:独立汇编通过编译器自动生成寄存器加载指令,而内联汇编则由编译器自由分配寄存器。这些技术适用于需要直接控制硬件的底层开发
本文探讨了基于ARM Cortex-M3内核的STM32F103单片机系统时钟(SysTick)延时函数性能问题及优化方法。重构的延时函数不再影响系统安全。测试显示优化后1ms延时误差降至0.4‰,10s延时误差仅0.002%。虽然实际应用可能无需如此高精度,但为特定场景提供了可行的解决方案。文章最后指出,非阻塞式延时和外部定时器可能是更优选择,但对深入理解SysTick机制具有参考价值。
本文详细解析了STM32 GPIO的推挽输出和开漏输出模式。通过分析MOS管开关状态,解释了推挽输出如何通过交替导通P-MOS和N-MOS实现电流"推挽",而开漏输出则保持P-MOS关闭。重点阐述了开漏输出的电平匹配特性,可通过外接电源实现不同电压芯片间的控制,并支持线与逻辑。最后对比了普通GPIO与复用功能模式的差异,指出复用模式下输出信号直接来自片上外设。
本文介绍了基于银杏科技GT7000开发板的FMC通信实验。实验平台采用STM32H743XIH6处理器和Xilinx Artix-7 FPGA,通过FMC接口实现ARM与FPGA的数据交互。重点分析了FSMC的地址映射机制,详细说明了独立地址模式下的8位地址线使用和256字节寻址空间。实验方案通过STM32CubeMX配置FMC接口,在FPGA内部例化RAM缓存数据,通过对比写入和读回数据验证通信
摘要:本文详细介绍了在Keil MDK环境下将FreeRTOS移植到GD32F470开发板的完整流程。首先讲解了移植前的软硬件准备,包括FreeRTOS源码获取、GD32裸机工程搭建等基础工作。重点阐述了两种移植方法:手动移植(深入分析源码裁剪、文件添加及编译问题解决)和快速移植(利用现成模板)。针对常见问题如中断冲突、系统时钟定义等提供了具体解决方案,并提供测试代码验证移植效果。(149字)
摘要:本文详细介绍了GD32F407VE开发板驱动WS2812彩灯的完整方案。首先解析了WS2812的单线归零码通信协议及RGB颜色表示方式,重点阐述了0/1码的精确时序要求(220ns-1.6μs)。通过SPI+DMA的硬件驱动方式实现了高效控制,将每个WS2812的1bit编码为SPI的10bit(4分频10.5MHz),并提供了颜色格式转换、亮度调节等完整代码实现。该方法相比传统延时方案具有
模电的主要硬件器件有二极管,三极管,MOS管,下面我们对这个器件进行了解来熟悉模电基础。二极管是一种电子元件,通常由两种不同类型的半导体材料组成,一般为P型半导体和N型半导体,因此称为PN结。其主要特性是在正向偏置下有低电阻,而在反向偏置下有很高的电阻。二极管的在电路中的主要功能有:整流器,保护电路,信号的调制和解调,开关,光电二极管,稳压器。二极管通常分为:整流二极管,稳压二极管,发光二极管,光
本文分享了工业数据采集网关开发经验,重点介绍了系统架构设计、网络协议栈实现、串口驱动开发和CAN总线处理技术。项目采用STM32F407作为主控,通过分层架构实现对多种工业接口(RS232/RS485/RS422/CAN)的网络化转发。文中详细解析了LwIP协议栈移植、RS485方向控制、CAN波特率配置等关键技术难点,并提出了基于状态机的协议帧解析方案,有效解决了工业现场多协议转换问题。开发过程
实验基于银杏科技GT7000开发板和iToolXE仿真器,采用STM32H743芯片,研究外部存储器代码执行方案。通过对比XiP和BootROM两种模式:XiP直接从QSPI/NOR闪存执行代码,BootROM则需将代码从存储介质(SDCARD/SPI Flash)复制到外部RAM执行。实验详细配置了不同存储区域(DATA_AREA/CODE_AREA/BINARY_AREA)的定义规则,并分析了
使用JLINK实现调试打印,SEGGER_RTT的方式,重定向printf、scanf。
摘要:本文详细介绍了DAP仿真器的常见问题及解决方法,包括无法识别仿真器、识别不到芯片以及下载失败等问题。针对每种情况提供了具体的排查步骤,如更换USB接口、检查接线、调整MDK设置等。特别介绍了通过BOOT跳线强制进入下载模式的操作方法,以及使用CubeMX生成工程时的注意事项。对于硬件连接错误导致的MCU受损情况,也提供了应急处理建议。本文适用于使用DAP仿真器进行STM32开发的工程师和爱好
摘要: 本文介绍了CAN总线技术及其在STM32H743开发板上的应用。CAN总线是一种多主结构、基于优先级的现场总线,具有高可靠性(差分信号抗干扰、错误检测与处理)和广播通信特性。物理层包括闭环(40m/1Mbps)和开环(1km/125kbps)两种网络拓扑,节点通过控制器与收发器实现差分信号转换。差分信号通过抵消共模噪声确保数据传输的稳定性,显性电平(逻辑0)优先于隐性电平(逻辑1)。实验平
发现以前买的jlink ob 无法使用了(sn:20180929),新版本mdk keil5识别出是复制硬件。完成后拔插旧的jlinkob 会被识别出一个u盘,然后把stm32f103xb_if.bin或者stm32f103xb_stm32f103rb_if.bin粘贴进去。设备会重新枚举,如果刷的是stm32f103xb_if.bin就不会再出现虚拟U盘,但是功能正常使用。如果刷的是stm32f
如何构建”和“怎么传递”的答案,其实是一套维度清晰、策略明确、可复制用定义 build_type 与 options;让依赖图“拿得到”匹配二进制(预制或本地构建);用 CMake/CI 守卫一致性、拒绝混链。当这些基本盘扎实后,libzmqboost到你的上层库,Debug/Release 就会自然贯穿整张依赖图,而不是被迫“传参救火”。结语在我们的编程学习之旅中,理解是我们迈向更高层次的重要一
不管是这一期还是上一期,我们都多次提到一个词——设备树(Device Tree)。那这设备树是什么东西呢?设备树是Linux内核用来描述硬件信息的一种数据结构。它以一种与平台无关的方式描述了系统中的各种硬件设备及其属性,从而使得内核可以根据设备树的信息来初始化和管理这些设备。简单来说,设备树就像是一张硬件的“地图”,告诉内核系统中有哪些设备,它们的位置在哪里,以及它们是如何连接和配置的。因此,通过
本文介绍了基于STM32H743开发板的UDP通信实现。实验使用银杏科技GT7000开发板和iToolXE仿真器,配合STM32CubeMX、MDK开发环境。文章详细解析了UDP协议特性:无连接传输、数据报分组、简单校验机制,并对比了UDP与TCP的区别。重点阐述了UDP的单播、广播和组播三种通信方式,以及UDP在视频流媒体、在线游戏等实时性要求高的场景中的优势。最后通过CubeMX配置以太网RM
6. 根据自动生成的初始化代码,复制修改后,建立新的过程代码,主要是将自动生成的hsd.Init.BusWide = SDIO_BUS_WIDE_4B;改为SDIO_BUS_WIDE_1B。修改掉,另外增加了打印输出。后继在卡检测中再调用此代码。11.最后说几句,我也是“大神(俗称半桶水)”,用了1天半的时间只弄出来这点玩意,发出来让别的大神少走弯路。8. 编写卡检测,也是初始化与去初始化的入口。
Windows 10 22H2(版本号 19045)是微软的标准功能更新,引入了性能优化和新特性,如增强的安全功能和用户体验改进。其主流支持结束于2025年10月14日,但扩展支持持续到后续年份,确保2025年完全可用。LTSC 版本(如 Windows 10 LTSC 2021)专为关键任务环境设计,去除非必要更新,提供稳定性和长期支持(支持至2032年)。它基于 21H2 内核,但兼容 22H
在下载前,请确保访问 Microsoft 官网(https://www.microsoft.com)或授权平台,避免非官方来源带来的安全风险。Windows 10 22H2 标准版简介:22H2 是最新功能更新版,支持日常办公、娱乐和游戏。下载步骤访问 Microsoft 官网,搜索“Media Creation Tool”。下载并运行该工具,选择“为另一台电脑创建安装媒体”。在版本选项中,勾选“
本文介绍了基于STM32H743的USB开发实验平台,主要包含以下内容: 硬件平台采用银杏科技GT7000开发板和iToolXE仿真器,软件环境包含STM32CubeH7固件库、STM32CubeMX配置工具、MDK开发环境和串口工具putty。 详细介绍了USB协议标准,包括发展历程、接口规范及STM32H750自带的USB控制器特性,重点说明USB OTG高速模式需要外扩PHY芯片实现。 阐述
AS608指纹模块内置了传感器模块用于识别指纹特征,用户只需要对应用层进行开发即可。该模块页内置了一个Flash存储,用于用户记事本和指纹库的存储。下面看看用户记事本和指纹库的详细介绍:AS608指纹识别模块与单片机进行通信采用的是USART通信方式,所以要对串口进行相应的配置才能进行有效通信,具体配置要遵循官方手册:当然该模块的通信也给予了用户修改的权力,用户可以根据自己的需要自行修改。
XC7A100T-2FGG484I 赛灵思 Xilinx7 系列中的 Artix-7 家族 FPGA
实验基于银杏科技GT7000双核心开发板(STM32H743XIH6)和iToolXE仿真器,通过STM32CubeMX配置USB HID设备实现键盘功能。实验修改了USB接口描述符和报告描述符,将设备类型设为键盘(bInterfaceProtocol=1),并使用HID描述符工具确认键盘描述符。当按下开发板上的KEY1按键时,系统通过USB HID协议自动发送字符"A"。该实
本文介绍了基于STM32H743的USB CDC通信实验。实验采用银杏科技GT7000开发板和iToolXE仿真器作为硬件平台,使用STM32CubeH7固件库和MDK开发环境。文章详细讲解了USB CDC类的工作原理及软件框架,包括USB设备核心、类文件和底层驱动的分层结构。在STM32CubeMX配置中启用了USB设备模式并选择CDC类。实验通过调用HAL库实现USB通信,利用CH132实现高
MCU开发中栈耗尽常导致外设功能异常。除查看复杂map文件外,KEIL工具可生成更直观的AXF文件(需勾选callgraph选项),该文件能清晰显示栈空间使用情况、调用链深度等关键信息。生成路径在MDK的output文件夹,用浏览器打开即可查看。这种简便方法特别适合初学者快速定位栈空间问题。
在数据传输的同时,主设备可以在下一时钟周期内发起新的地址阶段请求,从而实现地址与数据的重叠传输。为了提高总线的整体传输效率,AMBA AHB 总线协议引入了 突发传输(Burst Transfer) 机制,使得多个连续地址的数据可以在一次地址阶段后连续传输,从而显著减少地址译码的开销并提升带宽利用率。在基本的单次传输模式中,每次传输都需要先进行地址阶段和从设备选择阶段,因此在每笔数据传输前都会产生
UVC(USB视频类)是由USB-IF制定的标准协议,用于规范USB视频设备与主机的通信。其核心特点是即插即用、支持多种视频格式和双向通信,通过标准化协议确保设备兼容性。UVC采用逻辑功能单元结构,支持等时和批量两种传输方式,适用于视频会议、直播等场景。主流操作系统均内置UVC驱动,开发者可通过标准接口访问设备。这一协议极大简化了视频设备的开发和使用流程,成为跨平台视频采集的重要标准。
arm开发
——arm开发
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net