NXP의 Imx6 SoC에서 실행중인 embeded linux 프로젝트가 있고 SPI를 사용하려고합니다. 마스터 모드와 슬레이브 모드를 모두 지원하는 드라이버가 없으므로 먼저 사용자 공간에서 직접 처리하려고했습니다. mmap을 사용하여 SPI 레지스터에 액세스했지만 mmap을 사용하여 읽기/쓰기를 시도하면 시스템이 멈추고 재부팅해야합니다. 그런 다음 사용자 정의 spi-imx 드라이버에서 동일한 작업을 수행했지만 레지스터에 액세스 할 수 있도록 드라이버가 spi_imx_transfer 함수에 도착할 때까지 기다려야합니다.Imx6에서 SPI 레지스터를 읽을 때 리눅스가 멈 춥니 다
저는 리눅스 장치 관리에 처음 접했기 때문에 동일한 방법으로 다른 장치의 레지스터에 액세스 할 수 있지만 SPI의 레지스터에는 액세스 할 수없는 이유가 궁금합니다. 왜 이러한 레지스터를 읽으려고하면 리눅스가 멈추는가? 사용자 공간 또는 이전 장치 드라이버에서 읽거나 쓸 수 있습니까?
레지스터에 대한 액세스를 허용하거나 해제하는 방법이 있습니까?
모든 조언을 환영합니다.