日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

迅為2K1000龍芯開發(fā)板pmon BSP移植之配置CAN總線

北京迅為電子 ? 2022-01-20 14:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

移植pmon要比移植uboot難嗎?

和 uboot 移植相比,給開發(fā)板移植 pmon 難嗎?有什么區(qū)別呢。我們在移植 uboot 的時候,基本上是不 會在 uboot 的官網(wǎng)去下載純凈的 uboot 鏡像的,而是用的半導(dǎo)體廠家提供的 bsp 包里面的 uboot。為什么要 這么做呢?并不是說 uboot 官網(wǎng)里面的 uboot 源碼不能用,不能移植,而是 uboot 官網(wǎng)里面的 uboot 對相應(yīng)的 CPU 的支持不是很好。你想哈,誰對 CPU 最熟悉呢?肯定是半導(dǎo)體廠家是不是,他們對自己的 CPU 肯定 是最熟悉的。所以他們提供的 bsp 里面的 uboot 是對他們的 CPU 支持最好的,驅(qū)動最全的。所以我們不會 在 uboot 官網(wǎng)去下載,然后在去移植。而且使用半導(dǎo)體廠家提供的 BSP 還有一個好處,就是移植非常簡單。

就拿 uboot 移植來說,只需要基于半導(dǎo)體廠家的 BSP 來針對自己的開發(fā)板適配即可。所需要的工作并不多。

同理,在 LS2K1000 上我們使用的是 pmon,那這個 pmon 我們要去找原生的嗎,顯然不是。pmon 現(xiàn)在是龍 芯中科在進(jìn)行維護(hù),所以,龍芯中科提供的 pmon 會對自己的 CPU 支持的非常友好?;旧暇褪俏覀兡玫?BSP 以后,稍加修改就可以完美的在開發(fā)板上來運行了。所以,pmon 的移植要比 uboot 的移植更加簡單。

9.9.2 獲取原廠 pmon 源碼

源碼 pmon 源碼在:LS2K1000 開發(fā)板資料\12_原廠 BSP\1_pmon 源碼

接著我們將 pmon 源碼拷貝到 Ubuntu 虛擬機的任意目錄下,然后按照手冊 7.1 編譯和 6.6 燒寫 pmon 到開發(fā)板。可以發(fā)現(xiàn),源碼的 pmon 源碼直接編譯成功就可以在開發(fā)板上運行。非常友好。

9.9.3 配置 can 總線

我就進(jìn)到 pmon 源碼的 pmon-loongson3/Targets/LS2K/conf 路徑下,使用命令 cp LS2K.dts LS2K.dts_back 備份一下設(shè)備樹文件,如下圖所示:

接著我們使用命令 vim LS2K.dts 打開設(shè)備樹文件,找到 can0 和 can1 的設(shè)備節(jié)點,可以發(fā)現(xiàn),在 BSP 里 面已經(jīng)默認(rèn)配置好了,不需要我們在額外配置,如下圖所示:

接著我們來配置引腳的復(fù)用關(guān)系,通過 LS2K1000 的數(shù)據(jù)手冊,可知地址 0x1fe10420 的第 16 到 17 位配置的是 can 引腳的復(fù)用關(guān)系,如下圖所示:

通過上表可知,如果我們要把 GPIO 設(shè)置為 CAN 功能,我們需要將 16 到 17 位設(shè)置為 1,我們可以直接在 pmon 里面操作這個寄存器,比如使用在 Targets/LS2K/ls2k/tgt_machdep.c 文件中增加代碼(volatile int *)0xbfe10420 |=(2<<16)將這倆位設(shè)置為 1,但是在 pmon 的 bsp 里面這些工作已經(jīng)給我們做好了,只不過是沒有編譯進(jìn)去而已。

在 Targets/LS2K/ls2k/tgt_machdep.c 文件的第 464 行使用了宏定義 PAI2 來決定包不包含 pai2.c 文件,如下圖所示:

pai2.c 文件在路徑 Targets/LS2K/ls2k/pai2.c 下,這個文件里面通過宏定義 SEL_CAN 來對 CAN 的管腳復(fù)用進(jìn)行了配置,如下圖所示:

所以我們是不是就不用在自己單獨來添加代碼了呢,我們只需要加上這 PAI2 和 SEL_CAN 這來個宏定義即可,我們打開 Targets/LS2K/conf/ls2k 文件,取消注釋 option PAI2 并增加宏定義 option SEL_CAN,如下圖所示:

然后我們重新編譯 pmon 源碼并燒寫到開發(fā)板上,使用命令 devmem 0x1fe10420 來查看有沒有成功將這倆個管腳的復(fù)用設(shè)置成 can,如下所示:

將 0x00131D49 換算成 2 進(jìn)制,可以發(fā)現(xiàn) 16 到 17 位已經(jīng)成功設(shè)置成了 1,所以這倆個 GPIO 已經(jīng)成功被設(shè)置成 CAN。接著我們就可以來測試開發(fā)板的 CAN 功能了。

3.2.7 CAN 接口測試

