[url]http://doc.kldp.org/old/개발자(developer)_코너/Assembly/[/url]
을 참고하시어 x86 에서 먼저 조금은 할 수 있습니다.
그 다음에 위에 분들이 말씀하신 책들을 참고로 명령어를 하나씩 바꾸어서
컴파일하고 링크한다음 타겟보드에서 실행해보면 되겠지요.
아...그리고 C Code 를 컴파일 할때 Assembly Code 를 생성해 주는 Gcc 옵션이
아마 -S 이었을 겁니다. 대문자 입니다.
C Code 로 간단하게 만든다음 Arm 컴파일러로 Assembly Code 를
만들어서 보면 많은 도움이 됩니다.
개인적으로는... 일단 ARM 어셈블리에 대해 조금이라도 감을 잡게 되신다면, Strongarm 에서 사용하는 여러가지 부트로더 중 하나를 분석해 보시는게 많은 도움이 될 듯 합니다.
물론 부트로더도 많은 부분 C로 이루어지지만, 처음 부트했을때 메모리쪽을 비롯해서 여러가지 설정을 해주는 코드들은 어셈블리로 이루어져 있지요.(제가 지금 그렇게 보고 있답니다)
인텔에서 나온 메뉴얼을 보시는것도 괜찮을듯 싶은데..
인텔에서 나온 메뉴얼을 보시는것도 괜찮을듯 싶은데..
그나저나 백수 언제 탈출하냐... ㅡㅡ; 배고파라.
ARM ARM 입니다. 다들 이게 제일 필수라고 권하더군요.간혹 보드
ARM ARM 입니다. 다들 이게 제일 필수라고 권하더군요.
간혹 보드에 따라서는 번들로 이 책을 주기도 합니다.
http://www.amazon.com/exec/obidos/tg/detail/-/0201737191/qid=1059973350/sr=1-1/ref=sr_1_1/103-0206102-8951035?v=glance&s=books
오늘 우리는 동지를 땅에 묻었습니다. 그러나 땅은 이제 우리들의 것입니다.
아직도 우리의 적은 강합니다. 그러나 우리는 그들보다 많습니다.
항상 많을 것입니다.
공부하신다면...
먼저 StrongARM Architecture에 대한 메뉴얼이 있을 겁니다.
그걸 먼저 보시고 공부하시면 어셈블은 생각보다 쉽게 이해가 가실겁니다.
프로세서 메뉴얼 생각보다 어렵진 않습니다.
다만 진정 어려운건 언어가 아닐까 하는데 영어에 자신있으시다면 OK.
The difficulty in life is the choice.
감사합니다.^^
좋은 정보와 조언 정말 감사드립니다. ^^ 꾸뻑
[url]http://doc.kldp.org/old/개발자(develop
[url]http://doc.kldp.org/old/개발자(developer)_코너/Assembly/[/url]
을 참고하시어 x86 에서 먼저 조금은 할 수 있습니다.
그 다음에 위에 분들이 말씀하신 책들을 참고로 명령어를 하나씩 바꾸어서
컴파일하고 링크한다음 타겟보드에서 실행해보면 되겠지요.
아...그리고 C Code 를 컴파일 할때 Assembly Code 를 생성해 주는 Gcc 옵션이
아마 -S 이었을 겁니다. 대문자 입니다.
C Code 로 간단하게 만든다음 Arm 컴파일러로 Assembly Code 를
만들어서 보면 많은 도움이 됩니다.
여기서 test.s 는 x86 용, arm-test.s 는 arm 용의 Assembly Code 가 되겠지요.
나중에 아시겠지만 RISC 머신이라 코드가 특이하게 나올 경우가 있습니다.
예를 들어 branch 같은 것을 할때죠. 이런 코드는 RISC 의 특성인 파이프라인 구조를
알아야 이해 할 수 있습니다. 참고하시길...
그럼...
아참... 그리고GAS Manual 이 참고가 될지도 모르겠군요.
아참... 그리고
GAS Manual 이 참고가 될지도 모르겠군요.
gnu.org
개인적으로는...
개인적으로는... 일단 ARM 어셈블리에 대해 조금이라도 감을 잡게 되신다면, Strongarm 에서 사용하는 여러가지 부트로더 중 하나를 분석해 보시는게 많은 도움이 될 듯 합니다.
물론 부트로더도 많은 부분 C로 이루어지지만, 처음 부트했을때 메모리쪽을 비롯해서 여러가지 설정을 해주는 코드들은 어셈블리로 이루어져 있지요.(제가 지금 그렇게 보고 있답니다)
그럼~
My Passion for the Vision!
커널 포팅을 원하신다면...
어셈을 공부하시다면 약간 주제가 다를수는 있습니다만,
(이미 알고 계실지 모르겠습니다만)
암에 커널 포팅을 원하신다면 이곳을 추천합니다.
암리눅스 관련 한글 자료가 많이 있구요.
암어셈으로 작성된 부트로더 관련자료가 있습니다.
www.kelp.or.kr
www.kesl.org
댓글 달기