本驅(qū)動(dòng)程序在linux2.6.17中測(cè)試通過(guò)。yangxing msn:lelma_yx@hotmail.com
希望對(duì)SPI操作的朋友有所幫助。
一、工作方式:
從設(shè)備:SPI為MASTER模式
S3C2410:SPI為SLAVE模式+DMA
二、工作流程
1.S3C2410從接收:當(dāng)從設(shè)備發(fā)送數(shù)據(jù)時(shí),S3C2410利用DMA方式收數(shù),收到指定長(zhǎng)度的數(shù)據(jù),則進(jìn)入DMA中斷,將接收的數(shù)據(jù)拷出。
2.S3C2410從發(fā)送:當(dāng)S3C2410需要發(fā)送,首先由RTS請(qǐng)求發(fā)送,然后等待從設(shè)備應(yīng)答CTS,當(dāng)從設(shè)備應(yīng)答CTS時(shí),進(jìn)入外部中斷,啟動(dòng)DMA發(fā)送,發(fā)送完成,再次進(jìn)入從接收狀態(tài)。
三、文件位置
spi_dma_slave.c
spi_dma_slave.h
circular_buf.c
circular_buf.h
等文件存放入driver/char/目錄
dma.c存放于arch/arm/mach-s3c2410/目錄
dma.h存放于include/arm-asm/mach-s3c2410/目錄
四、使用環(huán)境
1.ARM-Linux-gcc-3.4.1
標(biāo)簽:
SPI
lelma_yx
yangxing
hotmail
上傳時(shí)間:
2015-08-11
上傳用戶(hù):徐孺