시스템 엔지니어 공부 및 powerpc 디버깅 ansdml

soulofme의 이미지

안녕하세요.
최근 .. 회사 직무전환으로 시스템 엔지니어를 하게 되었습니다.

문제는...제가 전에하던 직무하고는 전....혀 상관없는..것이어서..;

그래서 공부를 좀 하면서 준비를 하고싶은데요.

현재 진행되는 과제는 임베디드리눅스를 이용하고 있고, powerpc core를 사용하고있습니다.

이와관련되어 제가 준비를 해야될것이 무엇이 있을까요.

제가 봐도..질문이 너무 애매하네요..;;;

아..참고로..공대도 안나오고-_-전혀 이분야를 모르고있습니다.ㅠㅠ

흑ㅠㅠ 조언좀 부탁드립니다.

아 그리고.. powerpc 디버깅을 해야되는데..u-boot에서 브레이크를 걸면 .. 안걸리고 슁 가버리네요.
아마.. mmu 셋업과 관련이 있을것 같은데..하나도 몰라서..ㅠㅠ

powerpc 디버깅도..조언 부탁드립니다..ㅠㅠ

그럼 건강조심하시고, 즐거운 주말되시길 바랍니다.
감사합니다.

사랑천사의 이미지

아무레도... 생각하시는 시스템 엔지니어링과... 흔히 업게에서 말하는 시스템 엔지니어링과 많이 다른 거 같습니다.
아마도 지금 생각하시는 이슈에 대해선 여기선 답변을 얻으시기 어렵지 않을까 싶습니다.

사람천사

jachin의 이미지

게시판은 다르지만, 답변 써드릴께요! ^^
(헉! 벌써 1주일이나!? 이미 이곳에선 포기하셨을까나? 이미 )

디버그 방법이나, 디버그 툴 등은 교육받고 계신 것이죠?
u-boot 모드에 MMU 얘기까지 나왔다면야...
어떤 원리로 동작하는지 아시는 것도 중요하고요,
툴을 구동한 후 나타나는 콘솔에서 어떤 명령을 쓸 수 있는지도 중요하고요.
대부분 임베디드 시스템 프로그래밍은 리눅스를 사용하는 컴퓨터에서 프로그래밍하고,
크로스 컴파일러로 컴파일 한 후에,
완성된 프로그램을 대상 장치(PowerPC 장치)에 전송해서 실행해보는 것으로 끝나는데,
완성된 장치에 전송하기 전에, 에뮬레이터를 통해서 미리 실행해보거나,
장비에 Debug 모드가 있는 경우, Debug Unit(ICE라는 이름으로 불리는 장비들)을 통해서
실행될 때의 PowerPC 내부 구동 상태를 확인할 수 있을겁니다.

일단 PowerPC(이하 PPC) CPU의 명령어 집합을 아시는 것이 우선일 것 같습니다.
구글 검색엔진에서 PowerPC Instruction Set 으로 검색하셔서 게시물을 보시면
간단하게 설명한 게시물들이 (영문으로) 많이 있습니다.
대강의 내용들을 보고나신 후에 debug 명령으로 보이는 것들이 단순한 코드가 아니라
PPC의 '어셈블리어'로 쓰여진 코드라는 것을 아시게 될 겁니다. :)
그리고 각 코드를 수행하다가, 레지스터에 저장되는 값이 예상값과 다르다면,
어떤 문제인지 확인하실 수 있을겁니다.

PPC는 RISC방식이라 크게 복잡하지는 않을거에요. :)
그 다음에도 문제가 생긴다면, 아마 Cache 구조와 관련한 문제일 가능성이 높습니다.
그 때에는 세세하게 PowerPC Architecture에 대한 내용을 읽으셔야 합니다.