강좌 & 팁
글 수 2,412
2013.07.13 12:16:00 (*.52.177.249)
45357
안녕하세요 판다 이우영입니다.
오늘은 눈으로 무언가 볼 수 있도록 해보겠습니다.
그럼 시작해 보겠습니다.
uart 설정하기!!
저번시간에 빌드한 이미지를 보드에 올려보셨나요?
올려보시면 다음 그림처럼 역시나 아무 메시지가 나오지 않습니다.
그럼 여기서부터 어떻게 진행을 해야할까요?
난감하시죠?
우선 커널의 low-level debugging 을 켜보도록 하겠습니다.
$ make menuconfig Kernel hacking ---> [*] Kernel low-level debugging functions (read help!) Kernel low-level debugging port (Use S3C UART 2 for low-level debug) ---> |
위와 같이 설정을 하고 다시 빌드를 해봅시다.
그럼 어쩐 변화가 생길까요?
(ez-s5pv210 에서 uart 2번을 사용중이기 때문에 위와같이 설정했습니다.)
오! 무언가 메시지가 나왔습니다.
무엇인가보니 machine ID가 다르다고 나오내요.
지금 보드의 설정14번을 보시면 커널을 arch 넘버가 4001(0xFA1)로 설정되어 있습니다.
아까 위에서 SMDKV210은 2456(0x998)이라고 알려주내요 이걸로 바꿔서 다시 부팅을 해보도록 하겠습니다.
오 부팅했습니다.!!
다만 파일 루트 파일시스템을 mount하지 못했내요.
이건 다음시간에 해결해 보도록 하겠습니다.
머신 ID란?
위에서 문제가 되었던 머신 ID 또는 arch number 는 커널에 정의 되어 있습니다.
그위치는 arch/arm/tools/mach-types 입니다.
http://lxr.linux.no 에서 확인해 볼까요?
1# Database of machine macros and numbers 2# 3# This file is linux/arch/arm/tools/mach-types 4# 5# Up to date versions of this file can be obtained from: 6# 7# http://www.arm.linux.org.uk/developer/machines/download.php 8# 9# Please do not send patches to this file; it is automatically generated! 10# To add an entry into this database, please see Documentation/arm/README, 11# or visit: 12# 13# http://www.arm.linux.org.uk/developer/machines/?action=new 14# 15# This is a cut-down version of the file; it contains only machines that 16# are merged into mainline or have been edited in the machine database 17# within the last 12 months. References to machine_is_NAME() do not count! 18# 19# Last update: Thu Apr 26 08:44:23 2012 20# 21# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number 22# 23ebsa110 ARCH_EBSA110 EBSA110 0 24riscpc ARCH_RPC RISCPC 1
426mx51_m2id MACH_MX51_M2ID MX51_M2ID 2428 427smdkv210 MACH_SMDKV210 SMDKV210 2456 428omap_zoom3 MACH_OMAP_ZOOM3 OMAP_ZOOM3 2464
1203baileys MACH_BAILEYS BAILEYS 4169 1204familybox MACH_FAMILYBOX FAMILYBOX 4170 1205ensemble_mx35 MACH_ENSEMBLE_MX35 ENSEMBLE_MX35 4171 1206sc_sps_1 MACH_SC_SPS_1 SC_SPS_1 4172
보시는거와 같이 엄청 많은 레퍼런스 보드들에 대해 정의 되어 있습니다.
linux-3.7에는 4172 번 까지 사용중이내요.
2.6.35 까지만해도 3000번대역 이였던거 같은데 많이 나왔내요 ㅎㅎ
만약 새로만든 보드가 있다면 여기에 따로 추가해서 자신만의 고유 ID를 부여하여 작업을 하셔야 합니다.
그럼 오늘은 여기까지!!!
다음시간에 만나요~~