哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RK3568筆記分享——如何掛載SPI FRAM鐵電存儲芯片

飛凌嵌入式 ? 2023-09-22 08:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

wKgaomUNLLWAGEVUAAswXLOa2P8057.png

修改思路——

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

修改結果——

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

修改如下:

wKgZomUNLLSANdvaAABPzdVFgIY691.png

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

1驅動程序

我們在menuconfig中搜索fm25、pb85等比較常用的FRAM字眼,發(fā)現(xiàn)并沒有類似的驅動程序,這時就需要手寫或者移植一個驅動程序。在搜遍各大網站之后找到了一個W25Q64的驅動,對比了一下PB85RS2MC的各種操作碼以后,發(fā)現(xiàn)兩者的操作碼大差不差,因此就決定將W25Q64的驅動移植過來。根據(jù)PB85RS2MC芯片手冊中敘述,各種操作碼為:

wKgaomUNLLSALoEvAABtDv-Auc8420.pngwKgaomUNLLSAZXBHAACtEB3NdO8457.png

因此,在驅動程序中宏定義以下操作碼,以便在接下來的驅動程序中使用:

wKgaomUNLLSAEDX6AABfbutbbhc581.png

首先要在驅動程序中進行初始化函數(shù)和退出函數(shù),也就是spidev_init和spidev_exit,init函數(shù)里就是進行字符設備的初始化,注冊等的操作,exit函數(shù)就是要把我們注冊的東西在退出時都釋放掉,再者就是驅動程序和設備樹匹配,匹配是通過compatible屬性值匹配的,這里我們一定要和設備樹中的compatible屬性值一致,否則會匹配不成功。驅動程序中.compatible值如下圖所示。

wKgZomUNLLSADSg2AAAn3A8N7PU443.png

驅動和設備樹匹配成功以后就要執(zhí)行probe函數(shù),這里probe函數(shù)執(zhí)行了一些初始化和注冊主次設備號的操作。我們可以通過是否打印spi_probesuccess!來判斷驅動程序,是否和設備樹匹配成功。

wKgaomUNLLWAE5y9AAEy-kKXQ6A161.png

從PB85RS2MC芯片手冊中看讀的條件,讀取FRAM存儲單元的數(shù)據(jù),需要READ的操作碼,任意24位地址輸入到SI。第一個spi_transfer 結構體用于發(fā)送命令cmd 到SPI設備,在讀取數(shù)據(jù)之前準備設備,第二個是發(fā)送地址到SPI設備,第三個是接收從設備讀取的數(shù)據(jù)。

wKgZomUNLLWAW-zNAAEMDpORhwQ830.png

這段代碼實現(xiàn)了從 SPI設備中同步讀取數(shù)據(jù),并將數(shù)據(jù)復制到用戶空間的功能。

wKgZomUNLLWAdGWzAADO54z3BBY537.png

從PB85RS2MC芯片手冊中看寫的條件,WREN命令用于設置寫使能鎖存器。需要在寫操作(WRITE命令)之前使用WREN命令設置寫使能鎖存器,WRITE命令將數(shù)據(jù)寫入 FRAM存儲單元陣列。WRITE操作碼、任意24位地址和8位寫入數(shù)據(jù)輸入到 SI。

下面這段代碼實現(xiàn)了向SPI設備發(fā)送寫入使能命令的功能。

wKgZomUNLLaAZW4qAACHMMXcNdA300.png

這段代碼實現(xiàn)了向SPI設備同步寫入數(shù)據(jù)的功能。它先發(fā)送寫入使能命令,然后發(fā)送地址信息和數(shù)據(jù)。

wKgZomUNLLaAV59NAAEcFHGFPcA629.png

下面這段代碼向 SPI設備中同步寫入數(shù)據(jù)的功能,將用戶空間的數(shù)據(jù)復制到設備的發(fā)送緩沖區(qū),并調用spidev_sync_write 函數(shù)將數(shù)據(jù)寫入SPI 設備。

wKgaomUNLLWAKSgqAAC3OevAyvI947.png

2應用程序

向SPI設備寫數(shù)據(jù),調用lseek來改變寫入數(shù)據(jù)的位置,這樣就可以在整個SPI設備里寫數(shù)據(jù),如./writeframAPP /dev/pb85rs 0 forlinx

0是要寫入的地址,forlinx是要寫入的內容)。

wKgZomUNLLWAH16AAABAno9ueFo543.png

從SPI設備讀數(shù)據(jù),調用lseek來改變讀取數(shù)據(jù)的位置,這樣就可以在整個SPI設備里讀數(shù)據(jù),如./readframAPP /dev/pb85rs 0

