문제

VxWorks와 함께 제공된 BSP 패키지를보고 이미지에 대한 다음 메모리 매핑이 표시됩니다. (펜티엄 4에서)

Parameter RAM_HIGH_ADRS {
    NAME        Bootrom Copy region
    DEFAULT     (INCLUDE_BOOT_APP)::(0x00008000) \
                 0x00108000
}

Parameter RAM_LOW_ADRS {
    NAME        Runtime kernel load address
    DEFAULT     (INCLUDE_BOOT_RAM_IMAGE)::(0x00508000) \
                (INCLUDE_BOOT_APP)::(0x00108000) \
                0x00308000
}
.

그러나 이것은 나에게 이상하게 보입니다. 어떻게 RAM_LOW_ADRS > RAM_HIGH_ADRS를 할 수 있습니까? 내가 이해할 수있는 것에 따라 부트 로더는 RAM_HIGH_ADRS와 VXWORKS IMAGE가 RAM_LOW_ADRS의 VXWORKS 이미지를로드하는 것으로 가정하고 부트 로더가 이미지 뒤에있는 것으로 가정합니다.

아이디어가 있습니까?

도움이 되었습니까?

해결책

RAM HIGH / LOW는 당신이 발견 한 것처럼 다소 오도 된 것입니다. 그것은 실제로 ram_vxworks_addr 및 ram_boot_addr (또는 일부)이라고도합니다.
그 이름이 많이 자연에서 역사적입니다.

99 %의 경우 ram_high> ram_low.그러나 아키텍처, BSP 및 표적에 따라 반전이있을 수 있습니다.

결국 소프트웨어를로드하는 주소 일뿐입니다.충돌이나 겹치지 않는 한 괜찮습니다.

VXWORKS 힙은 RAM_LOW / HAGH_ADDR PER을 사용할 수 없습니다.

vxworks 힙 (단순화 된보기에서)은 BSP와 에서 정의 된 SYSMEMTOP () - 리턴 된 주소로 VSSPWASS 이미지를 실제 RAM의 맨 위로 실행합니다.또는 아닙니다).

정상적인 상황에서 VxWorks가 BootROM로드 주소를 벨로우로드하는 것으로 부트롬은 단순히 덮어 씁니다.BSP의 경우가 아니므로 BootROM이 "회수 된"되지 않기 때문에 일부 RAM 공간을 느슨하게합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top