mcp2515驅(qū)動的實(shí)現(xiàn)_第1頁
mcp2515驅(qū)動的實(shí)現(xiàn)_第2頁
mcp2515驅(qū)動的實(shí)現(xiàn)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1、在配置Linux編譯選項時,開啟相應(yīng)的SPI選項,如下所示- Device Drivers- SPI supportSPI support* SPI Master Controller Drivers *-*- Bitbanging SPI master Samsung S3C24XX series SPI Samsung S3C24XX series SPI by GPIO* SPI Protocol Masters * SPI EEPROMs from most vendors User mode SPI device driver support Infineon TLE62X0 (

2、for power switching)設(shè)置完成保存。驅(qū)動文件 mcp251x.c mcp251x.h can.h文件 mcp251x.c 放在目錄 drivers/net/can/下;文件 mcp251x.h 放在目錄 include/linux/can/platform/下;文件 can.h 放在目 錄 include/linux/can/下添加配置文件 drivers/net/can/Kconfig在文件中添加config CAN_MCP251Xtristate Microchip 251x series SPI CAN Controllerdepends on CAN & SPIdef

3、ault N-help-Say Y here if you want support for the Microchip 251x series of SPI based CAN controllers.在drivers/net/can/Makefile文件中添加編譯文件 obj-$(CONFIG_CAN_MCP251X) += mcp251x.o修改文件 arch/arm/mach-s3c2410/mach-smdk2410.c 中添加 spi 板級啟動信息#include #include 包含 s3c2410_spi_info 結(jié)構(gòu)體#include 包含 struct mcp251x_

4、platform_data 結(jié)構(gòu)體static struct mcp251x_platform_data mcp251x_info = .f_osc = 16000000,/.oscillator_frequency = 19000000,/.board_specific_setup = myboard_mcp251x_initfunc,/.device_reset = myboard_mcp251x_reset,/.transceiver_enable = NULL,;static struct spi_board_info spi_board_info _initdata = 0 =.mo

5、dalias = mcp251x, 這個名稱一定要與 mcp251x.c 驅(qū)動中/proc函數(shù)中的.name要一致.platform_data=&mcp251x_info, 上面的結(jié)構(gòu)體.irq=IRQ_EINT3,中斷端口號.max_speed_hz=8000000,/spi最大的速度.bus_num=0,/spi0, 1 中選擇 spi0 口.chip_select=0,多個芯片選擇, ;static struct s3c2410_spi_info s3c2410_spi0_platdata = .pin_cs = S3C2410_GPG2,片選端口指定.num_cs = 1,總共端口數(shù)/

6、 .bus_num = 0,;smdk2410_devices 數(shù)組中添加&s3c_device_spi0,smdk2410_init函數(shù)中添加s3c_device_spi0.dev.platform_data= &s3c2410_spi0_platdata;spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info);4.重新編譯內(nèi)核boot LoaaerParameterLinux-2.6.25 KernelRootfs Cramfsuserfs Yaffs啟動信息中有如下內(nèi)容,說明成功了: wxuuHtitititi

7、ti-uxtitiwjawtiti 0 x00038000-0 x0004-0000 9x09649999-9x06499999 0X00400000-0X03200000 0X03200000-0X04000000mcp251x spiG.Ei: device register at dev【252:Ei)usbmon: debugfs is not availableS3c2+I0-Ohci S3c2+10-Ohci: S3C24XX OHCIs3c2+10-ohci s3c2+10-ohci: new USB bus registered, assigned bus number 1s3c2+10-ohci s3c2+10-ohci: irq 42, io mem 0 x49000000usb usbl: configuration #1 chosen from 1 choice5 執(zhí)行命令 cat /proc/devices顯示 252 mcp251x添加設(shè)備文件 mknod /dev/mcp251x c 252 0執(zhí)行應(yīng)用程序./can_test顯示如下root(aFS2410/#mknod /dev/mcp251x c 252 0 rootFS241B/#cd /home/fengwei/drive/spi/ root(3FS2410spi#. /can_te

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論