0是要讀取數(shù)據(jù)的地址)

wKgaomUNLLWAYI3SAACa-WUUmYY162.png

3實際測試

(1)首先將fram.ko,readframAPP, writefram APP拷貝到OK3568-C開發(fā)板的任意文件夾中。

wKgZomUNLLaAFlqKAAAHj-gd_2M770.png

(2)用insmod加載fram.ko模塊,出現(xiàn)spi_probesuccess!說明驅動和設備樹匹配成功。

wKgaomUNLLaAO9AAAAAQhaNT3o0389.png

(3)在/dev/下看有沒有pb85rs設備。

wKgZomUNLLaAPZrEAABAHQ86q0g442.png

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

向設備寫數(shù)據(jù),1500是地址,forlinx是要寫入的內容。

wKgaomUNLLaAaw_yAAAHhKDczY0550.png

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

1500是要讀取數(shù)據(jù)的地址)

wKgaomUNLLaARx76AAAH51tqjbc199.png

4斷電測試

斷電一天后重新讀取PB85RS2MC的數(shù)據(jù),發(fā)現(xiàn)數(shù)據(jù)仍然存在。驗證了PB85RS2MC鐵電存儲芯片的斷電數(shù)據(jù)保留特性。

wKgaomUNLLaARky6AAAH3EAxK3A543.png

