色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

飛凌嵌入式 ? 2023-09-22 08:01 ? 次閱讀

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

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

wKgaomUNLLWAGEVUAAswXLOa2P8057.png

修改思路——

我們要添加一個(gè)SPI設(shè)備,需要進(jìn)行如下操作:在設(shè)備樹(shù)中添加描述→設(shè)備樹(shù)描述中對(duì)應(yīng)設(shè)備驅(qū)動(dòng)→設(shè)備驅(qū)動(dòng)添加到內(nèi)核。

修改結(jié)果——

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

修改如下:

wKgZomUNLLSANdvaAABPzdVFgIY691.png

接下來(lái)筆者為大家介紹一下適配的過(guò)程。

1驅(qū)動(dòng)程序

我們?cè)趍enuconfig中搜索fm25、pb85等比較常用的FRAM字眼,發(fā)現(xiàn)并沒(méi)有類似的驅(qū)動(dòng)程序,這時(shí)就需要手寫(xiě)或者移植一個(gè)驅(qū)動(dòng)程序。在搜遍各大網(wǎng)站之后找到了一個(gè)W25Q64的驅(qū)動(dòng),對(duì)比了一下PB85RS2MC的各種操作碼以后,發(fā)現(xiàn)兩者的操作碼大差不差,因此就決定將W25Q64的驅(qū)動(dòng)移植過(guò)來(lái)。根據(jù)PB85RS2MC芯片手冊(cè)中敘述,各種操作碼為:

wKgaomUNLLSALoEvAABtDv-Auc8420.pngwKgaomUNLLSAZXBHAACtEB3NdO8457.png

因此,在驅(qū)動(dòng)程序中宏定義以下操作碼,以便在接下來(lái)的驅(qū)動(dòng)程序中使用:

wKgaomUNLLSAEDX6AABfbutbbhc581.png

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

wKgZomUNLLSADSg2AAAn3A8N7PU443.png

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

wKgaomUNLLWAE5y9AAEy-kKXQ6A161.png

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

wKgZomUNLLWAW-zNAAEMDpORhwQ830.png

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

wKgZomUNLLWAdGWzAADO54z3BBY537.png

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

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

wKgZomUNLLaAZW4qAACHMMXcNdA300.png

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

wKgZomUNLLaAV59NAAEcFHGFPcA629.png

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

wKgaomUNLLWAKSgqAAC3OevAyvI947.png

2應(yīng)用程序

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

0是要寫(xiě)入的地址,forlinx是要寫(xiě)入的內(nèi)容)。

wKgZomUNLLWAH16AAABAno9ueFo543.png

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

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

wKgaomUNLLWAYI3SAACa-WUUmYY162.png

3實(shí)際測(cè)試

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

wKgZomUNLLaAFlqKAAAHj-gd_2M770.png

(2)用insmod加載fram.ko模塊,出現(xiàn)spi_probesuccess!說(shuō)明驅(qū)動(dòng)和設(shè)備樹(shù)匹配成功。

wKgaomUNLLaAO9AAAAAQhaNT3o0389.png

(3)在/dev/下看有沒(méi)有pb85rs設(shè)備。

wKgZomUNLLaAPZrEAABAHQ86q0g442.png

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

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

wKgaomUNLLaAaw_yAAAHhKDczY0550.png

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

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

wKgaomUNLLaARx76AAAH51tqjbc199.png

4斷電測(cè)試

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

