Linux를 컴파일할 때 커널 기본 주소를 변경하는 방법은 무엇입니까?

Linux를 컴파일할 때 커널 기본 주소를 변경하는 방법은 무엇입니까?

저는 RedPitaya FPGA 보드를 개발 중이며 여기에 비대칭 다중 처리를 사용하고 싶습니다. CPU0은 Linux를 실행하고 CPU1은 Barmetal 또는 freeRTOS를 실행합니다.

이렇게 하려면 CPU1에서 실행되는 애플리케이션/FreeRTOS가 메모리에 액세스할 수 있도록 커널 로드 주소를 변경해야 합니다. 커널 로드 주소를 변경하는 방법을 아는 사람이 있습니까?

저는 일부 구성 파일, 장치 트리, u-boot가 커널을 로드하는 주소를 변경해야 한다고 생각합니다(이건 확실하지 않습니다). 나머지는 알 수 있을 것 같은데, 커널 설정이나 소스에서 무엇을 바꿔야 할지 파악하는데 어려움을 겪고 있습니다.

추신: PetaLinux SDK 사용은 아래 설명대로 완료할 수 있습니다.Zynq 장치용 OpenAMP 프레임워크17페이지. PetaLinux를 사용하지 않고 이 작업을 수행하는 방법을 알아내면 됩니다.

건배. 와카르 라시드

답변1

제가 사용하고 있는 redpitaya 보드의 경우 해결책은 간단합니다. 여러분이 해야 할 일은 커널을 컴파일하는 데 사용되는 make 명령에 커널 기본 주소를 제공하는 것뿐입니다. redpitaya의 경우 Makefile.x86 uImage 대상에서 찾을 수 있습니다(내 말을 믿지 마세요).

RedPitaya에서 비대칭 다중 처리에 대한 비디오 튜토리얼을 만들었습니다. 이에 대한 단계는 여기에서 찾을 수 있습니다.시간

관련 정보