uboot 이미지 복제를 이해해보세요

uboot 이미지 복제를 이해해보세요

다음은 에서 발췌한 내용입니다.u-boot-xarm/include/configs/zynq_zc702.h

"qspiboot=echo Copying Linux from QSPI flash to RAM...; \
                cp 0xFC100000 0x8000 ${kernel_size}; \
                cp 0xFC600000 0x1000000 0x8000; \
                echo Copying ramdisk...; \
                cp 0xFC800000 0x800000 ${ramdisk_size};\
                ping 10.10.70.101;\
                go 0x8000\0" \

누군가 다음 두 줄에서 무슨 일이 일어나고 있는지 설명할 수 있습니까?

                    cp 0xFC100000 0x8000 ${kernel_size}; \
                    cp 0xFC600000 0x1000000 0x8000; \

이 주소는 어떻게 선택되나요? 주소가 왜 이렇게 많아?

답변1

Linux를 부팅하기 전에 플래시 메모리에 저장된 커널과 initrd를 RAM에 복사합니다. cp 명령은 다음에 기록됩니다.cp - 메모리 복사

소스 주소는 플래시 u-boot 코드를 보유하지 않는 플래시 메모리 영역입니다. 대상 주소는 u-boot가 실행 중에 자체 코드/데이터에 사용하지 않는 RAM 영역입니다.

답변2

QSPI flash-to-RAM 복사 명령에 대한 구문 정의를 본 적이 없지만 패턴은 다음과 같습니다.

cp src_addr dst_addr copy_size

두 번째 복사본은 devicetree.dtbRAM에 있는 Linux 커널의 시작 주소(0x8000)와 정확히 동일한 크기(0x8000)인 장치 트리( )용입니다.

관련 정보