2014-01-17 2 views
0

레지스터를 읽고 특정 SPI 장치 주소에 특정 값을 쓰는 데 사용되는 하나의 샘플 응용 프로그램을 작성 중입니다.사용자 공간에서 ioremap() API를 사용하여 uClinux의 SPI 플래시 메모리에서 레지스터를 읽고 쓰는 방법

나는 spi 장치를 등록하는 동안 altera spi 1.0 드라이버를 사용 중이며 기본 주소는 0xE5002460입니다.

ioremap 호출을 사용하여 사용자 공간에서 SPI 플래시의 레지스터를 읽고 쓰고 싶습니다.

ioremap 함수를 사용하는 방법에 대한 코드 스 니펫이나 예제가 있습니까? 특정 레지스터를 작성하지 않고 지정된 기본 주소에서 직접 레지스터 값을 읽을 수 있습니까?

+0

시스템이 실제로 원격 SPI 장치의 레지스터를 프록시 된 로컬 주소 공간에 표시하도록 설정 했습니까? 액세스를 트랩하여 자동으로 SPI 트랜잭션으로 변환 할 수 있습니까? 또는 데이터 시트에 따라 이러한 플래시 장치의 레지스터에 액세스하려면 프로그램 내에서 SPI 트랜잭션 *을 명시 적으로 생성해야합니다. –

답변

0

@Ritesh, ioremap api는 커널 공간에서 메모리 주소를 사용하여 가상 주소를 반환하는 SPI 레지스터 용 장치/모듈을 매핑합니다. 이 주소는 ioread [8 | 16 | 32] 및 iowrite [8 | 16 | 32] api가 spi 레지스터를 읽거나 쓰는 용도로만 사용할 수 있습니다. mmap을 사용하여 SPI 레지스터를 매핑 할 수 있습니다. 링크 mmap slower than ioremap을 방문하십시오.

관련 문제