至此,我們就完成了在OK3568-C開發(fā)板上添加一個新的SPI鐵電存儲芯片的操作!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    463

    文章

    54345

    瀏覽量

    468648
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1897

    瀏覽量

    101990
  • 嵌入式開發(fā)

    關注

    18

    文章

    1165

    瀏覽量

    50207
  • fram
    +關注

    關注

    2

    文章

    290

    瀏覽量

    81131
  • RK3568
    +關注

    關注

    5

    文章

    654

    瀏覽量

    8089
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RK3568 Android11編譯環(huán)境搭建及報錯解決指南

    在嵌入式開發(fā)領域,RK3568 芯片憑借其出色的性能被廣泛應用?;?RK3568 進行 Android11 系統(tǒng)的開發(fā),首先要搭建好編譯環(huán)境。本文將詳細介紹在 Ubuntu20.04 系統(tǒng)上搭建
    的頭像 發(fā)表于 02-04 17:37 ?2027次閱讀
    <b class='flag-5'>RK3568</b> Android11編譯環(huán)境搭建及報錯解決指南

    迅為RK3576對比RK3568:AI算力與接口的全面躍遷

    迅為RK3576對比RK3568:AI算力與接口的全面躍遷
    的頭像 發(fā)表于 12-22 15:24 ?2329次閱讀
    迅為<b class='flag-5'>RK</b>3576對比<b class='flag-5'>RK3568</b>:AI算力與接口的全面躍遷

    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅動開發(fā)實戰(zhàn):RK3568內核模塊符號導出詳解

    【迅為工業(yè)RK3568穩(wěn)定可靠】itop-3568開發(fā)板Linux驅動開發(fā)實戰(zhàn):RK3568內核模塊符號導出詳解
    的頭像 發(fā)表于 11-21 13:25 ?1531次閱讀
    【迅為工業(yè)<b class='flag-5'>RK3568</b>穩(wěn)定可靠】itop-<b class='flag-5'>3568</b>開發(fā)板Linux驅動開發(fā)實戰(zhàn):<b class='flag-5'>RK3568</b>內核模塊符號導出詳解

    【HZ-RK3568開發(fā)板免費體驗】HZ-RK3568開發(fā)板操作系統(tǒng)編譯

    開發(fā)環(huán)境搭建好了后,接下來就是HZ-RK3568開發(fā)板操作系統(tǒng)編譯工作。 一、menuconfig 先確保虛擬機的開發(fā)環(huán)境OK。 sudo apt install build-essential
    發(fā)表于 08-17 09:15

    迅為RK3568?重制版RK3568驅動指南全面升級

    迅為RK3568 重制版RK3568驅動指南全面升級
    的頭像 發(fā)表于 07-28 15:25 ?3410次閱讀
    迅為<b class='flag-5'>RK3568</b>?重制版<b class='flag-5'>RK3568</b>驅動指南全面升級

    【HZ-RK3568開發(fā)板免費體驗】合眾HZ-RK3568開發(fā)板初次使用

    、HDMI接口 ⑤、4G與Debug Type-C接口、NVMe接口 ⑥、RK3568核心模塊部分 至于底板提供的兩路CAN接口,以及背面提供的MIPI-CS1接口,適配OV13850攝像頭,這里就不
    發(fā)表于 07-27 23:52

    【HZ-RK3568開發(fā)板免費體驗】合眾HZ-RK3568開發(fā)板測評

    5499.034MB/s、1531.39MB/s。 讀寫速度還是可以的。 2.eMMC讀寫測試 HZ-RK3568使用佰維存儲的eMMC,讀寫速度測試命令如下: 讀取測試: # time dd
    發(fā)表于 07-14 22:24

    Rockchip RK3568技術參考手冊

    電子發(fā)燒友網站提供《Rockchip RK3568技術參考手冊.pdf》資料免費下載
    發(fā)表于 05-17 17:24 ?56次下載

    揭秘RK3568 HDMI IN 實現(xiàn)核心:RK628D芯片的橋接方案

    MIPI-CSI才能獲取視頻信息。本文詳細介紹了基于RK3568平臺,通過視頻橋接芯片RK628D將HDMI-IN信號轉換為MIPI-CSI信號的調試過程。一、背景介
    的頭像 發(fā)表于 04-18 08:32 ?2951次閱讀
    揭秘<b class='flag-5'>RK3568</b> HDMI IN 實現(xiàn)核心:<b class='flag-5'>RK</b>628D<b class='flag-5'>芯片</b>的橋接方案

    HZ-EVM-RK3568-技術規(guī)格書

    電子發(fā)燒友網站提供《HZ-EVM-RK3568-技術規(guī)格書.pdf》資料免費下載
    發(fā)表于 04-17 15:47 ?2次下載

    HZ-CORE-RK3568-規(guī)格書

    電子發(fā)燒友網站提供《HZ-CORE-RK3568-規(guī)格書.pdf》資料免費下載
    發(fā)表于 04-17 15:45 ?0次下載

    一文掌握RK3568開發(fā)板Android13掛載Windows共享目錄

    在物聯(lián)網和邊緣計算場景中,開發(fā)板與PC端的高效文件交互尤為重要?,F(xiàn)以iTOP-RK3568開發(fā)板為例,詳細演示Android13系統(tǒng)如何通過CIFS協(xié)議掛載Windows共享目錄,實現(xiàn)開發(fā)板與PC的無縫文件共享。
    的頭像 發(fā)表于 04-17 13:54 ?1339次閱讀
    一文掌握<b class='flag-5'>RK3568</b>開發(fā)板Android13<b class='flag-5'>掛載</b>Windows共享目錄

    rk3568開發(fā)工具

    rk3568開發(fā)工具
    發(fā)表于 04-16 17:03 ?7次下載

    RK3568開發(fā)板教程:以iTOP-RK3568開發(fā)板為例 Android13通過CIFS協(xié)議掛載Windows共享目錄

    開發(fā)板與PC端的高效文件交互尤為重要?,F(xiàn)以iTOP-RK3568開發(fā)板為例,詳細演示Android13系統(tǒng)如何通過CIFS協(xié)議掛載Windows共享目錄,實現(xiàn)開發(fā)板與PC的無縫文件共享。
    的頭像 發(fā)表于 04-16 14:08 ?1985次閱讀
    <b class='flag-5'>RK3568</b>開發(fā)板教程:以iTOP-<b class='flag-5'>RK3568</b>開發(fā)板為例 Android13通過CIFS協(xié)議<b class='flag-5'>掛載</b>Windows共享目錄

    一文掌握RK3568開發(fā)板Android13掛載Windows共享目錄

    在物聯(lián)網和邊緣計算場景中,開發(fā)板與PC端的高效文件交互尤為重要?,F(xiàn)以iTOP-RK3568開發(fā)板為例,詳細演示Android13系統(tǒng)如何通過CIFS協(xié)議掛載Windows共享目錄,實現(xiàn)開發(fā)板與PC
    發(fā)表于 04-16 13:55
    佛冈县| 宝坻区| 湘潭市| 长岛县| 宣化县| 璧山县| 正镶白旗| 贡嘎县| 东至县| 涪陵区| 高雄县| 乌兰浩特市| 五原县| 上杭县| 新龙县| 景东| 庄河市| 新泰市| 潞西市| 阜平县| 虎林市| 庐江县| 崇仁县| 灵川县| 炉霍县| 邛崃市| 绵竹市| 陆川县| 宝兴县| 凭祥市| 嵩明县| 灌阳县| 高要市| 广宁县| 桐柏县| 青岛市| 太仓市| 杭锦后旗| 如皋市| 万荣县| 景东|