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

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

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

RK3568驅(qū)動(dòng)指南|第十六篇 SPI-第195章 實(shí)踐:移植官方mcp2515驅(qū)動(dòng)

北京迅為電子 ? 2024-07-31 16:17 ? 次閱讀

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工藝,搭載一顆四核Cortex-A55處理器和Mali G52 2EE 圖形處理器。RK3568 支持4K 解碼和 1080P 編碼,支持SATA/PCIE/USB3.0 外圍接口。RK3568內(nèi)置獨(dú)立NPU,可用于輕量級(jí)人工智能應(yīng)用。RK3568 支持安卓 11 和 linux 系統(tǒng),主要面向物聯(lián)網(wǎng)網(wǎng)關(guān)、NVR 存儲(chǔ)、工控平板、工業(yè)檢測(cè)、工控盒、卡拉 OK、云終端、車載中控等行業(yè)。

第195章 實(shí)踐:移植官方mcp2515驅(qū)動(dòng)
在前面的章節(jié)中從零編寫了一個(gè)mcp2515的驅(qū)動(dòng)程序,旨在對(duì)SPI驅(qū)動(dòng)相關(guān)的知識(shí)進(jìn)行學(xué)習(xí),但實(shí)際上mcp2515的驅(qū)動(dòng)程序在內(nèi)核中已經(jīng)提供了,在本章節(jié)將會(huì)講解如何移植官方mcp2515驅(qū)動(dòng)。

195.1 內(nèi)核和設(shè)備樹配置
Linux內(nèi)核源碼中默認(rèn)已經(jīng)有了MCP2515的驅(qū)動(dòng)程序,驅(qū)動(dòng)具體路徑為“l(fā)inux_sdk/kernel/drivers/net/can/spi/mcp251x.c”,所以只需要在make menuconfig圖形化配置界面選中即可。

> Networking support

> CAN bus subsystem support

> CAN Device Drivers

> CAN SPI interfaces

<*> Microchip MCP251x and MCP25625 SPI CAN controllers

然后在kernel/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10.dtsi設(shè)備樹中添加如下節(jié)點(diǎn):

&spi0 {
status = "okay";
pinctrl-0 = <&spi0m1_cs0 &spi0m1_pins>;
pinctrl-1 = <&spi0m1_cs0 &spi0m1_pins_hs>;

mcp2515: mcp2515@0 {
compatible = "microchip,mcp2515";
reg = <0>;
spi-max-frequency = <10000000>;
interrupt-parent = <&gpio0>;
interrupts = ;
pinctrl-names = "default";
pinctrl-0 = <&mcp2515_int>;
clocks = <&clk8m>;
status = "okay";
};

clk8m: clk8m {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <8000000>;
};
};


然后在pinctrl節(jié)點(diǎn)下添加以下內(nèi)容

