登录社区云,与社区用户共同成长
邀请您加入社区
这段时间AI Coding非常火,之前是纯软件,这段时间则逐渐衍生到硬件开发领域。这段时间学长也一直在尝试了解芯各芯片原厂和方案公司在AI编程端的进展,截止目前,我们也看到很多芯片公司在AI coding的平台、工具和SDK上推出了一些新的开发模式。今天这篇文章,把这部分的信息和大家分享下。
展锐7731E Android8.0 Sprd TEE 32位指纹代码移植步骤简述一,一般展锐的TEE 都会有TEE SDK 移植说明文档, 根据该说明文档让方案给出相关的SDK;1,客户(方案,或者终端)提供给指纹厂商的资料如下,不同平台给出的资料会有差别,这个可与方案商或者展锐咨询:1、9832aA、patch 中的 tos binB、SDKC、ca 用到的库文件提供system/core/t
盛科7132, FT-2000,交换机
1. AMBA总线概述AMBA2.0 以上版本都是基于单沿时钟、单向信号线的协议[1]。现在市场上大部分的基于 AMBA 架构的 SoC 产品, 系统总线采用 AHB, 外部总线采用 APB。系统总线负责连接例如 ARM 嵌入式处理器、DMA 控制器、片上存储器或其他需要高带宽的元件。 外围总线则是用以连接系统的外围元件, 其协议相对来说较为简单, 而两种总线通过总线桥相连。 通过这种机...
调试方式仿真器Python 与 芯片的结合调试,通过target 设置芯片类型和芯片device_id,从而与npu获得连接主要流程步骤参照demo,如下是自己封装的简单接口class RknnHandle:def __init__(self, mean_values, std_values):self.rknn = RKNN()self.rknn.config(mean_values
1. 安装远程用的软件:sudo apt-get install xrdp vnc4server xbase-clientssystemctl enable xrdpsystemctl start xrdp2. 创建用户useradd -s /bin/bash -d /home/zhaobsh -m zhaobshpasswd zhaobs...
主页https://browser.360.cn/se/linux/龙芯(mips64el)http://down.360safe.com/gc/browser360-cn-stable-10.0.2012.0-1.mips64el.rpmhttp://down.360safe...
飞腾E2000Q, 128M QSPI FLASH
编写任何硬件驱动,核心原则都是分层解耦。| 应用层 (Application) | 显示字符串、数字、图片、汉字| 逻辑层 (Logic / Display API) | OLED_ShowChar, OLED_ShowNum, OLED_Clear...| 传输层 (Transport / HAL) | OLED_WR_Byte(dat, cmd) ← 唯一抽象接口| 硬件层 (HW Abstr
本文详细介绍了基于STM32F407硬件SPI驱动GD25Q32存储模块的实践方法,包括硬件连接、SPI基础配置、芯片特性、关键指令实现及调试技巧。通过实战代码示例和常见问题排查,帮助开发者快速掌握嵌入式系统中SPI Flash的驱动开发与优化策略。
本文深入探讨嵌入式C语言面试中指针与内存管理的10个关键问题,包括野指针防御、内存对齐优化、函数指针应用等核心知识点。针对嵌入式系统特性,提供实战代码示例和解决方案,帮助开发者掌握大厂面试必备的硬核技能。
标准SPI(Mode 0)CPOL=0(空闲时钟低),CPHA=0(上升沿采样)数据在下降沿改变,上升沿稳定时钟周期均匀,易于用标准SPI外设或DMA实现自定义NRZ协议(以WS2812B为例)无独立时钟线,数据编码在脉宽中Bit 0:250ns高电平 + 750ns低电平Bit 1:750ns高电平 + 250ns低电平总周期1μs,但高低电平比例不同标准SPI无法生成这种非对称时序;custo
DMA是直接内存访问,它允许外设和内存之间直接搬运数据,不需要CPU参与每一个字节的传输。│ 方式1:轮询(Polling) ││ CPU一直在等,干不了别的事 ││ while(!flag);← CPU在这空转 ││ 适合:数据量小、对实时性要求不高 ││ 方式2:中断(Interrupt) ││ 每传完一个字节/一组数据,中断通知CPU ││ CPU被打断 → 保存现场 → 处理 → 恢复现场
今天完成了 Day5 的 UART 二进制帧解析练习,重点掌握帧字段组成、LEN 定义、半包保留、噪声跳过、checksum 错误后的重新同步,以及 UART/TCP 粘包的共同点。调试中修正了 checksum 下标和 used_len 少算 1 字节的问题,最终 Day5 练习通过验证。
Bootloader是启动加载器初始化硬件判断是否需要更新固件如果需要,从串口/USB/网络接收新固件并写入Flash跳转到应用程序执行│ Bootloader工作流程: ││ ││ 上电 → Bootloader启动 → 检查更新标志 ││ ↓ ↓ ││ 有更新请求 无更新请求 ││ ↓ ↓ ││ 接收新固件 跳转到APP ││ 写入Flash ↓ ││ 清除标志 APP运行 ││ 跳转到APP
专为电热炉、恒温箱、半导体致冷等一阶惯性温度对象设计的轻量级模糊PID控制方案,核心特点是输入输出论域能随实际传感器采样周期、执行器响应速度和目标温度范围动态匹配,避免通用参数导致的超调或响应迟缓。源码仅含vague_PID.c和vague_PID.h两个标准C文件,无第三方库依赖,支持在STM32、ESP32、Arduino等主流MCU上直接编译运行。通过设定温度阈值触发模糊规则自整定机制,实时
本文探讨了汽车电子控制单元(ECU)的OTA升级技术,重点介绍了A/B分区设计和启动引导器的实现原理。文章以向全球97万辆汽车推送固件更新为场景,阐述了OTA升级面临的可靠性挑战。 核心内容: A/B分区架构确保升级过程中始终保留一个可启动的备份系统 启动引导器作为独立代码段负责选择正确的启动分区并验证签名 分块传输机制应对不可靠的网络环境 多重验证机制(签名验证、完整性检查、自检)保障升级安全性
我不是写软文。我调研过,也问过从那里出来的学员。“面试时我把做的BMS项目一讲,技术主管直接让我下周入职。“以前自己学,代码能跑就行。去了才知道,量产要考虑温度、EMC、成本、供应链,完全是另一个世界。“老师的口头禅是:‘这个bug我当年量产时也遇到过,来,我告诉你为什么。’”“车载无线充那个项目,面试官问我线圈Q值检测怎么做的,我直接画出等效电路和算法流程,当场就发offer了。如果你正在找嵌入
本文探讨了医疗器械和科学仪器中嵌入式系统开发的挑战与平台化解决方案。传统开发模式面临驱动复用困难、业务流程耦合、异常处理复杂等问题。趋盛科技提出平台化思路,将硬件抽象为标准化虚拟组件,构建分层架构(硬件配置层、驱动适配层、流程编排层),支持多执行器协同调度和状态机管理。通过Trend系列平台(TrendCompile/TrendView/TrendOptimize)实现硬件配置、可视化流程编排和运
本期博客主要讲解配套辅助任务 InfoTask(信息管理任务),期串口日志打印 + 四路电量 LED 指示灯,开发调试与人机交互。
BMS_AnalysisTask 是整套 BMS 的算法核心,承接监控任务的原始数据,完成参数运算、温度补偿、SOC 与容量计算。
本期博客介绍了整套 BMS 的能量管理任务(BMS_EnergyTask)。
本文客观评价了STM32HAL库的优缺点,指出其显著降低嵌入式开发门槛的优势(图形化配置、统一架构、跨芯片兼容),尤其适合新手学习和快速开发。但深入分析其工程短板:过度封装导致底层能力缺失、量产场景下的稳定性问题、版本兼容性差及性能冗余。作者建议开发者辩证使用HAL库,在快速开发阶段合理利用其便利性,但对量产项目需进行深度优化,同时强调掌握寄存器原理等底层技术的重要性,避免陷入"调包式开
在嵌入式项目中,使用 ESP32 驱动一块 SPI 接口的 ST7789 屏幕,并跑起 LVGL 图形库,是非常常见的需求。ESP-IDF 提供了esp_lcd组件,将屏幕初始化、命令发送等底层操作封装得很好,而 LVGL 则提供了丰富的 UI 控件。本文将按照一条清晰的链路,从SPI 总线初始化 → 屏幕驱动适配 → LVGL 显示注册依次梳理,以我初学者的视角完成初始化LVGL所需的流程#de
AI创业公司的成本结构,与传统互联网公司完全不同。传统公司的最大成本是人力(占60%~70%)。AI公司的最大成本是云计算(占50%~70%),人力反而排第二。以一家典型的AI创业公司为例。10人团队,做对话AI产品。用户量10万,每日对话100万次。看起来规模不大,但月度云计算账单可能高达$5万~$10万。钱花在哪里了?存储账单:$5000/月(训练数据、模型文件、向量数据库)。计算账单:$30
本文介绍了嵌入式Linux操作系统的基本概念和组成。主要内容包括:1.操作系统作为用户与硬件间的桥梁,常见有Windows、Linux、Android等;2.嵌入式Linux由内核和系统应用程序组成,内核负责硬件调度,应用程序提供用户功能;3.虚拟机Ubuntu的使用方法,重点说明了Ubuntu与Windows在文件系统结构上的差异,Ubuntu采用树状目录结构而非盘符分区。文章还简要介绍了Ubu
从嵌入式到具身智能,中间隔着什么?答案很直接:市场已经不等了。2026年,工业自动化与机器人方向的工程师岗位增速领跑全行业,AIoT融合正成为新的增长极。企业对嵌入式工程师的能力要求早已越过“写驱动、调接口”的边界,转向“硬件开发 + AI算法 + 智能控制”的复合能力。产业端的信号同样清晰:MCU已进入智能化跃迁期,结构上从单核向多核异构演进,AI与MCU的“双向奔赴”正在催生大量边缘智能应用场
Python异步编程基于 async/await 构建协程,运行在事件循环中。协程生成 Task,遇到 await 时挂起,I/O 完成触发回调恢复运行,通过事件循环非阻塞调度并发任务,实现单线程高并发。
本文深入解析C++内存重排序机制,从单线程到多线程环境。第一章剖析重排序本质,展示编译器、CPU和内存系统三个层次的优化手段,强调as-if-serial语义对单线程程序的保护作用。第二章分类讨论数据依赖与控制依赖,通过代码示例说明RAW等四种依赖关系,并解释CPU如何通过寄存器重命名优化伪依赖。文章还揭示控制依赖的微妙性及现代CPU的投机执行机制。全文通过丰富案例和表格对比,系统阐述了重排序这一
本文深入解析C++继承中成员权限的变化规则,重点介绍三种继承方式(public/protected/private)对基类成员访问权限的影响。核心法则是:派生类成员的最终访问权限取其在基类中的权限和继承方式中更严格的一个。 关键点 权限等级:private > protected > public 权限变化规则 public继承:保持原权限(private除外) protected继承
指针是 “存储地址的变量”:可以被重新赋值、指向空、参与运算(如指针 ++),灵活性高但风险大,适合需要动态改变指向或直接操作地址的场景(如链表、动态内存管理)。引用是 “变量的别名”:必须初始化且不可更改指向,语法简洁安全,适合单纯的 “间接访问变量” 场景(如函数参数、返回值、简化代码)。简单说,引用是 “受限制的指针”—— 通过牺牲部分灵活性(不能改指向、不能为空),换来了更高的安全性和易用
当前mystring类因为不需要被继承,所以用private隐藏实现、public开放接口就足够,无需protected。如果未来有继承扩展需求,再根据实际场景(需要子类访问哪些内部成员 )决定是否引入protected。
【代码】C++代码解释:利用函数重载计算图形的面积,传入一个参数为圆,两个参数为矩形,三个参数为梯形。
除了Plotly Express,Seaborn的`sns.pairplot(df)`可一键生成变量间的配对图,而Pandas内置的`df.plot.hist()`能快速绘制直方图。数据可视化作为数据分析的关键环节,通过一行代码实现,不仅能提升工作效率,更能体现现代数据科学的精髓——用最简洁的工具解决最复杂的问题。例如,`px.line(df, x='date', y='sales')`清晰地表达
厂商专用库、编译器扩展、内联汇编/Intrinsics、硬件抽象层移植及混合编程等技术路径实现。开发者需根据具体硬件特性(如NVIDIA GPU、AMD GPU、华为NPU)同时关注内存管理、线程同步及跨平台兼容性,以实现高性能计算与代码可维护性的平衡。SYCL基于C++标准,提供更高层次的抽象,支持数据并行和任务并行。定义GPU内核函数(即该函数编译成GPU指令,而不是CPU指令):C/C++扩
嵌入式
——嵌入式
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net