開發(fā)板板載了兩路 CAN 接口, 我們可以使用這兩路 CAN 接口驗證 CAN 的數(shù)據(jù)收發(fā)。首先我們使用電纜線連接 CAN1 和 CAN2(can 連接的時候: H 接 H、 L 接 L) , 如下圖所示:

開發(fā)板上的兩路 CAN 默認(rèn)是關(guān)閉的, 我們在調(diào)試串口終端輸入“ip link set can0 up type can bitrate

125000 triple-sampling on” 命令, 設(shè)置 CAN0 的波特率是 125000, 并打開 CAN0, 運行結(jié)果如下圖所示:

然后我們在調(diào)試串口終端輸入“

ip link set can1 up type can bitrate 125000 triple-sampling on” 命令, 設(shè)

置 CAN1 的波特率是 125000( CAN 總線在進(jìn)行數(shù)據(jù)收發(fā)的時候,通信雙方的波特率要設(shè)置成一致),并

打開 CAN1, 運行結(jié)果如下圖所示:

接下來我們使用 CAN0 作為數(shù)據(jù)接收端, 我們需要在調(diào)試串口終端輸入“candump can0 &” 命令, 運行結(jié)果如下圖所示:

然 后 我 們 使 用 CAN1 作 為 數(shù) 據(jù) 發(fā) 送 端 , 我 們 在 調(diào) 試 串 口 終 端 輸 入 “cansend can1 6A0#11.22.33.44.55.66.77.88”命令, 發(fā)送數(shù)據(jù), 其中的 6A0 是幀 ID, #后面的是數(shù)據(jù), 共 8 個字節(jié)。 運行結(jié)果如下圖所示:

上圖我們可以看到 CAN1 發(fā)送數(shù)據(jù)以后, 后臺運行的 CAN0 接收程序收到了 CAN0 的數(shù)據(jù), 并顯示出來, 接收到的數(shù)據(jù)和發(fā)送的數(shù)據(jù)內(nèi)容一致。

數(shù)據(jù)接收端和發(fā)送端也可以互換,可以參考上面的命令(主要是解釋和發(fā)送程序的 CAN 接口設(shè)置對)。

