안녕하세요 ?
몇 가지 여쭈어 보려고 합니다.
little endian과 big endian을 모두 지원하는 processor에서 little endian으로 설정(셋팅/수정)하는 방법에 관한 문의입니다.
이를 위해서, H/W부분, S/W부분 중 어느 부분을 셋팅을 해 주어야 합니까?
즉, 어느 부분을 어떻게 설정하는지 궁금합니다.
아래 구체적으로 나열한 사항(1~4항)에서 설정(셋팅)해야 하는 부분을 모두(복수 개) 알려 주시면 감사하겠습니다.
아래 내용중에서 틀린게 표현한 부분도 알려 주시면 더욱 감사드리구요...^^
1. Processor내부의 특정 register 값 설정
-> Processor가 little endian이 지원되도록 설정하기 위해서, kernel source에서 Processor내부의 특정 register의 값을 수정(= kernel porting)
2. compiler(toolchain)의 설정
-> compiler가 little endian이 지원되도록 설정하기 위해서, compiler에 특정 option 주어서 compile하기(또는 Makefile 수정)
3. library의 설정
-> library가 little endian이 지원되도록 설정하기 위해서,
위의 2항에서 little endian으로 설정한 compiler를 이용해서,
root filesystem에 포함되어야 하는 library을 다시 compile하기.
(이 library는 차후에 application에 사용되므로...)
4. Kernel의 설정
-> kernel이 little endian으로 동작하기 위해서, kernel configuration 설정
-> 이후, 위의 2항에서 little endian으로 설정한 compiler를 이용해서, kernel 재 compile하기
그럼, 좋은 하루 되십시요...
그리고 엔디안 스위칭 코드는 커널에서 보다는 부트로더 초기 코드에 넣는 경우가 일반적입니다.
이렇게 하면 전체적인 부팅 구성이나 툴체인 빌드가 훨씬 간단해 지죠.