안녕하세요 ^^;;
Bootloader분석중에..조금 이해가 안가는게 있어서 이렇게 글을 올리게 되었습니다..
부끄럽지만..용기내어서 여쭤보겠습니다..
ARM가지고있는 레지스터가..
r0 ~ r15 까지의 레지스터가 있고
CPU State를 가지고있는 레지스터들이 있는 것들은 문서를 봐서 알게 되었습니다..
제가 궁금한 것은 ARM 어셈블리로 짠 start.S 파일에 들어있는 Source내용인데요..
그 곳에서 사용하는 r0~r15 ...CPSR.. 이런게 보이는데요..
거기에 mov를 이용해서 r0에 값을 넣고 그것을 다시 CPSR에 적용시키고...하는 것들이
ARM이 가지고 있는 레지스터에 직접적으로 넣고 연산하는 것으로 이해하고 있는데 제가 알고 있는게 맞나요?
그렇다면..레지스터에 왜 값을 넣는 것인지 잘 모르겠습니다...
레지스터에 특정한 값들을 넣으면 초기화가 되는 것인지...그 저장되어 있는 값을 C파일에서 가져다 쓰는 것인지..
ARM7 강좌와 고도리님이 작성하신 문서를 보며 start.S를 분석하고 있는데..
기초지식이 없어서 그런지..이해하기가 어렵네요 ㅠㅠ
어떻게 생각하고 있어야 잘 분석할 수 있을까요?..
거기에 세팅을 하면 그 값대로 회로가 동작하도록 cpu가 구성되어 있는 것입니다.
asm routine은 C 코드랑은 거의 상관없이 동작한다고 보시면 되고요. C코드는 asm이 끝난후에야 동작합니다.
답변이 되었는지 모르겠네요.