
存储类
文章平均质量分 62
坛城
沉心修炼,早日筑基
展开
-
从零实现 Cortex-M7从驱动到应用(二)SDRAM+RGB屏幕驱动
找来原来写的F429配置文章,我发现北极星和阿波罗不一样的地方,北极星支持RGB888、阿波罗只支持RGB565。但是北极星的教程仍用RGB565。这跟色域有关系,其实那么高的色域肉眼也很难分辨了,RGB565也够用了。所以我们还按照原来配置F429的那样去做试试看先。配置时钟为33M,但是系统时钟就要改变了,那么我们采用原子推荐的400,重新计算没问题,这样我们先生成代码编译一下看看...原创 2020-05-02 21:28:17 · 1125 阅读 · 0 评论 -
从零实现 IIC 、EEPROM
背景知识:IIC(inter-integrated circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。所用EEPROM是AT24C02,其容量为256个字节(也太少了吧,哪里够用啊!但是...原创 2020-01-06 10:58:13 · 1042 阅读 · 4 评论 -
从零实现 SPI_flash(W25Q256)
SPI是英语serial peripheral interface 的缩写,顾名思义就是穿行外围设备接口。是motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步的通信总线。并且在芯片的管脚上只占用4根线。SPI的主要特点:可以同时发送和接收串行数据...原创 2020-01-08 11:46:25 · 12714 阅读 · 0 评论 -
从零实现 SD卡
cubemx软件版本是V4.23.0,芯片型号是stm32f103zet6,SD卡是闪迪的64G tf卡,然后用了转大卡的卡槽。我起初是按照原子的实验去做,先验证自己的SD卡是好使的。据我所知也就是摄影吧,那么大的SD卡,手机、摄像头哪都用不到。原子的实验也没说他的SD卡是什么品牌,那我去问原子客服,他们官方卖四十,四个G,没有品牌。如果我以后用肯定是不能局限在原子那买卡,而且4G也太小了...原创 2020-03-24 15:21:32 · 1448 阅读 · 0 评论 -
从零实现 USB_SLAVE读卡器 USB_MSC+FATFS+SD/SPI_FLASH/NANDFLASH
要实现USB读卡器,就是F429从SD卡读数据,作为从设备用USB传输给主机。什么是OTG?OTG是On-The-Go的缩写,是近年发展起来的技术。2001年12月18日由USB Implementers Forum公布,主要应用于各种不同的设备或移动设备间的联接,进行数据交换。产生背景USB技术的发展,使得PC和周边设备能够通过简单的方式、适度的制造成本,将各种数据传输速度的设备连接...原创 2020-03-26 17:58:42 · 4935 阅读 · 13 评论 -
调试数据存储到nandflash的那些事儿(一):关于sizeof()的一些坑
前言:目前正在根据项目需求编写nandflash的存储和读取,但是由于不满意之前存储的方式,所以想按照自己的方式修改。但是中间遇到了一些问题,也是知其然不知所以然,我一个一个说吧。如何发现的过程我就不赘述了,都是一遍又一遍的debug得出来的结果。我们直接来看sizeof的应用吧,我先提个问题:1. uint32_t len; uint8_t a; ...原创 2019-08-12 20:19:30 · 572 阅读 · 0 评论 -
调试数据存储到nandflash的那些事儿(二): 存入nandflash的方式比较
书接上回我们讨论了sizeof的坑调试数据存储到nandflash的那些事儿(一):关于sizeof()的一些坑其实用到sizeof是因为我要把一些数据组成结构体存入进nandflash中,类似这样的方式 nand_address = PCBA_CalculateAddr(PCBA_SysData.u16PcbaSavedCount);//判断是否需要清除一下块 Ai...原创 2019-08-12 21:00:04 · 925 阅读 · 0 评论 -
调试数据存储到nandflash的那些事儿(三): 关于移位存入,强制类型转换读出的讨论
前言:前面我提到的第一种存入nand的方式中,我们看到因为nand的驱动关于存入的入口参数是uint8_t类型的,所以需要把我们的数据都转换为uint8_t的类型存入。而我的项目中需要存储的数据大多是float和uint32_t的。那么就涉及到类型的转换。问题:那么为什么要用到移位呢?这是第一种存储方式的部分代码: static uint32_t AD_Value; sta...原创 2019-08-13 17:32:03 · 417 阅读 · 0 评论 -
调试数据存储到nandflash的那些事儿(四):nandflash底层的简介
前言:在一个系统中,有三大类:数据、交互、质控。而数据则是根本中的根本,大部分嵌入式设备都是围绕着数据向用户提供着服务。而数据又分为采集、处理、存储、上传等具体细节。在我的设备中数据的存储是用nandflash进行存储的。所以研究nandflash,编写操作nandflash就显得极为重要。那么接下来有必要大概介绍一下nandflash:1.我们的板子配的为 IC_H27U1G8F2CB...原创 2019-08-21 16:52:19 · 1274 阅读 · 1 评论 -
调试数据存储到nandflash的那些事儿(五):对nandflash的寻址说明
作为用户,操作nandflash大部分操作无非就是 读、写、格式化。其中读写都一定得需要目标地址。如何根据需求,设定寻址方法就显得不可缺少了。比如说,需求是nandflash存储一年的分钟数据。请问如何存2019年8月21日00:00的分钟数据?一包分钟数据64字节/*************************************************************...原创 2019-08-21 17:53:10 · 468 阅读 · 0 评论 -
关于__attribute__((at(0x08010000)))的一些理解和实验
https://blog.youkuaiyun.com/weixin_42381351/article/details/89180609#comments你好,我自己也试了下,用const uint16_t FlashDefValue[3] __attribute__((at(0x08010000))) = {0x01, 0x02, 0x03};const uint32_t gFlash[3]__a...原创 2019-12-18 10:43:18 · 3553 阅读 · 2 评论 -
从零实现 FATFS+SD卡
cubemx软件版本是V4.23.0,芯片型号是STM32F103ZET6、STM32F429IGT6;SD卡是闪迪的64G tf卡,然后用了转大卡的卡槽,exFAT。该篇为调试过程,所以阅读时一定要看到尾,中间的判断是有误的!!!中间会涉及到F429是因为一直失败,我拿两个板子来回尝试。调试过程:注意,//在生成fatfs代码后,一定要在初始化SDIO时或者FATFS初始化...原创 2020-03-24 17:47:26 · 4072 阅读 · 1 评论 -
关于SDRAM自动刷新的理解
因为SDRAM是动态内存,也就是需要不断刷新才能保存数据,也就是存储体中的电容需要不断地刷新才能不会因为电容的自消耗而产生电位变化。这个我是理解的。但是又看到一句话:在刷新过程中,所有L-Bank都停止工作,而每次刷新所占用的时间为9个时钟周期,之后就可进入正常的工作状态,也就是说在这九个时钟周期内,所有工作指令只能等待而无法执行。那么问题来了,如果我就是在SDRAM自刷新的9个时钟周期间对其发送...原创 2019-12-19 10:02:00 · 6763 阅读 · 10 评论