mcp2515-gpio{
mcp2515_int:mcp2515-int {
rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};


保存修改配置,然后重新編譯內(nèi)核鏡像,修改好的設(shè)備樹以及編譯好的內(nèi)核鏡像存放路徑為“iTOP-3568開發(fā)板\03_【iTOP-RK3568開發(fā)板】指南教程\02_Linux驅(qū)動(dòng)配套資料\04_Linux驅(qū)動(dòng)程序\121_mcp2515_08”。

195.2 運(yùn)行測(cè)試
首先需要確保燒寫的是上一小節(jié)修改編譯出來的內(nèi)核鏡像,系統(tǒng)啟動(dòng)之后,輸入“ifconfig -a”命令,如下圖所示,可以看到生成的can1設(shè)備。

接下來輸入以下命令進(jìn)行回環(huán)測(cè)試:

ip link set can1 down

ip link set can1 type can bitrate 250000

ip link set can1 type can loopback on

ip link set up can1

candump can1 -L &

cansend can1 123#1122334455667788

如上圖所示,發(fā)送和接收的數(shù)據(jù)是一樣的,說明回環(huán)測(cè)試成功!

至此,移植官方MCP2515驅(qū)動(dòng)實(shí)驗(yàn)完成!
————————————————

版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。

原文鏈接:https://blog.csdn.net/BeiJingXunWei/article/details/140181160

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

    關(guān)注

    38

    文章

    4165

    瀏覽量

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

    關(guān)注

    17

    文章

    1706

    瀏覽量

    91578
  • 瑞芯微
    +關(guān)注

    關(guān)注

    23

    文章

    418

    瀏覽量

    51332
  • RK3568
    +關(guān)注

    關(guān)注

    4

    文章

    514

    瀏覽量

    5048
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    文檔更新 |迅為 RK3568開發(fā)板驅(qū)動(dòng)指南-第十五/十六

    運(yùn)行測(cè)試 194 如何在Linux中使用模擬SPI 194.1 內(nèi)核和設(shè)備樹配置 194.2 運(yùn)行測(cè)試 195
    發(fā)表于 07-08 11:04

    文檔更新 | 迅為RK3568驅(qū)動(dòng)指南-第十七篇(串口)

    194 如何在Linux中使用模擬SPI 195
    發(fā)表于 09-24 10:42

    迅為iTOP-RK3568開發(fā)板驅(qū)動(dòng)開發(fā)指南-第十 PWM

    mcp2515驅(qū)動(dòng)編寫:完善write和read函數(shù) 193 Linux中通用SPI設(shè)備驅(qū)動(dòng)
    發(fā)表于 10-29 10:13

    MCP2515資料表存疑

    大家好!我正在研究一個(gè)使用SPI實(shí)現(xiàn)CAN通信的項(xiàng)目。我使用MCP2515 E/ST作為CAN控制器,并且我有一個(gè)關(guān)于組件電源電壓范圍的非常簡(jiǎn)單的問題。數(shù)據(jù)表是21801E。在表13-1的DC特性
    發(fā)表于 09-30 09:34

    請(qǐng)問RK3399有飛凌mcp2515模塊的驅(qū)動(dòng)么?

    請(qǐng)問RK3399有飛凌mcp2515模塊的驅(qū)動(dòng)么?
    發(fā)表于 12-30 06:02

    如何解決擴(kuò)展CAN芯片MCP2515驅(qū)動(dòng)移植問題?

    擴(kuò)展芯片,能否提供一下MCP2515驅(qū)動(dòng)設(shè)備樹文件,或者移植方案。下面是我們的硬件設(shè)計(jì),用的是SPI2,中斷管腳是G20_SPI2_CS1B
    發(fā)表于 01-04 07:02

    RK3288上的can bus芯片MCP2515不能正常使用如何解決

    最近在rk3288 android5.1 上去支持can bus 芯片MCP2515, android5.1中內(nèi)核的版本為3.10.79, 已經(jīng)自帶了mcp2515驅(qū)動(dòng);嘗試使用,發(fā)
    發(fā)表于 08-10 16:22

    基于linux的MCP2515中斷配置問題

    linux下包含了MCP2515驅(qū)動(dòng)驅(qū)動(dòng)源碼里面中斷注冊(cè)請(qǐng)問下,這個(gè)spi->irq是SPI自己的中斷還是
    發(fā)表于 12-03 10:14

    iTOP-RK3568開發(fā)板驅(qū)動(dòng)指南第五-中斷

    _字符設(shè)備基礎(chǔ) 第三期_并發(fā)與競(jìng)爭(zhēng) 第四期_高級(jí)字符設(shè)備進(jìn)階 第五期_中斷 第六期_平臺(tái)總線 第七期_設(shè)備樹 第八期_設(shè)備樹插件 第九期_設(shè)備模型 第十期_熱插拔 第十一期_pinctrl子系統(tǒng) 未完待續(xù),持續(xù)更新中...嗶哩嗶哩搜索-迅為
    發(fā)表于 09-04 10:53

    更新 | 持續(xù)開源 迅為RK3568驅(qū)動(dòng)指南第十一篇-pinctrl子系統(tǒng)

    《iTOP-RK3568開發(fā)板驅(qū)動(dòng)開發(fā)指南》更新,本次更新內(nèi)容對(duì)應(yīng)的是驅(qū)動(dòng)第十一期_pinctrl子系統(tǒng)-全新升級(jí))視頻,后續(xù)資料會(huì)不斷更
    發(fā)表于 10-18 11:12

    MCP2515數(shù)據(jù)手冊(cè)

    中文版MCP2515數(shù)據(jù)手冊(cè) SPI轉(zhuǎn)CAN必備。
    發(fā)表于 03-22 14:20 ?40次下載

    RK3568驅(qū)動(dòng)指南驅(qū)動(dòng)基礎(chǔ)進(jìn)階-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)

    RK3568驅(qū)動(dòng)指南驅(qū)動(dòng)基礎(chǔ)進(jìn)階-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)
    的頭像 發(fā)表于 01-31 14:58 ?1159次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>|<b class='flag-5'>驅(qū)動(dòng)</b>基礎(chǔ)進(jìn)階<b class='flag-5'>篇</b>-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)

    RK3568驅(qū)動(dòng)指南驅(qū)動(dòng)基礎(chǔ)進(jìn)階-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)

    RK3568驅(qū)動(dòng)指南驅(qū)動(dòng)基礎(chǔ)進(jìn)階-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)
    的頭像 發(fā)表于 02-20 14:10 ?708次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>|<b class='flag-5'>驅(qū)動(dòng)</b>基礎(chǔ)進(jìn)階<b class='flag-5'>篇</b>-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)

    迅為RK3568開發(fā)板驅(qū)動(dòng)開發(fā)指南-輸入子系統(tǒng)

    迅為RK3568開發(fā)板驅(qū)動(dòng)開發(fā)指南-輸入子系統(tǒng)
    的頭像 發(fā)表于 02-23 15:11 ?881次閱讀
    迅為<b class='flag-5'>RK3568</b>開發(fā)板<b class='flag-5'>驅(qū)動(dòng)</b>開發(fā)<b class='flag-5'>指南</b>-輸入子系統(tǒng)

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

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