도와주세요!!
글 수 15,339
2011.02.22 09:49:39 (*.118.73.171)
17460
플래시를 다루기 위해 알아야 할 개념 중에서 베이스(base) 주소라는 것이 있다.
NOR 플래시 는 ROM 과 같은 특성을 가지고 있지만 읽고 쓸 때는 하나의 디바이스로 보아야 한다.
보통의 디바이스라면 이를 제어하기 위한 베이스주소를 가지는데, 베이스 주소에 오프셋이라고 하는 주소를 더해서 프로그램을
처리한다. 예를 들어 플래시 메모리의 크기가 0x80000라면 주소 공간은 0x00000000 부터 0x0007FFFF 까지 점유하게 된다.
이렇게 해당 디바이스의 선두 주소를 베이스 주소라고 한다.
베이스 주소가 0x00100000이라면 주소공간은 0x00100000 부터 0x0017FFFF까지 점유한다.
디바이스를 다룰 때는 이 베이스 주소로 시작하는 오프셋 주소가 플레시 메모리도 동일한 개념으로 사용된다.
해당 디바이스 선두 주소가 베이스 주소라는건 알겠는데요
0x00100000 의 주소공간은 0x00100000 부터 ~0x0017FFFF가 되는건가요 ?
0x001FFFFF가 맞는거 아닌가요??? 16진수의 자리올림수는 F 부터 올리는거 아닌가요??
베이드 주소가 있고 그 베이스 주소를 기준으로 오프셋이 가질수 있는 최대 주소가 있고
물리적으로 장착된 디바이스(예를 들어 NOR)의 크기가 있는데
베이스 주소는 0x00100000 이고 오프셋의 최대 크기는 0xFFFFF 일 것이고
장착된 디바이스의 크기는 0x80000 이라면 디바이스가 점유하는 공간은 0x00100000 - 0x0017FFFF 겠죠.
하나의 베이스 주소가 갖는 최대 오프셋 값을 넘어서면 다른 베이스 주소를 침범하게 되니 문제가 되겠죠?