国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網

標題: RK3568如何采用FRAM的方案 [打印本頁]

作者: 繁花之語    時間: 2023-10-19 09:29
標題: RK3568如何采用FRAM的方案

對于做快速存儲采集數據類產品的用戶來說,在處理突發掉電情況時需要保存現有數據并避免數據丟失,這種情況下有很多種解決方案,鐵電存儲器(FRAM) 就是個很好的選擇。FRAM是一種具有快速寫入速度的非易失性存儲器,既可以進行非易失性數據存儲,又可以像RAM一樣操作。


本文將借助飛凌嵌入式OK3568-C開發板來為大家介紹一種采用FRAM的方案——使用SPI0掛載PB85RS2MC (FRAM) 芯片。本文所描述的驅動文件和應用文件,可聯系飛凌嵌入式的技術支持獲取。

修改思路——

我們要添加一個SPI設備,需要進行如下操作:在設備樹中添加描述→設備樹描述中對應設備驅動→設備驅動添加到內核。


修改結果——

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

修改如下:


接下來筆者為大家介紹一下適配的過程。

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鐵電存儲芯片的斷電數據保留特性。








歡迎光臨 電子工程網 (http://m.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 一本久道热中字伊人 | xxxx性欧美 | 黄色45分钟 | 青草青草久热精品视频在线观看 | 五月天精品 | 99热成人 | 国产一级一片免费播放视频 | 国产欧美日韩综合一区二区三区 | 最近韩国高清免费观看 | 亚洲欧美日韩精品高清 | 99re九精品视频在线视频 | 日本韩国经典剧情片免费在线 | 国产一区日韩二区欧美三区 | 2022国产精品福利在线观看 | 国产精品va一区二区三区 | 大焦伊人 | 日韩欧美中文字幕一区 | 国产高清一区二区 | 性生生活三级视频在线观看 | 在线观看国产三级 | 精品国产高清毛片 | 欧美男人天堂 | 日韩一级片 韩国 | 日本人亚洲人jizz | 国产美女动态免费视频 | 国产在亚洲线视频观看 | 日韩精品永久免费播放平台 | 黄色成人免费观看 | 538在线视频 | 亚洲欧美视频在线 | 欧美日韩亚洲二区在线 | 天堂在线最新版在线www | 女仆胸大又放荡的h | 亚洲va国产日韩欧美精品色婷婷 | 欧美成人中文字幕在线视频 | 天堂在线www | 在线a久青草视频在线观看g | 成人免费黄色片 | 岛国视频在线观看 | 拍拍叫痛的无挡视频免费 | 欧美日韩亚洲视频 |