사전 구성된 Linux 커널 + 빌드루트 시스템과 함께 제공되는 임베디드 Linux 시스템(F&S PicoComA5)이 있습니다.
기본적으로 하나의 SPI 장치만 사전 구성되어 있으며 시스템에 /dev/spi0.0으로 표시됩니다.
이제 내 보드에는 두 번째 SPI 장치가 있으므로 다른 "CS" 라인을 선택해야 하며 /dev/spi0.1을 읽어야 합니다.
두 번째 SPI 장치가 나타나도록 하려면 커널이나 빌드 루트의 어디에서 이러한 매개변수를 구성해야 합니까?
편집: 보드별 초기화 코드인 arch/arm/arm-mvf/arch-picocom.c에서 SPI 장치가 초기화됩니다. 여기서 작동시킬 수 있는 방법을 찾고 싶습니다!
답변1
SPI는 ioctl 호출을 사용하여 구성할 수 있습니다.
예를 들어 SPI 데이터 전송 속도를 설정합니다. ioctl 시스템 호출을 사용하여 SPI 장치 구성
int Ioctl ( <spi_device_handle>, <command>,<value>)
SPI 인터페이스 속도를 2MHz로 설정하는 예,
Command = SPI_IOC_WR_MAX_SPEED_HZ
int spi_freq = 2000000; // 2 MHz
Int ioctl (f_spi, SPI_IOC_WR_MAX_SPEED_HZ, &spi_freq);
아래 동영상이 도움이 될 것입니다임베디드 Linux의 SPI - 빠른 참조 가이드.