wKgaomUNLLaARky6AAAH3EAxK3A543.png

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

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

    關(guān)注

    455

    文章

    50714

    瀏覽量

    423138
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1706

    瀏覽量

    91502
  • 嵌入式開(kāi)發(fā)

    關(guān)注

    18

    文章

    1028

    瀏覽量

    47563
  • fram
    +關(guān)注

    關(guān)注

    2

    文章

    282

    瀏覽量

    79388
  • RK3568
    +關(guān)注

    關(guān)注

    4

    文章

    514

    瀏覽量

    5034
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    瑞芯微RK3568 USB驅(qū)動(dòng)

    瑞芯微RK3568 USB驅(qū)動(dòng)程序
    發(fā)表于 11-11 14:18 ?1次下載

    RK3568燒錄工具

    RK3568 燒錄工具
    發(fā)表于 11-11 14:16 ?5次下載

    迅為RK3568驅(qū)動(dòng)指南|如何在Linux中使用模擬SPI

    瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工藝,搭載一顆四核Cortex-A55處理器和MaliG522EE圖形處理器。RK3568支持4K解碼和1080P編碼,支持
    的頭像 發(fā)表于 08-01 13:37 ?1937次閱讀
    迅為<b class='flag-5'>RK3568</b>驅(qū)動(dòng)指南|如何在Linux中使用模擬<b class='flag-5'>SPI</b>

    RK3568開(kāi)發(fā)板支持AMP雙系統(tǒng)

    RK3568開(kāi)發(fā)板支持AMP雙系統(tǒng)
    的頭像 發(fā)表于 06-04 15:33 ?706次閱讀
    <b class='flag-5'>RK3568</b>開(kāi)發(fā)板支持AMP雙系統(tǒng)

    基于HD-RK3568-CORE設(shè)計(jì)的HD-RK3568-OPS主板上新!

    HD-RK3568-OPS主板基于HD-RK3568-CORE 工業(yè)級(jí)核心板設(shè)計(jì),支持標(biāo)準(zhǔn)OPS接口,具有即插即用、操作簡(jiǎn)單的特點(diǎn),適用于數(shù)字標(biāo)牌、自助終端、教育一體機(jī)等應(yīng)用場(chǎng)景。
    的頭像 發(fā)表于 04-19 18:08 ?1047次閱讀
    基于HD-<b class='flag-5'>RK3568</b>-CORE設(shè)計(jì)的HD-<b class='flag-5'>RK3568</b>-OPS主板上新!

    rv1126和rk3568對(duì)比

    rv1126和rk3568對(duì)比: 瑞芯微智能視覺(jué)芯片RV1126是瑞芯微新一代智能視覺(jué)芯片,基于四核ARM Cortex-A7內(nèi)核,內(nèi)置2T算力 NPU,支持4K30FPS H.264/H.265
    的頭像 發(fā)表于 01-23 18:05 ?1.1w次閱讀
    rv1126和<b class='flag-5'>rk3568</b>對(duì)比

    RK3568-GDB程序調(diào)試方法說(shuō)明

    RK3568-GDB程序調(diào)試方法說(shuō)明
    的頭像 發(fā)表于 01-19 16:16 ?1825次閱讀
    <b class='flag-5'>RK3568</b>-GDB程序調(diào)試方法說(shuō)明

    RK3568-MQTT通信協(xié)議案例

    RK3568-MQTT通信協(xié)議案例
    的頭像 發(fā)表于 01-19 15:31 ?1797次閱讀
    <b class='flag-5'>RK3568</b>-MQTT通信協(xié)議案例

    RK3568--Acontis EtherCAT主站開(kāi)發(fā)案例

    RK3568--Acontis EtherCAT主站開(kāi)發(fā)案例
    的頭像 發(fā)表于 01-19 14:59 ?815次閱讀
    <b class='flag-5'>RK3568</b>--Acontis EtherCAT主站開(kāi)發(fā)案例

    RK3568--系統(tǒng)啟動(dòng)階段LOGO顯示

    RK3568--系統(tǒng)啟動(dòng)階段LOGO顯示
    的頭像 發(fā)表于 01-19 14:44 ?1107次閱讀
    <b class='flag-5'>RK3568</b>--系統(tǒng)啟動(dòng)階段LOGO顯示

    RK3568---NPU開(kāi)發(fā)案例

    RK3568---NPU開(kāi)發(fā)案例
    的頭像 發(fā)表于 01-19 13:50 ?914次閱讀
    <b class='flag-5'>RK3568</b>---NPU開(kāi)發(fā)案例

    RK3568-ISP圖像處理開(kāi)發(fā)案例

    RK3568-ISP圖像處理開(kāi)發(fā)案例
    的頭像 發(fā)表于 01-19 11:46 ?1072次閱讀
    <b class='flag-5'>RK3568</b>-ISP圖像處理開(kāi)發(fā)案例

    RK3568--基于AMP的多通道AD采集開(kāi)發(fā)案

    RK3568--基于AMP的多通道AD采集開(kāi)發(fā)案
    的頭像 發(fā)表于 01-19 10:03 ?959次閱讀
    <b class='flag-5'>RK3568</b>--基于AMP的多通道AD采集開(kāi)發(fā)案

    RK3568-視頻開(kāi)發(fā)案例

    RK3568-視頻開(kāi)發(fā)案例
    的頭像 發(fā)表于 01-18 15:51 ?865次閱讀
    <b class='flag-5'>RK3568</b>-視頻開(kāi)發(fā)案例

    rk3568和3588對(duì)比

    在現(xiàn)代高科技領(lǐng)域中,芯片的選擇對(duì)于軟件和硬件開(kāi)發(fā)的成功至關(guān)重要。而在市場(chǎng)上最具影響力的芯片制造商之一,在旗下推出了RK3568和3588芯片。這兩款
    的頭像 發(fā)表于 12-27 15:57 ?1.4w次閱讀
    主站蜘蛛池模板: 一级做a爰片久久毛片免费| 伊人久久大香线蕉avapp下载| 97人妻AV天天澡夜夜爽| 国产偷国产偷亚洲高清人乐享| 两个女人互添下身高潮自视频| 我要色色网| OLDMAN老头456 TUBE| 久久re视频这里精品免费1| 视频成人app永久在线观看 | 一个人在线观看免费视频 | 色拍拍噜噜噜啦啦新网站| 正在播放国产尾随丝袜美女| 国产欧美日韩国产高清| 日本伦理电影聚| 99re在这里只有精品| 久久极品视频| 亚洲免费在线视频| 国产精品99精品无码视亚| 秋霞最新高清无码鲁丝片| 97超级碰久久久久香蕉人人| 久草精品在线| 亚洲乱亚洲乱妇在线观看| 国产乱妇乱子在线播视频播放网站 | 换脸国产AV一区二区三区| 偷拍国产精品在线播放| 草莓国产视频免费观看| 内射少妇36P亚洲区| 最近日本MV字幕免费观看视频| 精品一品国产午夜福利视频| 亚州三级视频| 国产精品亚洲国产三区| 四虎影院网红美女| 调教玩弄奶头乳夹开乳震动器| 欧美一级情欲片在线| 99福利在线| 柠檬福利精品视频导航| 99re久久热在线视频| 果冻传媒独家原创在线观看| 果冻传媒在线播放 免费观看| 小黄飞二人转| 国产精品福利片|