나는 FriendlyARM ZeroPi(Allwinner H3, 4 x Cortex-A7)가 SoC에 3개의 물리적 코어만 있고 256M RAM(실제 보드의 512 대신)만 있다고 "설득"하려고 합니다.
파일에서 cpu3에 해당하는 줄을 삭제했습니다 sun8i-h3.dtsi
.여기), u-boot를 다시 빌드하고 SD 카드에 플래시하지만 Linux는 여전히 네 번째 코어를 사용하므로 소용이 없습니다.
램 문제는 댓글만 찾았네요이것문서, 지적하다
부트로더는 일반적으로 메모리 노드를 채웁니다.
이 시점에서 내 질문은 다음과 같습니다.
- CPU3가 DTS에 없는데도 왜 계속 시작됩니까?
- CPU3가 시작되지 않도록 하려면 어떻게 해야 합니까?
- 메모리 크기를 어떻게 지정해야 합니까?
커널을 메모리에 로드하기 전에 설정해야 하는 커널 매개변수에 의지하고 싶지 않습니다. 또한 Linux가 나중에 네 번째 코어를 부팅할 수 있는 것을 원하지 않습니다. 해당 maxcpus=3
매개변수를 사용하면 네 번째 코어를 부팅할 수 있습니다.
목표는 RTOS가 네 번째 코어와 메모리의 일부를 제어할 수 있는 AMP 시스템을 실행하는 것입니다. 그러므로 나는 리눅스에 네 번째 코어가 있다는 사실을 완전히 숨기고 싶다. 코어를 변경하는 것은 상관 없지만 소스 코드를 쳐다보는 데 몇 시간을 보냈고 여전히 네 번째 코어에 액세스하는 방법을 파악하지 못했습니다. 최대 3개의 코어만 처리하도록 코어를 하드코딩하는 것과 같은 매우 구체적인 수정을 하고 싶지 않습니다. 나는 좀 더 "동적인" 솔루션을 기대하고 있습니다.