首页 » 科学 » RK3568笔记挂载SPI FRAM铁电存储芯片——飞凌嵌入式/PB85RS2MC_装备_数据

RK3568笔记挂载SPI FRAM铁电存储芯片——飞凌嵌入式/PB85RS2MC_装备_数据

神尊大人 2024-12-17 23:00:34 0

扫一扫用手机浏览

文章目录 [+]

本文将借助飞凌嵌入式OK3568-C开拓板来为大家先容一种采取FRAM的方案——利用SPI0挂载PB85RS2MC (FRAM) 芯片
本文所描述的驱动文件和运用文件,可联系飞凌嵌入式的技能支持获取。

修正思路——

我们要添加一个SPI设备,须要进行如下操作:在设备树中添加描述→设备树描述中对应设备驱动→设备驱动添加到内核。

RK3568笔记挂载SPI FRAM铁电存储芯片——飞凌嵌入式/PB85RS2MC_装备_数据 科学

修正结果——

修正 OK3568-linux-source/kernel/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi

修正如下:

点击添加图片描述(最多60个字)

接下来笔者为大家先容一下适配的过程。

1 驱动程序

我们在menuconfig中搜索fm25、pb85等比较常用的FRAM字眼,创造并没有类似的驱动程序,这时就须要手写或者移植一个驱动程序。
在搜遍各大网站之后找到了一个W25Q64的驱动,比拟了一下PB85RS2MC的各种操作码往后,创造两者的操作码大差不差,因此就决定将W25Q64的驱动移植过来。
根据PB85RS2MC芯片手册中阐述,各种操作码为:

因此,在驱动程序中宏定义以下操作码,以便在接下来的驱动程序中利用:

首先要在驱动程序中进行初始化函数和退出函数,也便是spidev_init和spidev_exit,init函数里便是进行字符设备的初始化,注册等的操作,exit函数便是要把我们注册的东西在退出时都开释掉,再者便是驱动程序和设备树匹配,匹配是通过compatible属性值匹配的,这里我们一定要和设备树中的compatible属性值同等,否则会匹配不堪利。
驱动程序中.compatible值如下图所示。

驱动和设备树匹配成功往后就要实行probe函数,这里probe函数实行了一些初始化和注册主次设备号的操作。
我们可以通过是否打印spi_probe success!
来判断驱动程序,是否和设备树匹配成功。

从PB85RS2MC芯片手册中看读的条件,读取FRAM存储单元的数据,须要READ的操作码,任意24位地址输入到SI。
第一个spi_transfer 构造体用于发送命令cmd 到SPI设备,在读取数据之前准备设备,第二个是发送地址到SPI设备,第三个是吸收从设备读取的数据。

这段代码实现了从 SPI设备中同步读取数据,并将数据复制到用户空间的功能。

从PB85RS2MC芯片手册中看写的条件,WREN命令用于设置写使能锁存器。
须要在写操作(WRITE命令) 之前利用WREN命令设置写使能锁存器,WRITE命令将数据写入 FRAM存储单元阵列。
WRITE操作码、任意24位地址和8位写入数据输入到 SI。

下面这段代码实现了向SPI设备发送写入使能命令的功能。

这段代码实现了向SPI设备同步写入数据的功能。
它先发送写入使能命令,然后发送地址信息和数据。

下面这段代码向 SPI设备中同步写入数据的功能,将用户空间的数据复制到设备的发送缓冲区,并调用spidev_sync_write 函数将数据写入SPI 设备。

2 运用程序

向SPI设备写数据,调用lseek来改变写入数据的位置,这样就可以在全体SPI设备里写数据,如./writeframAPP /dev/pb85rs 0 forlinx

(0是要写入的地址,forlinx是要写入的内容)。

从SPI设备读数据,调用lseek来改变读取数据的位置,这样就可以在全体SPI设备里读数据,如./readframAPP /dev/pb85rs 0

(0是要读取数据的地址)

3 实际测试

(1)首先将fram.ko, readframAPP, writefram APP拷贝到OK3568-C开拓板的任意文件夹中。

(2)用insmod加载fram.ko模块,涌现spi_probe success!解释驱动和设备树匹配成功。

(3)在/dev/下看有没有pb85rs设备。

(4)利用./writeframAPP /dev/pb85rs 1500 forlinx

向设备写数据,1500是地址,forlinx是要写入的内容。

(5)利用./readframAPP /dev/pb85rs 1500

(1500是要读取数据的地址)

4 断电测试

断电一天后重新读取PB85RS2MC的数据,创造数据仍旧存在。
验证了PB85RS2MC铁电存储芯片的断电数据保留特性。

至此,我们就完成了在OK3568-C开拓板上添加一个新的SPI铁电存储芯片的操作!

标签:

相关文章

发型设计,诠释个人风格的独特语言

在日常生活中,我们常常通过着装、配饰等外在因素来展现自己的个性与风格。在众多表达方式中,发型设计无疑是最直接、最生动的语言之一。正...

科学 2025-01-04 阅读0 评论0

后端入门,探索编程世界的神秘后盾

随着互联网技术的飞速发展,编程已经成为现代社会不可或缺的一部分。在众多编程语言中,后端编程语言凭借其稳定性、安全性和高效性,成为了...

科学 2025-01-04 阅读0 评论0