2017-11-30 1 views
0

현재 i.mx257 플랫폼에서 작업 중이며 일부 주변기기 레지스터 (특정 iomux 레지스터)를 읽고 어떻게 구성되어 있는지보고 싶습니다. 그것은 바로 설정됩니다.리눅스 레지스터 읽기 팔 i.mx257 from userland - devmem not working

나는 busybox와 devmem2에서 devmem을 읽었습니다. 둘 다 시도하고 모두 오류가 발생합니다. 현재 사용자 정의 보드는 meta-fsl-arm yocto 메타 패키지에서 Linux 커널 버전 4.6.0-rc7을 실행 중입니다. 시스템은 yocto로 구축됩니다.

root @ system /]#./tmp/devmem2 0x43fac190 /dev/mem이 열립니다.

되지 않은 결함 : 0xb6f3a190 PGD에서 비 linefetch (0x008)의 외부 중단 = c3334000 [b6f3a190 * PGD = 8285e831 * PTE = 43fac103 * ppte = 어드레스 0xb6f3a000에 매핑 43facaa2

메모리.

버스 에러

공구는 ERR 신호를 얻는다. CONFIG_STRICT_DEVMEM 옵션이 커널 구성에 설정되어 있지 않습니다.

다른 게시물 http://thread.gmane.org/gmane.linux.ports.arm.kernel/26878이 발견되었지만 i-mx25에 대한 일부 정보를 찾을 수 없습니다.

다른 커널 보안 기능이나 내가 빠진 것이 있습니까?

devmem 또는 devmem2는 0x4000 이하의 값으로 만 작동합니다. 위의 모든 주소에서 신호 버스 오류가 발생합니다.

답변

0

좋아, 나는 내 자신의 질문에 대한 답을 찾았습니다. AIPS 제어 레지스터를 devicetree에 추가해야합니다. 그들은 내가 읽고 싶은 레지스터를 보호하고 있습니다. 이 패치를 추가 한 후에 효과가있었습니다.

https://github.com/torvalds/linux/commit/24bb244e02a6bead5b854d842002df0d38ae7b7b

https://github.com/torvalds/linux/commit/c33576cbf86bedf9ad3812479c3b4f36d5fadba8#diff-64c444a874c565fd98cf1ab538c1e0cd