相應(yīng)視頻教程:https://www.bilibili.com/video/BV1mT4y117eN?p=1

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

    關(guān)注

    3

    文章

    446

    瀏覽量

    32966
  • PMON
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    iTOP-Hi3516CV610開發(fā)板SDK升級更新

    為了讓大家在使用iTOP-Hi3516CV610開發(fā)板進(jìn)行產(chǎn)品開發(fā)時,擁有更強大的性能和更豐富的功能,我們對開發(fā)板的底層SDK進(jìn)行了重大
    的頭像 發(fā)表于 03-27 14:26 ?455次閱讀

    性能猛獸再進(jìn)化!iTOP-3588開發(fā)板新增LPDDR5商業(yè)級16G+64G旗艦配置

    性能猛獸再進(jìn)化!iTOP-3588開發(fā)板新增LPDDR5商業(yè)級16G+64G旗艦配置
    的頭像 發(fā)表于 02-26 15:03 ?864次閱讀
    性能猛獸再進(jìn)化!<b class='flag-5'>迅</b><b class='flag-5'>為</b>iTOP-3588<b class='flag-5'>開發(fā)板</b>新增LPDDR5商業(yè)級16G+64G旗艦<b class='flag-5'>配置</b>!

    iTOP-Hi3403開發(fā)板:解鎖多目拼接相機的10.4TOPS強“芯”動力,開啟4K智能視覺新紀(jì)元

    iTOP-Hi3403開發(fā)板:解鎖多目拼接相機的10.4TOPS強“芯”動力,開啟4K智能視覺新紀(jì)元
    的頭像 發(fā)表于 01-29 11:05 ?1174次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>iTOP-Hi3403<b class='flag-5'>開發(fā)板</b>:解鎖多目拼接相機的10.4TOPS強“芯”動力,開啟4<b class='flag-5'>K</b>智能視覺新紀(jì)元

    驅(qū)動開發(fā)實戰(zhàn):iTOP-RK3568開發(fā)板eDP屏幕移植全攻略

    驅(qū)動開發(fā)實戰(zhàn):iTOP-RK3568開發(fā)板eDP屏幕移植全攻略
    的頭像 發(fā)表于 12-30 15:42 ?1312次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>驅(qū)動<b class='flag-5'>開發(fā)</b>實戰(zhàn):iTOP-RK3568<b class='flag-5'>開發(fā)板</b>eDP屏幕<b class='flag-5'>移植</b>全攻略

    探索UCANS32K1系列CAN節(jié)點開發(fā)板:設(shè)計、應(yīng)用與實戰(zhàn)指南

    、工業(yè)自動化、無人機等眾多領(lǐng)域得到廣泛應(yīng)用。NXP的UCANS32K1系列CAN節(jié)點開發(fā)板,開發(fā)者提供了一套強大且靈活的解決方案,可用于構(gòu)
    的頭像 發(fā)表于 12-25 11:40 ?631次閱讀

    RK3588開發(fā)板Android系統(tǒng)燒寫及注意事項

    RK3588開發(fā)板Android系統(tǒng)燒寫及注意事項
    的頭像 發(fā)表于 12-03 15:17 ?7447次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3588<b class='flag-5'>開發(fā)板</b>Android系統(tǒng)燒寫及注意事項

    開發(fā)板到工業(yè)核心:RK3576的金屬外殼,為何是行業(yè)應(yīng)用的“點睛筆”?

    開發(fā)板到工業(yè)核心:RK3576的金屬外殼,為何是行業(yè)應(yīng)用的“點睛筆”?
    的頭像 發(fā)表于 11-26 13:45 ?939次閱讀
    從<b class='flag-5'>開發(fā)板</b>到工業(yè)核心:<b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3576的金屬外殼,為何是行業(yè)應(yīng)用的“點睛<b class='flag-5'>之</b>筆”?

    iTOP-3568開發(fā)板?Linux驅(qū)動開發(fā)實戰(zhàn):menuconfig圖形化配置實驗

    iTOP-3568開發(fā)板?Linux驅(qū)動開發(fā)實戰(zhàn):menuconfig圖形化配置實驗
    的頭像 發(fā)表于 11-24 15:29 ?987次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>iTOP-3568<b class='flag-5'>開發(fā)板</b>?Linux驅(qū)動<b class='flag-5'>開發(fā)</b>實戰(zhàn):menuconfig圖形化<b class='flag-5'>配置</b>實驗

    3568開發(fā)板從零學(xué)習(xí)Linux驅(qū)動開發(fā)一站式資料包如何讓我效率翻倍

    3568開發(fā)板從零學(xué)習(xí)Linux驅(qū)動開發(fā)一站式資料包如何讓我效率翻倍
    的頭像 發(fā)表于 11-05 11:16 ?562次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>3568<b class='flag-5'>開發(fā)板</b>從零學(xué)習(xí)Linux驅(qū)動<b class='flag-5'>開發(fā)</b>:<b class='flag-5'>迅</b><b class='flag-5'>為</b>一站式資料包如何讓我效率翻倍

    iTOP-RK3576開發(fā)板再升級全新金屬外殼

    iTOP-RK3576開發(fā)板再升級全新金屬外殼
    的頭像 發(fā)表于 10-22 15:48 ?1446次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>iTOP-RK3576<b class='flag-5'>開發(fā)板</b>再升級全新金屬外殼

    RK3568開發(fā)板模型推理測試實戰(zhàn)LPRNet?車牌識別

    RK3568開發(fā)板模型推理測試實戰(zhàn)LPRNet 車牌識別
    的頭像 發(fā)表于 08-25 14:55 ?1590次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3568<b class='flag-5'>開發(fā)板</b>模型推理測試實戰(zhàn)LPRNet?車牌識別

    RK3562開發(fā)板 Ubuntu系統(tǒng)功能測試

    RK3562開發(fā)板 Ubuntu系統(tǒng)功能測試
    的頭像 發(fā)表于 07-10 13:46 ?1562次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3562<b class='flag-5'>開發(fā)板</b> Ubuntu系統(tǒng)功能測試

    RK3576開發(fā)板NPUrknn-toolkit2環(huán)境搭建和使用docker環(huán)境安裝

    RK3576開發(fā)板NPUrknn-toolkit2環(huán)境搭建和使用docker環(huán)境安裝
    的頭像 發(fā)表于 06-18 15:22 ?1509次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3576<b class='flag-5'>開發(fā)板</b>NPUrknn-toolkit<b class='flag-5'>2</b>環(huán)境搭建和使用docker環(huán)境安裝

    RK3576開發(fā)板NPU例程測試-rknn-toolkit2環(huán)境搭建和使用

    RK3576開發(fā)板NPU例程測試-rknn-toolkit2環(huán)境搭建和使用
    的頭像 發(fā)表于 06-17 13:46 ?2017次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3576<b class='flag-5'>開發(fā)板</b>NPU例程測試-rknn-toolkit<b class='flag-5'>2</b>環(huán)境搭建和使用

    RK3562開發(fā)板Buildroot系統(tǒng)功能測試

    RK3562開發(fā)板Buildroot系統(tǒng)功能測試
    的頭像 發(fā)表于 06-13 13:46 ?2311次閱讀
    <b class='flag-5'>迅</b><b class='flag-5'>為</b>RK3562<b class='flag-5'>開發(fā)板</b>Buildroot系統(tǒng)功能測試
    璧山县| 临泽县| 商河县| 东安县| 灵丘县| 纳雍县| 建德市| 西乌珠穆沁旗| 滨州市| 清苑县| 桦南县| 七台河市| 启东市| 图木舒克市| 集贤县| 新蔡县| 泰来县| 托里县| 郎溪县| 义乌市| 崇信县| 延吉市| 剑川县| 南阳市| 松原市| 安远县| 望奎县| 仲巴县| 潜江市| 松滋市| 陈巴尔虎旗| 新宾| 梅州市| 汶川县| 富平县| 青河县| 微山县| 定兴县| 崇义县| 涿鹿县| 汉阴县|