嵌入式

anguoyang13 小时前
嵌入式
RK3588 上模型「能跑但很慢」:逐算子查 CPU 回退的完整方法与实测模型在 RK3588 上推理出了正确结果,不代表它在 NPU 上跑。算子不被 NPU 支持时,RKNN runtime 会静默回退到 CPU 执行:程序不报错、结果是对的、只有速度慢得莫名其妙。更麻烦的是,官方模型仓库(model zoo)里的模型一般都很干净,真正会回退的恰恰是大家自己改过结构、加过算子的模型——网上现成的经验帖帮不上忙,只能自己查。
xbronze18 小时前
嵌入式
STM32+RC522读取MIFARE 1K卡排坑实录项目地址github.com/xbronze/rfi…最近在做一个基于STM32F103C8T6和RC522的RFID门禁系统项目。由于使用现成的封装库,本以为读取UID、完成扇区密码认证和读写是分分钟的事,结果却在“认证失败”和“写块只写进一个字节”的泥潭里挣扎了好久。
La Pulga18 小时前
笔记·mcu·学习·嵌入式·freertos·实时操作系统
【FreeRTOS源码学习笔记】空闲任务与阻塞延时在前面的学习中,任务中的延时使用的是软件延时,即还是让 CPU 等待来达到延时的效果。使用 RTOS 的优势就是能充分发挥 CPU 的性能,永远不让它闲着。任务如果需要延时,也就不能再让 CPU 空等来实现延时的效果。RTOS 中的延时叫作阻塞延时,即任务需要延时时,会放弃 CPU 的使用权,CPU 可以去做其他的事情,当任务延时时间到,重新获取 CPU 使用权,任务继续运行,这样就充分地利用了 CPU 的资源,而不是空等。
小李不想当小白19 小时前
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
WDG看门狗(STM32标准库学习笔记)在上一章《PWR电源控制》中,我们学习了 STM32 的低功耗模式,知道了如何通过待机、停机、睡眠等方式让芯片在不需要全速运行时降低功耗。但低功耗也带来了一个新的问题:一旦程序在运行过程中跑飞、死循环或者受到干扰而卡住,系统可能长时间无法自行恢复,此时就需要一个“自动报警并复位”的机制来兜底。
La Pulga2 天前
单片机·mcu·学习·嵌入式·freertos·实时操作系统
【FreeRTOS源码学习笔记】任务切换任务切换是 FreeRTOS 内核中唯一由硬件异常机制直接承载的核心操作。它不是在 C 代码里“跳转”到另一个任务,而是一次完整的“冻结—决策—解冻”:在 PendSV 中把当前任务的寄存器现场写入其栈并回写 TCB,在 C 函数中选出下一个 TCB,再按新 TCB 的栈顶恢复现场,由硬件异常返回“无缝”回到新任务。
Sakura_j_h_2 天前
单片机·嵌入式硬件·51单片机·嵌入式·数码管·动态扫描·限流电阻
51 单片机驱动四位数码管:动态扫描、限流电阻与消影的取舍上周给实验室做一个小盒子,里面是一块 STC89C52,外面挂四位共阳数码管显示温度。面包板上先把程序跑通了,显示 1234 挺好看,我就直接照着焊到洞洞板上。结果同一套程序,焊完以后问题全冒出来了:数字 8 明显比 1 暗,最右一位有点发虚,连续显示十几分钟以后 P0 口附近摸着发烫,拿手机拍照还能看到横纹。
用户8351414049493 天前
嵌入式·源码
const的四种位置,含义完全不同前两天在调一块 imx6ull 的板子,写一个 I2C 从设备的驱动,编译的时候 gcc 报了一堆 warning,全是 assignment of read-only location 之类的。我心想不对啊,这个变量我明明是想让它能在初始化的时候赋值、后面运行的时候只读,怎么一赋值就报错。
Zevalin爱灰灰4 天前
linux·汇编·arm开发·嵌入式
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础参考教程:https://www.bilibili.com/video/BV1yE411h7uQ/?spm_id_from=333.1387.favlist.content.click
Zwawa4 天前
c语言·单片机·嵌入式
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机Q: 串口协议帧是什么? A: 它是给一串字节划定边界、并说明每个字节含义的约定,通常包含帧头、长度、内容和校验。
小李不想当小白4 天前
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
BKP备份寄存器与RTC实时时钟(STM32标准库学习笔记)在前一章节中,深入探讨了SPI通信外设的原理及其与W25Q64 Flash存储器的硬件连接与数据交互,重点实践了基于STM32标准库的硬件SPI配置与数据读写流程。该部分内容聚焦于外设驱动与外部设备通信,强调了时序控制与数据完整性保障。
La Pulga4 天前
数据结构·笔记·stm32·mcu·链表·嵌入式·freertos
【FreeRTOS源码学习笔记】链表的实现链表是 FreeRTOS 内核的核心数据结构。任务调度、延时、阻塞、事件等待等操作,本质上都是通过对不同链表进行插入、删除和遍历来完成的。list.c 与 list.h 提供的是一套为调度器高度定制的环形双向链表
凉、介4 天前
笔记·学习·嵌入式·arm
深入理解 ARMv7-A | Generic TimerARMv7-A Generic Timer 是 ARM 架构提供的一套标准化计时器框架,其功能并不局限于单个处理器核内部,而是分布在 SoC 中的多个硬件组件之间。 每个处理器核都拥有自己的 Generic Timer 控制接口,而所有核共享同一个 SoC 级系统计数器 System counter,从而为多核系统提供统一的时间基准。
La Pulga4 天前
笔记·stm32·mcu·学习·嵌入式·freertos·实时操作系统
【FreeRTOS源码学习笔记】任务创建在裸机系统中,系统的主体就是 main() 函数里面顺序执行的无限循环,在这个无限循环中,CPU 按照顺序完成各种操作。在多任务系统中,我们根据功能的不同,把整个系统分割成一个个独立的且无法返回的函数,这种函数我们称为任务。
Zevalin爱灰灰5 天前
linux·arm开发·嵌入式
Linux入门第二部分(ARM裸机篇) 第一章 开发环境搭建与了解参考教程:https://www.bilibili.com/video/BV1yE411h7uQ/?spm_id_from=333.1387.favlist.content.click
菜鸟小芯5 天前
ffmpeg·嵌入式
【Quectel Pi M2 实战】Day3 USB 摄像头图像采集:拍照、录像与踩坑记录(V4L2 + FFmpeg)目录【Quectel Pi M2 实战】Day3 USB 摄像头图像采集:拍照、录像与踩坑记录(V4L2 + FFmpeg)
Zwawa6 天前
c语言·单片机·嵌入式
串口为什么会丢字节:从轮询到中断和环形缓冲区Q: 串口接收为什么会丢字节? A: 因为硬件只有一个字节的接收位置,而主循环不一定在下一个字节收完之前路过那里。
zhangxp1236 天前
嵌入式
【Quectel Pi M2 实战】Day3 USB 摄像头图像采集:拍照、录像与踩坑记录(V4L2 + FFmpeg)目录【Quectel Pi M2 实战】Day3 USB 摄像头图像采集:拍照、录像与踩坑记录(V4L2 + FFmpeg)
用户8351414049496 天前
llm·嵌入式
本地跑小模型做语音唤醒:手上那块子能带动吗先说结论:能带动,但别指望它像手机喊"小爱同学"那样灵敏。我手上这块是 imx6ull 的开发板,512MB 内存,跑 Linux,之前一直拿来做点串口收发的小活。前阵子突发奇想,能不能让它听懂一句"你好板子",然后点亮一个 LED。折腾了差不多两个周末,中间翻车好几次,今天把过程完整写下来,包括我踩的坑。
小李不想当小白7 天前
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)在前一章节中,我们深入探讨了SPI通信协议的基本原理,并通过软件模拟的方式实现了与W25Q64 Flash存储器的交互。这一过程虽然有助于理解SPI时序的底层逻辑,但在实际应用中存在占用CPU资源多、通信速率受限等问题。随着系统对数据传输效率和实时性要求的提升,单纯依赖GPIO位操作来模拟SPI已难以满足高性能需求。
Zwawa7 天前
c语言·单片机·嵌入式
从 printf 到曲线:把数据送上 VOFA+上一回让板子学会了收发文本:按一下键,电脑上出现 Hello world;发一句 How are you?,它回一句问候。那时发的是“句子”——一串给人读的字符,用 Uart_SendString() 一个字节一个字节送出去。