嵌入式组件-----手撸一个fifo
fifo在很多场景下都能用到,例如在串口中断中来不及接受数据,可以将数据先缓存起来,在线程中再进行处理fifo也可以称为环形队列,填入数据时在头部填入,取数据从尾部取出FIFO.c#include "fifo.h" #include "stdio.h" void fifo_init(fifo_t *obj, uint8_t *data_buffer, uin
fifo在很多场景下都能用到,例如在串口中断中来不及接受数据,可以将数据先缓存起来,在线程中再进行处理fifo也可以称为环形队列,填入数据时在头部填入,取数据从尾部取出FIFO.c#include "fifo.h" #include "stdio.h" void fifo_init(fifo_t *obj, uint8_t *data_buffer, uin
在中断向量上遇到的坑在工作中遇到一个坑,APP烧录在FLASH_BASE(0x08000000)地址,但是将APP烧录在指定地址(0x08006000)后正常程序可以运行,但是freertos无法启动调度器,在网上查阅资料后发现是中断向量的问题什么是中断向量中断向量表实际上就是存放在Code区(也就是STM32内部的Flash区)从0x00000000地址开始的一个数组,数组的成员为4个字节,而且
最近在写boot升级代码时,需要上位机发送固件包到下位机,因为固件包太大,因此需要分包发送,分包发送涉及到校验问题,特意对crc16校验方法进行记录计算方法预置1个16位的寄存器为十六进制FFFF(即全为1,我称为种子);称此寄存器为CRC寄存器;把第一个8位二进制数据 (既通讯信息帧的第一个字节)与16位的CRC寄存器的低8位相异或,把结果放于CRC寄存器;把CRC寄存器的内容右移一 位(朝低位
ARM单片机使用自定义bootloader什么是BOOT懂得计算机的同学都知道,电脑在开机时,从上电的那一刻开始,首先会进入bios,这个bios的作用就类似于单片机中的bootloader。万一我们浏览某些不可言状的网站导致系统崩溃时,我们就可以在这个临时的系统(bios)中切换到另一个windows系统(PE)进行对主系统(APP)的抢救修复。同样的,我们单片机中APP分区崩溃或者需要更新时,
使用esp32远程发送邮件最近在网上冲浪时发现这么一个有意思的网站:SendCloud官网,这个网站主要是通过开放接口给用户,使用http申请发送短信或者发送邮件,一般来说通常发送的内容为广告邮件或者是短信验证码,如果使用esp32访问这个接口,就可以变相的使用esp32发送邮件,实现诸如数据上报、入侵检测之类的功能1、申请账号获取密钥sendcloud注册完成后默认是免费用户,每天有十条免费的邮
如果不将模型部署在边缘设备上加以使用,那我们的模型将毫无意义怎样在STM32上运行神经网络以及进行推理STM32最常用使用C语言开发,也有少许用micropython或者是lua开发,但是这些都不在主流范围内,再者说在STM32上使用torch等网络推理框架也是相当不现实。因此我们需要在C环境下使用神经网络推理框架,经过我的寻找,在github上找到了这几种使用C语言实现的推理架构:sipeed/
搭建一个怎样的模型KWS模型结构属于比较简单的模型结构,但是为了少走弯路,我计划使用现成的结构,我从这个演示视频参考而来:点击我跳转,这个KWS项目运行在AT32F403上,其网络模型结构为一个64个特征的普通卷积层,然后重复四次的DS-CNN卷积,在每次卷积后都进行一次relu,最后进行一次池化,用来减少全连接层的参数。模型部分代码如下:class Net(torch.nn.Module):
FATFS文件系统移植上文中完成了sd卡的驱动代码,本文陈述如何系统移植文件系统源码下载源码可以登录fatfs官网下载:http://elm-chan.org/fsw/ff/archives.html,我这里下载最新版本的源码包,下载完成后解压到本地大致浏览源码包的文件结构,主目录下有documents与source两个文件夹,其中documents中教会用户如何使用fatfs,source中主要
SD卡底层驱动移植最近希望了解一下文件系统与存储器读写是怎样勾搭起来的,写两篇文章做个记录,本篇文章简单陈述底层驱动的移植,下一篇文章记录移植文件系统的过程通信方式SD卡的通信方式主要有两种:四线SPI接口与SDIO接口,SDIO接口具有四根数据线,可以具有更高的通信速率,但是部分单片机没有SDIO接口,为了可移植性,大多数单片机会用SPI的通信方式与SD卡通信(主要我手上的平台也只能满足SPI协
入门神经网络三C环境部署为什么要部署到C环境上面两篇文章中,我们详细讲解了采集样本与样本训练,生成了一个模型文件,经过测试我们的模型成功率在90%以上,但是我们想将这个模型利用起来,实时检测我们的运动姿态,在ESP32上运行torch显然是不现实的。因此我们将参数保存下来,用C语言复现一遍,在esp32上运算这样才有实际使用价值。网络结构中的数据变化我们的第一层网络结构为5个卷积核的卷积层(包含r