close
티루트 . 처음 . 목록 . 전시 . 앨범 . 찾기 . 방명록 . 링크 . 흔적 . 일기장 . 관리자



+ 최근 글

  • ` 안드로이드 1일차 / 환경설정 및 최초 빌드. (1)
  • ` 통진당 난장판의 긍정효과.. (1)
  • ` 이재오는 왜 나왔을까?.
  • ` 제임스 갈브레이드.
  • ` 영화들... (6)



  • + 최근 댓글

  • ` 까보니까 U-Boot의 top에 뭔가의 16바이트 헤더를... *dawnsea
  • ` 정말 그렇군. *vividian
  • ` 난 배트맨 비긴즈는 좋아해염... 뭔가 오덕스러운... *dawnsea
  • ` 아.. 기사 윌리엄이 히스 레저였구나.. OTL ... *dawnsea
  • ` 브라이언 싱어의 슈퍼맨은 렉스루터도 매력없어요... *코젯



  • + 최근 엮인글

  • ` dawnsea의 생각 *dawnsea's me2day
  • ` [파이어폭스,팁] 파이어폭스 포터블 업데이트, 쓰... *월풍도원(月風道院) - Delight on the Simple Life
  • ` 일룸 옷장 전시품 판매합니다~~(일룸올리) *iloom1님의 블로그
  • ` 색깔 심리 테스트 *활자중독증
  • ` 티에프의 생각 *tfurban's me2DAY
    안드로이드 1일차 / 환경설정 및 최초 빌드
    2012/05/17 13:55



    오드로이드 A 를 갖고 놀기 시작했다.



    1.
    기본 환경 설정은 다음을 참고한다.
    깔 것 깔자.

    또한, 우분투 11.10으로 업그레이드 했다.  11.04는 문제가 많다.
    그냥 원클릭 업그레이드해도 쓸만하다. 어짜피 쉘하고 탐색기? 정도나 쓸 듯..

    우리는 BSP 엔지니어이므로 SDK나 이클립스등은 일단 스킵하고, 에러날 때마다 추가하자.

    http://source.android.com/source/initializing.html





    2.
    코드소서리 4.4.1을 설치한다.


    https://sourcery.mentor.com/sgpp/lite/arm/portal/release1294


    bin으로 받아서 실행권한 준 후 실행하면 땡.
    설치 위치를 대강 기억해 둔다.




    3.
    /root/.bashrc 에 bin PATH를 추가한다.

    arm-none-eabi-gcc -v 실행해서 제대로 보이는 지 확인한다.

    .bashrc를 고친 후에는 source /root/.bashrc 를 실행해서 현재 실행중인 쉘에 반영한다.


    다음 환경 변수도 넣어두면 편리하다.
    단, 호스트용 툴, 커널을 빌드하거나 할 때는 엉킬 수 있으니 주의한다. (ARCH 변수)

    export ARCH=arm
    export CROSS_COMPILE=arm-none-eabi-


    4.

    오드로이드 홈페이지에 가서 최신 ICS 소스를 받는다.
    원본 소스부터 시작하는 작업은 나중에 하자. 일단 적응이 우선이다.

    http://com.odroid.com/sigong/nf_file_b ··· bid%3D94



    5.

    아직 매뉴얼 및 구조등을 제대로 읽어보지 않았는데.. 하드웨어 리셋버튼을 못 찾았다.
    일단 부팅 MMC는 가장 상단에 있는 슬롯이다.
    디버깅 포트는 아래에서부터 두 번째 포트다.

    디버깅 포트에 연결하고 minicom을 준비한다. 요즘엔 주로 USB2UART 를 사용하므로 /dev/ttyUSB0 등으로 잡는 것을 주의한다.
    속도는 115200 8n1

    6.

    U-Boot 빌드 준비를 하자.
    2410 시절의 스테핑 스톤을 계승하고 있다. 초기 16KB를 자동 로드하고 있는 듯하다.
    C100할 때는 U-Boot 에서 자체적으로 top/bottom 구조를 해결한 것 같은데..
    어쨌든 U-Boot를 top/bottom 으로 쪼개야 한다. BLOB의 변형이나 티벨로더부터 계승된 구조로 보인다.



    7.

    U-Boot 디렉토리로 들어가서 boards.cfg를 까보자.
    오드로이드 A는 엑시노스 4210이라고 한다. (지가 산 보드의 칩셋도 잘 모르는 단계에 이르렀음..)

    4210은 V310 계열이라고 한다. smdkv310 ... 아 정말 이제 아무것도 모르는 상태에서 개발하는 구나.


    make distclean
    make mrproper

    이 정도 실행하면 일단 클리닝은 될 것이다.

    make smdkv310_config
    make

    이제 u-boot.bin 이 나왔으니까 땡이지만.. top image를 만들어야 한다.


    8.

    sd_fuse 라는 디렉토토리가 있는데 하드커널에서 이미지 스플리터로 만든 것 같다.
    들어가서 make 쳐서 빌드한 후 mkbl2를 ../로 복사한다. bl2.bin 은 필요없는데.... 뭐 나중에 쓸 일이 있을지 모르니..


    9.

    c210-mkbl1 u-boot.bin u-boot_bl1.bin 16384 명령어로 16킬로짜리 top 이미지를 뽑는다.



    10.

    마이크로 SD 카드를 뽑아서 PC에 꽂는다.
    fdisk -l 해보면 8기가 짜리 스토리지가 새로 보인다. 나의 경우 sdb

    fdisk -l /dev/sdb 로 다시 살펴보자.

    umount /dev/sdb*  일단 모두 절단.

    익숙한 dd 명령어로 아까 만든 이미지를 밀어넣는다.
    dd if =./u-boot.bin of=/dev/sdb seek=33  

    seek는 파티션 계획에 따른 위치다.

    dd if=./u-boot_bl1.bin of=/dev/sdb seek=1

    얼래? 그냥 16K 밀어넣는게 아니라 bl1을 넣는 걸 보니 c210 툴이 bl1에 뭔가의 헤더를 붙이나보다.
    나중에 소스 분석해보자.

    sync 때리고 카드 빼서 오드로이드에 넣는다.
    부팅 하면 미니컴 콘솔에 뭔가 뜰 것이다.


    위에 기록한 과정 중에 "그냥 따라할 뿐 뭔지 모르겠는 것"이 있으면 안 된다.
    그런 경우 오드로이드 홈페이지의 친절한 문서를 보고 하자.






    * * 추가

    11.

    커널 소스를 푼다.

    ARCH=arm  환경 변수 추가 export를 하든 뭐하든 알아서..

    arch/arm/configs 를 뒤진다. ordroid-a-defconfigs 발견.

    make ordroid-a-defconfigs 실행

    make -j 8

    요즘 커널은 모듈까지 완빵 뽑는 거 아시죠?


    일단 여기까지..



    ** 추가

    리셋버튼은 후면 리셋홀에 있다.
    걍 누르면 안 된다 -_- 2초는 눌러야 됨.. 그래서 안 됐구나..



    dawnsea
    2012/05/17 13:55 2012/05/17 13:55
    댓글. 1 / 엮인글 / HanRSS 구독
    엮인글 주소 :: http://keeptalk.cafe24.com/tc/trackback/2776
    1. dawnsea 2012/05/17 14:02  X  O

      까보니까 U-Boot의 top에 뭔가의 16바이트 헤더를 넣는데 뭔지는 잘 모르겠다.
      스테핑 스톤의 식별자인지.. DDR 설정 상수 값인지..
      매뉴얼을 읽어봐야겠다.

    다음
    이전

    1 2 3 4 5 ... 1722
    dawnsea’s Blog is powered by Textcube 1.8.5 : Accelerando / Designed by dawnsea / rss feed / A1504431.T451.Y828