나는 Raspberry Pi의 부팅 순서가 일반적인 응용 프로그램 (NOOBS와 같은)에서 전원 응용 프로그램 (또는 다른 경우 웜 재설정)에서 로고의 표시에 이르기까지 무엇인지 궁금합니다. 또는 설명 된 곳.
이 시퀀스에서 가장 필요한 일반적인 그림 외에도 초기 단계에 가장 관심이 있습니다.
- ARM CPU의 리셋 벡터는 무엇이며 어떻게 / 어떻게 정의됩니까?
- 첫 번째 ARM CPU 명령어는 어떤 메모리에서 가져 옵니까? 이 코드는 어디에 있으며이 코드를 저장하는 데 어떤 기술이 사용됩니까?
- ARM32 또는 Thumb (또는 Jazelle) 코드입니까? 리셋 벡터의 하위 비트에 의존합니까?
- 초기 부팅 코드의 소스 (또는 분해 또는 덤프)를 사용할 수 있습니까? 그렇지 않은 경우 JTAG 포트를 사용하여이를 판별하는 데 기술적 문제가 있습니까? 법률에 관해서는, 본인은 본인이 거주하는 지역 (프랑스)에 적용되는 법률에 대한 나의 이해를 신뢰할 수있는 위험을 감수 할 준비가되어 있습니다. 요구하지 않아야합니다.
- 주변 장치는 어떤 순서로 초기화되며 어떤 코드 조각으로 초기화됩니까?
- ARM CPU 옆에 BCM2835에서 일부 프로세서 / 오토마타가 실행 중이고 부팅 순서가 ARM CPU와 어떤 관련이 있습니까?
ARM CPU의 기술 참조 설명서 및 BCM2835 ARM 주변 장치 또는 기타 문서를 살펴볼 준비가되었습니다 .
업데이트 : 게시 한 후 BCM2835의 GPU가 ARM의 마스터 역할을하며 부팅 순서에 크게 관여한다는 것을 알았으며 이것 과 이것을 발견 했습니다 .
4
그 정보의 대부분은 소스 코드, 부트 로더 및 SoC 펌웨어와 같은 비공개 소스라고 말할 수 있습니다. 지금은 할당량을 알 수 없습니다. 한 가지를 알아야합니다. BCM은 CPU가 아닌 GPU입니다. 부트 로더는 GPU 섹션에서 시작하여 그곳에서 RAM을 초기화 한 다음 소스 코드에 액세스 할 수있는 첫 번째 장소 인 Raspbian CPU로 핸드 오버합니다. 행운을 빕니다. 이 질문은 매우 광범위하고 대답하기가 어렵습니다.
—
Piotr Kula
관련 : 부팅 과정에서 어떤 일이 발생합니까? . 복제?
—
Peter Mortensen