본문 바로가기
728x90

Research/SystemProg27

왜 arm-linux-gcc에서는 #pragma pack이 안될까? (출처:www.kelp.or.kr) 글쓴이 : 유영창 (2001년 11월 23일 오후 12:23) 읽은수: 802 [ 임베디드강좌/유영창 ] 통신 프로그램을 작성하다보면 생기는 오류중에서 struct의 크기 때문에 고생하게 된다. 왜? struct A { char a; }; 이것의 크기는 4로 잡히기 때문이다. 크기를 1로 잡으려면 이렇게 하면 된다. #pragma pack(1) struct A { char a; }; #pragma pack() 하지만 arm-linux-gcc에서는 이것이 먹지 않는다. 어떻게 해야 할까? 이렇게 하면 된다. struct A { char a; } __attribute__ ((packed)); PS : 이지보드에 bootp를 구현하다가..... 2004. 6. 13.
가상 메모리 www.ahnz.netMMU 2004. 6. 7.
커널 디버깅 기능 활성화과정 커널 디버깅 기능 활성화과정 (출처: http://www.kelp.or.kr 유영창) 커널 디버깅 기능 활성화과정 =========================== 1. 개요 이 문서는 커널의 압축 해제 루틴 이후부터의 커널 패치를 하는 과정에 대하여 시간순으로 기술한 문서이다. 이 문서에서는 커널의 디버깅 옵션을 활성화 하는 방법에 대하여 기술한 문서이다. 2. 문서 참조 문서 없음 3. 커널 디버깅 옵션 디버그 포트에 대한 처리이다. 커널 디버깅시에 시리얼로 데이타를 표출하면서 보는 것이 가장 편리하므로 이 작업에 대한 처리를 우선적으로 해야 할것으로 보인다. 우선 커널 컴파일 옵션에서 다음을 활성화 한다. Kernel hacking ---> [*] Kernel debugging [*] Kernel .. 2004. 6. 6.
압축 해제 이후 커널 패치 과정 유영창 (http://kelp.or.kr) 압축 해제 이후 커널 패치 과정(1).txt 압축 해제 이후 커널 패치 과정 ============================= 1. 개요 이 문서는 커널의 압축 해제 루틴 이후부터의 커널 패치를 하는 과정에 대하여 시간순으로 기술한 문서이다. 2. 문서 이 문서를 작성하기 위하여 권수호씨가 작성한 문서를 참고 하였다. http://kelp.or.kr/korweblog/upload/12/20010725160834/045-LinuxKernel- chapter38_SA1100_Booting_head_S.doc 3. 패치 과정 head.S 의 함수를 추적하기 위한 방법은 돈이 있다면 가장 좋은 것은 에뮬레이터를 이용하는 것이다. 하지만 돈이 없다면... 결국 몸으로.. 2004. 6. 6.
728x90