AM335X linux嵌入式平台can驅動移植

2022-06-22 12:33:07 字數 1926 閱讀 6075

由於板子需要用到can  需要配置kernel支援can匯流排

配置kernel     

一、確認原理圖

can0-tx  ---  d18

can0-rx --- d17

二、確認暫存器

在am3359.pdf中

檢視模式  這裡tx  rx都是mode2  配置pin的時候需要按照這個來配置

檢視暫存器位址

這裡檢視 d_can0_tx對應的是978h  d_can0_r x對應的是97ch 

三、修改裝置樹

arch/arm/boot/dts/am33xx.dtsi  中  增加索引

因為在  arch/arm/boot/dts/am33xx.dtsi 中設定了起始位址為800h  所以這裡需要設定為偏移位址0x78h   0x7ch

如下 在  arch/arm/boot/dts/am335x-ariio-5702.dts中  pinmux內增加如下**

使能can0

在根節點外 ,和其他外設等同

&dcan0 ;

到這裡,已經配置好了can   直接編譯即可

四、測試can

首先 ifconfig -a檢視can資訊  如果出現can   這表示驅動已經新增成功

測試can有專門的測試工具  可以使用ip命令配置can  需要移植   iproute2  否則用ip命令配置的時候會報錯

提示錯誤資訊:

ip: either "dev" is duplicate, or "type" is garbage

需要移植自己的ip工具 

參考:  可以解決

這裡有詳細的iproute2 移植步驟

我使用canconfig命令來測試

參考

能夠正常設定波特率 can驅動已經新增成功   如果can沒有接入  是不能測試收發的

注意:canconfig can0 restart-ms 1000 bitrate 1000000 ctrlmode triple-sampling on 配置can引數的時候bitrate最好不要設定那麼大,1000000 有的板子硬體不好的時候就會出現波形問題,我測試的時候就發現死活測不通,直接把速率降下來,就可以了,設定為10000正常通訊

盈鵬飛嵌入式 AM335X GPMC使用總結

am335x gpmc使用比較靈活,可以配置為 8 bit 同步或者非同步並行匯流排 非burst 16 bit 同步或者非同步並行中線 16 bit 非復用的norflash 16 bit 資料和位址匯流排復用的norflash 8 bit 和 16 bitnand flash 16 bit ps...

嵌入式linux qtopia平台開發說明

linux系統中qt qtopia 平台開發說明 黃德智 compiler hdz hotmail.com v 1.0 日期 20060305 qt 版本 20060106v2 一 開發包的獲取 最新的qtopia開發包名稱為 qtopia dev20060106v2.tar.gz 當前版本為200...

嵌入式linux軟體平台 SPL

功能 spl抽取u boot的部分 進行編譯生成,spl完成cpu的初始化,ddr初始化,spi介面及nor flash的初始化等內容,然後載入u boot 到ddr,跳轉到u boot執行.流程 spl的執行流程 reset start.s lowlevel init lowlevel init....