1. Boot from SD memory S3C6410은 SD 메모리 카드를 이용해서 부팅을 할 수가 있는데, 그러기 위해서는 Windows PC에서 Bootloader를 SD 메모리에 퓨징 해야 합니다. SD메모리에 퓨징을 한다는 의미는 그냥 파일을 복사하는 방식이 아니라 삼성에서 제공하는 "IROM_SD_Fusing_tool.exe" 프로그램을 이용해서 SD메모리에 부트로더를 퓨징 한다는 의미 입니다. SD메모리에 퓨징을 해도 SD메모리 상에는 어떤 파일도 보이지는 않습니다. 그리고 "SD-Flasher.exe" 또한 SD퓨징 툴로 삼성에서 제공하는 기본 프로그램에서 조금더 개선한 SD퓨징 툴 입니다. 그 차이점은 아래 표를 참조하시기 바랍니다. 비교 | IROM_SD_Fusing_tool.exe | SD-Flasher.exe | 지원 OS | Only supported Windows XP | Can support WindowsXP/Vista/Windows7 | 지원하는 SD메모리 | High speed SD 카드를 지원하는 버젼의 툴 사용시 선택적 지원 | High speed SD와 일반 SD카드 모두 지원 | Auto Scan SD Card | SD메모리 드라이브를 사용자가 선택 해야 함 | SD메모리 드라이브 자동 스캔 | 1.1 Programming bootloader to the SD card 1.1.1 Bootloader Introduction * U-Boot 삼성전자의 S3C6410 USB 다운로드 기능을 지원하는데, 우리는 여기세엇 좀더 개선된 기능을 가진 모든 소스를 공개한 USB다운로드를 제공합니다. (1) 좀더 개선되고 다양해진 다운로드 메뉴 (2) SD card boot configuration 개선 (3) yaffs2 파일시스템을 리눅스 부팅없이 바로 다운로드 가능 (4) Windows CE를 위한 Nboot 다운로드 기능 지원 (5) Windows CE OS이미지(NK.bin) 다운로드 지원 (6) Support original shell 주의 : 삼성전자의 U-Boot는 현재 SDHC card (more than 2G's High-capacity SD cards) 를 지원하지 못합니디. 그래서 2GB이하의 SD메모리를 사용해야 합니다. * Superboot U-boot보다 좀더 사용자들에게 좀더 친숙하고 강력한 Superboot라는 부트 로더가 있습니다. 하지만 이것은 소스를 공개하지 않고 있습니다. 자세한 사항은 아래 비교표를 참조하세요. Compare Item | Superboot | 개선된 U-boot | Original U-boot | 128M/256M DDR RAM 자동인식 | Support | Not support | Not support | OS이미지가 RAM보다 클경우 지원 | Support | Not support | Not support | Stepping loader 다운로드 via USB | Support | Support | Support | Linux 커널 다운로드 via USB | Support | Support | Support | Yaffs2 댜운로드 via USB | Support | Support | Some support | UBIFS 다운ㄹ드 via USB | Support | Not support | Not support | EBOOT.nb0 다운로드 | Not necessary | Not necessary | Support | NK.bin 다운로드 via USB | Support | Not support | Not support | NK.nb0 다운로드 via USB | Not support | Support | Not support | Boot logo change 기능(WinCE) via USB | Support(BMP 파일 포맷) | Not support | Some support(파일변환 필요) | Firmware 다운로드 | Support | Support | Support | Firmware 실행 in memory | Support | Not support | Not support | Startup parameters | Support | Support | Support | Normal SD card 2G | Support | Support | Support | High-speed large-capacity SD | Support | Not support | Not support | Stepping loader 다운로드 via SD | Support | Not support | Not support | Linux 커널 다운로드 via SD | Support | Not support | Not support | Yaffs2 댜운로드 via SD | Support | Not support | Not support | UBIFS 다운ㄹ드 via SD | Support | Not support | Not support | NK.bin 다운로드 via USB | Support | Not support | Not support | Boot logo change 기능(WinCE) via USB | Support | Not support | Not support | Run the Linux in SD memory card | Support | Not support | Not support | Run the Ubuntu in SD memory card | Support | Not support | Not support | Run the Android in SD memory card | Support | Not support | Not support | Run the Windows CE in SD memory card | Support | Not support | Not support | 1.1.1 Bootloader programming based on WindowsXP SD메모리 카드 이용시 몇몇 노트북이나 데스크탑에 있는 메모리 리더기를 사용하지 마세요. 반드시 USB SD메모리 리더기를 사용하셔야 합니다. 추가적으로 SD-Flasher.exe 는 메모리 카드의 맨 앞부분의 130MB를 삭제하고 분할 합니다. 그래서 256MB이하의 SD 메모리는 사용 할 수가 없고 2GB메모리 카드를 권장 합니다. 그리고 "SD-Flasher.exe" 프로그램을 실행하기 전에 미리 FAT32로 SD메모리를 포맷 한 다음 실행해야 합니다. Step1: CD/tools/SD-Flasher.exe 실행 Step2: Locations button to find the programming of the superboot, as shown in Figure Step3. FAT32으로 포맷된 SD메모리를 USB 메모리 리더기를 통해서 PC연결 한 후 "Scan" 버튼을 누르면 자동으로 SD 메모리 드리이브를 찾아서 보여 줍니다. Step4. 그리고 나서 "Fuse" 버튼을 누르면 superboot 가 SD 메모리에 Write 됩니다. Superboot가 SD메모리에 잘 Write되었는지 확인하는 방법은 개발보드의 Switch2를 SDBOO모드로 설정하고 전원을 인가 했을때 개발보드의 LED1이 깜빡이면 정상적으로 동작하는 것입니다. 만약 LED1이 깜빡이지 않거나 Serial포트로 어떤 내용도 출력되지 않는다면 SD메모리에 Superboot가 제대로 Write되지 않은 것입니다. 이런 경우에는 위의 Step1 ~ 4가 제대로 이루어 졌는지 확인한 후 진행해야 합니다. 1.1.1 Bootloader programming based on Windows7 Windows Xp와 마찬가지로 SD메모리 카드 이용시 몇몇 노트북이나 데스크탑에 있는 메모리 리더기를 사용하지 마세요. 반드시 USB SD메모리 리더기를 사용하셔야 합니다. 추가적으로 SD-Flasher.exe 는 메모리 카드의 맨 앞부분의 130MB를 삭제하고 분할 합니다. 그래서 256MB이하의 SD 메모리는 사용 할 수가 없고 2GB메모리 카드를 권장 합니다. Step1: CD/tools/SD-Flasher.exe 를 관리자 권한으로 실행하고 "ReLayout" 버튼을 클릭해서 SD 메모리 카드의 영역을 분할 합니다. Step2: Locations button to find the programming of the superboot, as shown in Figure
Step3. FAT32으로 포맷된 SD메모리를 USB 메모리 리더기를 통해서 PC연결 한 후 "Scan" 버튼을 누르면 자동으로 SD 메모리 드리이브를 찾아서 보여 줍니다. 그리고 아래와 같이 "Available" 이 "No"로 된 SD메모리 카드는 사용 하실 수 없습니다.
Step4. "Available" 이 "No"로 될 경우에는 "ReLayout"을 다시 한번 합니다.
SD메모리의 파티션 분할이 완료가 되면 다시 한번 "Scan" 을해서 사용가능한 SD 메모리 카드를 검색 합니다.
Step5. "Fuse" 버튼을 눌러서 Superboot를 Write 합니다.
Superboot가 SD메모리에 잘 Write 되었는지 확인하는 방법은 "1.1.1 Bootloader programming based on WindowsXP" 의 경우와 동일 합니다.
1.2 OS Install1.2.1 Quick install Windows CE system to NAND flash개발보드는 공잘 출하시 Linux운영체제가 포팅 되어 있습니다. Windows CE운영체제로 OS를 업데이트 하기 위해서는 다음 절차에 따라서 진행 하면 됩니다.
Step1. 제공 CD의 Image 폴더안의 FriendlyARM.ini 파일의 "OS= CE6" 부분을 수정하고 나서 모든 파일들을 SD메모리 카드의 루트에 복사 합니다.
Step2. 개발보드에 SD메모리 카드를 삽입하고 Switch2를 SDBOO모드로 설정 합니다. Step3. 개발보드의 전원을 인가하면 초기에 Buzzer소리와 함께 개발보드의 LED4가 깜박이고, 순차적으로 LED4 ~ 1번 순으로 점멸 합니다. OS 업데이트가 완료 될때까지의 시간은 약 20 ~30초 정도가 소요 됩니다. Step4. 다운로드가 완료되면 LED1,2,3,4 이 깜빡입니다. Step5. Switch2를 Nand 부트 모드로 전환하고 Reboot을 하면 업데이트된 OS 시스템이 실행 됩니다. LED4 ~ 1번이 동시에 점멸을 하며 부저가 빠르게 울리면 FriendlyARM.ini 파일의 설정과 디렉토리 구성이 잘못되었다는 것입니다. 1.2.2 Quick install Android system to NAND flash 안드로이드 포팅도 WindowsCE의 경우와 많이 다르지는 않습니다. Step1. 제공 CD의 Image 폴더안의 FriendlyARM.ini 파일의 "OS= Android" 부분을 수정하고 나서 모든 파일들을 SD메모리 카드의 루트에 복사 합니다. 1.2.3 Quick install Linu system to NAND flash 리눅스 포팅도 WindowsCE의 경우와 많이 다르지는 않습니다. Step1. 제공 CD의 Image 폴더안의 FriendlyARM.ini 파일의 "OS= Linux " 부분을 수정하고 나서 모든 파일들을 SD메모리 카드의 루트에 복사 합니다. 1.2.4 Quick run Ubuntu system from SD memory Ubuntun 시스템은 동작하는데 256MB의 RAM과 1GB정도의 저장 공간이 필요합니다. 그래서 Nand플래시에서 실행시키기 보다는 SD메모리에 설치하여 실행시키는 편이 낫습니다. Step1. 제공 CD의 Image 폴더안의 FriendlyARM.ini 파일의 "OS= Ubuntu ", "Action= Run" 부분을 수정하고 나서 모든 파일들을 SD메모리 카드의 루트에 복사 합니다. Step2. 개발보드에 SD메모리 카드를 삽입하고 Switch2를 SDBOO모드로 설정 하고 전원을 인가하면 SD메모리에서 Ubuntu 시스템이 시작 됩니다.
1.2.5 Configuration FriendlyARM.ini 위의 간단한 운영체제 설치과정은 Superboot에서 모든 처리를 해주기 때문에 가능 합니다. 여기에서는 좀더 자세한 FriendlyARM.ini 파일의 설정에 대해서 설명 합니다.
* FriendlyARM.ini 파일의 내용
# This line cannot be removed. By FriendlyARM (www.arm9.net) # Notice: for the image filename include "ram128", "ram256" or "-s" # # "Ram128" means it is for the board with 128M RAM # "Ram256" means it is for the board with 256M RAM CheckOneButton = No Action = install OS = Linux VerifyNandWrite = No StatusType = Beeper | LED #################### Linux ##################### Linux-BootLoader = Linux/u-boot_nand-ram128.bin Linux-Kernel = Linux/zImage_n43 Linux-CommandLine = root = /dev/mtdblock2 rootfstype=yaffs2 init=/ linuxrc console=ttySAC0, 115200 Linux-RootFs-InstallImage = Linux/rootfs_qtopia_qt4.img Linux-RootFs-RunImage = Linux/rootfs_qtopia_qt4.ext3 ################### WindowsCE6 ################# WindowsCE6-Bootloader = WindowsCE6\NBOOT_N43-RAM256.nb0 WindowsCE6-BootLogo = WindowsCE6\bootlogo.bmp WindowsCE6-InstallImage = WindowsCE6\NK_n43.bin WindowsCE6-RunImage = WindowsCE6\NK_n43.bin ################### Android #################### Android-BootLoader = Android/u-boot_nand-ram128.bin Android-Kernel = Android/azImage_n43 Android-CommandLine = root=ubi0:FriendlyARM-root ubi.mtd=2 rootfstype=ubifs init=/ linuxrc console=ttySAC0,115200 Android-RootFs-InstallImage = Android/rootfs_android.ubi Android-RootFs-RunImage = Android/rootfs_android.ext3 ################### Ubuntu ##################### Ubuntu-BootLoader = Ubuntu/u-boot_nand-ram128.bin Ubuntu-Kernel = Ubuntu/uzImage_n43 Ubuntu-CommandLine = root=ubi0:FriendlyARM-root ubi.mtd=2 rootfstype=ubifs init=/linuxrc console=ttySAC0,115200 Ubuntu-RootFs-InstallImage = Ubuntu/rootfs_ubuntu.ubi Ubuntu-RootFs-RunImage = Ubuntu/rootfs_ubuntu.ext3 ############### UserBin part ################# UserBin-Image = WindowsCE/NK.nb0 userBin-StartAddress = 50100000 |
* 각 설정 항목에 대한 상세한 설명
Item(Case insensitive) | Description | CheckOneButton | When the "Yes", You need to press the power on or reset the board before any key steps behind before it is implemented; When the "No"When turned on or reset automatically after the steps behind the general volume can be set when programming "No" The default is "No" USB다운로드 모드 or Superboot 메뉴로 진입하기 위해서는 "Yes" 로 설정해야 합니다. | Action | Set the action to be performed, you can: Install / Run / Null, Representing: Install - InstalledNand Flash; Run - Directly from theSDCard operation Null - No Action; Set is empty, also said NULL The default is "Install" | OS | Select to install or run the system, can: Linux/CE6/Ubuntu/Android/UserBin; Which UserBin Refers to the bare program or a single file image, such as uCos2, Rt-Thread Etc. The default is "Linux" | VerifyNandWrite | When the "yes", The programming is complete, will perform validation, it will be more secure; When the "No", The programming is complete, does not perform validation, this will be faster; The default is "No", Is generally not a problem. | StatusType | The programming process of the state prompted for "LED", “Beeper" or their combination (combination of symbol"|"); The default is "LED | Beeper" | * Linux system installation | Linux-BootLoader | SpecifyvLinuxSystem used Bootloader File image name such as: Linux-BootLoader = Linux/u-boot_nand-ram128.bin (Default) | Linux-Kernel | Specify Linux used by the kernel file system image name Such as: Linux-BootLoader = Linux/zImage_n43 (Default) | Linux-CommandLine | Set Linux startup parameters, start or programmed for different ways to set different parameters. When yaffs2 file system, the recommended parameters(Default) : Linux-CommandLine =root=/dev/mtdblock2 rootfstype=yaffs2 init=/linuxrc console=ttySAC0,115200 When UBIFS file system, the recommended parameters are: Linux-CommandLine = root=ubi0:FriendlyARM-root ubi.mtd=2 rootfstype=ubifs init=/linuxrc console=ttySAC0, 115200 When you need to SD directly running, default parameters can be retained | Linux-RootFs-InstallImage | Specify the installation Linux File system used by the image name, you can yaffs2/UBIFS Format. Our definition: "Img" Representative of the end of the image file yaffs2 Format; "Ubi" Representative of the end of the file UBIFS Format; "Ext3" Representative of the end of the image file EXT3 Format(Only fromSDCard operation) Such as:Linux-RootFs-RunImage = Linux/root-qtopia-qt4.img (Default) | Linux-RootFs-RunImage | Designated from SD Card operation Linux used by the file system image name. Such as:Linux-RootFs-RunImage = Linux/root-qtopia-qt4.ext3 (Default) | * Windows CE system installation | WindowsCE6-Bootloader | Specify WindowsCE6 System used bootloader file image name Such as:WindowsCE6\NBOOT_N43-RAM128.nb0 (Default) | WindowsCE6-BootLogo | Specify WindowsCE6 splash screen file name used will be burned write Nand Flash, The file is ordinary bmp format can be up to 2M Such as:WindowsCE6-BootLogo = WinowsCE6\BootLogo.bmp (Default) | WindowsCE6-InstallImage | Specify the installation WindowsCE6 image used by the kernel file name, the need for NK.bin format Such as:WindowsCE6-InstallImage = WindowsCE6\NK_N43-i.bin (Default) | WindowsCE6-RunImage | Designated from SD Card operation WindowsCE used when the file system image, the need for Nk.bin format. Such as:WindowsCE6-RunImage = WindowsCE6\NK_N43-i.bin (Default) | * Ubuntu system installation | Ubuntu-BootLoader | Specify Ubuntu system used bootloader file image name Such as:Linux-BootLoader = Linux/u-boot_nand-ram128.bin (Default) | Ubuntu-Kernel | Specify Ubuntu used by the kernel file system image name Such as:Ubuntu-BootLoader = Ubuntu/uzImage_N43 (Default) | Ubuntu-CommandLine | Set Ubuntu startup parameters, for different boot method, you need to set different parameters. When UBIFS file system, the recommended parameters are: Linux-CommandLine = root=ubi0: FriendlyARM-root ubi.mtd=2 rootfstype=ubifs init=/linuxrc console=ttySAC0,115200 (Default) When you need toSDDirectly running, default parameters can be retained | Ubuntu-RootFs-RunImage | Designated from SD card operation Ubuntu file system used by the image name, the general size of the file is fixed Such as:Ubuntu-RootFs-RunImage = Ubuntu/rootfs_ubuntu.ext3 (Default) | * Android system installation | Android-BootLoader | Specify Android system used bootloader file image name Such as:Android-BootLoader = Android/u-boot_nand-ram128.bin (Default) | Android-Kernel | Specify Ubuntu used by the kernel file system image name Such as:Android-BootLoader = Android/azImage_N43 (Default) | Android-CommandLine | Set Android startup parameters, start or programmed for different ways to set different parameters. When yaffs2 file system, the recommended parameters(Default): Android-CommandLine = root =/dev/mtdblock2 rootfstype=yaffs2 init=/linuxrc console=ttySAC0,115200 When UBIFS file system, the recommended parameters are: Android-CommandLine = root=ubi0: FriendlyARM-root ubi.mtd=2 rootfstype=ubifs init=/linuxrc console=ttySAC0,115200 When you need to SD directly running, default parameters can be retained | Android-RootFs-InstallImage | Specify the installation Android file system used by the image name, you can yaffs2/UBIFS format. Our definition: "Img" Representative of the end of the image file yaffs2 format; "Ubi" Representative of the end of the file UBIFS format; "Ext3" Representative of the end of the image file EXT3 format(Only from SD Card operation)
Such as:Android-RootFs-InstallImage = Android/rootfs_android.ubi (Default) | Android-RootFs-RunImage | Designated from SD card operation Ubuntu file system used by the image name, the general size of the file is fixed Such as:Android-RootFs-RunImage = Android/rootfs_android.ext3 (Default) | * User bin image installation | UserBin-Image | Specify the installation or running a single file system image file name, you can bin, nb0 other formats. When "Action" defined as "Install", It burned writes Nand Flash the block0 start place. | UserBin-StartAddress | When "Action" defined as "Run" when he was appointed SD Card in the single file system image will be added to set to a specific implementation of the memory address. | Note : ini 파일안에 주석을 넣고 싶으면 "#" 문자 이후에 넣으면 되고, 파일의 내용중 첫번째 라인의 #This line cannot be removed. By FriendlyARM (www.arm9.net) 부분은 삭제하거나 수정 마지막 ")" 문자 이후에 어떠한 문자나 공백도 있으면 안됩니다.
1.3 Superboot menu 시스템 시작시 Superboot 프로그램의 Bootloader 메뉴로 진입하기 위해서는 아래와 같은 설정이 필요합니다. (1) SD 메모리 카드의 루트에 "mages\ FriendlyARM.ini" configuration 파일이 반드시 존재 해야 합니다. (2) ini 설정파일의 "CheckOneButton = Yes" 옵션을 반드시 "Yes"로 설정 해야 합니다. (3) SD 메모리를 개발보드에 삽입하고 PC와 UART 케이블을 연결 한 다음 개발보드에 전원을 인가합니다. (4) 부팅이 시작되면 PC의 UART터미널에서 수초 이내에 "Space" Key 를 입력 합니다.
1.3.1 Install USB download driver 여기에서 설치하는 USB 드라이버는 dnw.exe 프로그램에서 USB를 통해서 타겟에 프로그램 이미지 등을 Write하는 용도로만 사용됩니다. CD 안의 "Tools\UsbDownload Driver\" 위치에 USB 드라이버 파일이 있습니다. PC와 개발보드에 USB 미니 케이블을 연결한 후 SD 부트 모드로 설정해서 전원을 인가하면 다음과 같이 USB 드라이버 설치 과정이 시작 됩니다.
USB 다운로드 드라이버가 정상적으로 설치가 되고 dnw.exe 를 실행 하면 아래와 같이 USB 상태가 "[USB:x]" 에서 "[USB:OK]" 로 변경 됩니다.
아래 그림은 PC의 장치관리자에 USB다운로드 드라이버가 정상적으로 설치 되었을 때이 장치관리자 상태 입니다.
1.3.2 Functional description of Superboot
Features[F]: 전체 Nand flash를 Erase Features[V]: Nand Flash에 U-boot 와 같은 Linux bootLoader program을 다운로드 Features[K]: Linux, Android 커널을 Nand flash 에 다운로드 Features[Y]: yaffs2 file system image 다운로드 Features[U]: UBIFS file system image 다운로드 Features[A]: uCos2와 같은 펌웨어 프로그램을 Nand flash에 다운로드한 후 실행 시킵니다. Features[N]: Nand Flash 의 Block0 에 Nboot 를 다운로드 합니다. Features[L]: CE부팅 로고를 교체 합니다( bmp 이미지 포맷 ). Features[W]: Nand Flash 에 Windows CE 이미지인 NK.bin 파일을 다운로드 합니다. Features[B]: Nand Flash에 다운로드된 Linux, Wince 시스템을 실행시켜서 부팅 합니다. Features[S]: Set Linux startup parameters Features[D]: Download and run the firmware program Features[I]:Superboot version display and development board information, Nand Flash actual size.
2. Download operating system S3C2440까지는 USB 통신을 통해서 Linux, WinCE 등을 다운로드 하였지만 6410 부터는 SD 부팅 모드를 지원하여 좀더 쉽게 타겟 개발보드에 원하는 이미지를 다운로드 할 수 있는 방법이 있습니다. 2.1 Download operating system via USB 2.1.1 Install Linux system (Yaffs2 or UBIFS format) (1) images\FriendlyARM.ini 설정 파일이 SD 메모리에 있는지 확인 합니다. (2) FriendlyARM.ini 파일 CheckOneButton = Yes 내용을 설정 합니다. (3) USB를 통해서 OS 다운로드를 진행 하려면 하이퍼터미널이 아니라 dnw.exe 를 통해서 명령들을 실행 해야 합니다. Linux 시스템 관련 이미지 파일들은 "CD-ROM\images\Linux" 에 있습니다. 그리고 Linux system 설치 과정은 아래와 같습니다. 개발보드와 PC의 USB연결이 완료되면 아래와 같이 dnw 타이틀바의 USB 설정이 "[USB:X]" 에서 "[USB:OK]" 로 바뀝니다. (1) Nand Flash format, command[F] (2) Installation bootloader, command[V] (3) Installation kernel file, command[K] (4) Target file system installation(Yaffs2 or ubifs format), command[Y]Or[U] 아래의 Linux 시스템 설치 과정은 4.3인치 LCD 타멧에 UBIFS format Linux system 을 설치하는 예제 입니다. Step1: Format Nand Flash Nand 플래시를 포맷하는 동안 약간의 bad block이 발생 할 수 있습니다. 이것은 큰 문제점이 아니며 Linux 시스템을 설치하는 것에는 영향을 미치지 않습니다. Step2 : Bootloader download 부트 로더는 타겟의 종류에 따라서 여러가지 버젼이 있습니다. 아래 파일중에서 자신의 타겟에 맞는 bootloader를 선택해서 설치 해야 합니다. 여기에서는 U-boot_nand-ram128.bin 파일을 예제로 하도록 합니다. u-boot_sd-ram128.bin: Support SD start, for the memory 128M(DDR2) u-boot_sd-ram256.bin: Support SD start, for the memory 256M(DDR2) u-boot_nand-ram128.bin: Support NAND start, for the memory 128M(DDR2) u-boot_nand-ram256.bin: Support NAND start, for the memory 256M(DDR2) (1) 타겟과 PC에 UART와 USB를 연결 하고 시리얼 터미널을 확인 합니다.
[V]를 눌러서 U-boot.bin 을 다운로드 합니다.
(2) "USB Port -> Transmit/Restore" 메뉴에서 "u-boot.bin" 을 선택합니다.(The file is located in CD-ROM/images/Linux Directory) (3) U-boot.bin 다운로드가 완료되고 메인메뉴로 복귀 합니다. (4) Linux kernel download 타겟의 LCD종류에 따라서 다른 리눅스 커널 파일을 다운로드 해야 합니다. zImage_n43 - For NEC 4.3" LCD( resolution 480x272 ) zImage_a70 - For Innolux 7" LCD( resolution 800x480 ) zImage_VGA1024x768 - Resolution of the output for 1024x768 VGA module adapter "k" 명령어로 알맞은 커널 파일을 선택한 다음 다운로드 합니다. "USB Port -> Transmit/Restore" 메뉴에서 올바른 zImage 를 선택합니다.(The file is located in CD-ROM/images/Linux Directory) 커널 다운로드가 완료되면 메인메뉴로 복귀 합니다. (5) 리눅스 파일시스템 download 리눅스 파일 시스템에는 Qtopia-2.2.0,Qtopia4AndQtE-4.7.0, SMPlayer GUI 등과 수많은 예제 프로그램들이 포함되어 있습니다. 또한 Superboot는 리눅스 파일 시스템으로 yaffs2, ubifs 2가지 파일 시스템 다운로드를 모두 지원 합니다. rootfs_qtopia_qt4.img : [Y] 명령어를 이용해서 yaffs2 파일 시스템을 Nand Flash에 다운로드 할 수 있습니다. rootfs_qtopia_qt4.ubi : [U] 명령어를 이용해서 ubifs 파일 시스템을 Nand Flash에 다운로드 할 수 있습니다. rootfs_qtopia_qt4.ext3: EXT3 파일 시스템 포맷을 이용해서 SD메모리 카드에서 리눅스 시스템을 실행 할 수 있습니다. 아래 예제는 [U] 명령어를 이용해서 ubifs 파일 시스템을 Nand Flash에 다운로드 하는 예제 입니다. "USB Port -> Transmit/Restore" 메뉴에서 ubi 파일 시스템 이미지(rootfs_qtopia_qt4.ubi) 를 선택합니다.(The file is located in CD-ROM/images/Linux Directory) UBI 파일시스템 다운로드가 완료되면 자동으로 리눅스 startup parameter 도 같이 설정이 됩니다. 파일 시스템 다운로드가 완료되면 타겟의 [B] 명령어를 이용해서 시스템 부팅을 시작 합니다. 2.1.2 Install Windows CE system (1) images\FriendlyARM.ini 설정 파일이 SD 메모리에 있는지 확인 합니다. (2) FriendlyARM.ini 파일 CheckOneButton = Yes 내용을 설정 합니다. (3) USB를 통해서 OS 다운로드를 진행 하려면 하이퍼터미널이 아니라 dnw.exe 를 통해서 명령들을 실행 해야 합니다. Description: Instal WinCE6 binary file is located in CD-ROM "\Images\WindowsCE6" directory. WinCE6 설치 과정은 아래와 같습니다. (1) Format Nand Flash, Corresponding to the command[F] (2) Installation Bootloader , Corresponding to the command[N] (3) Installation BootLogo (bmpFormat), Corresponding to the command[L] (4) Installation WindowsCE Kernel image, the corresponding command[W] 리눅스 시스템 설치 과정과 마찬가지로 WinCE6설치 과정도 4.3 LCD 타켓을 기준으로 설명 합니다. Step1: Format Nand Flash Nand 플래시를 포맷하는 동안 약간의 bad block이 발생 할 수 있습니다. 이것은 큰 문제점이 아니며 Windows CE시스템을 설치하는 것에는 영향을 미치지 않습니다.
Step2 : Bootloader download 부트 로더는 타겟의 종류에 따라서 여러가지 버젼이 있습니다. 아래 파일중에서 자신의 타겟에 맞는 bootloader를 선택해서 설치 해야 합니다. 여기에서는 Nboot_n43-ram128.nb0 파일을 예제로 하도록 합니다. Windows CE시스템에서는 LCD의 Type을 자동식별이 되지 않아서 메모리별, LCD 종류별로 Bootloader(Nboot)를 선택해서 다운로드 해야합니다.
* 128M Memory size NBOOT_N43-RAM128.nb0: NEC 4.3" LCD NBOOT_A70-RAM128.nb0: 7" LCD NBOOT_VGA1024x768-RAM128.nb0: 1024x768 LCD2VGA Adapter * 256M Memory size NBOOT_N43-RAM256.nb0: NEC 4.3" LCD NBOOT_A70-RAM256.nb0: 7" LCD NBOOT_VGA1024x768-RAM256.nb0: 1024x768 LCD2VGA Adapter (1) 타겟과 PC에 UART와 USB를 연결 하고 시리얼 터미널을 확인 합니다. "N" 명령어를 이용해서 Noot를 다운로드 합니다. (2) "USB Port -> Transmit/Restore" 메뉴에서 "Nboot_n43-ram128.nb0" 을 선택합니다. (3) Download programming BootLogo "L" 명령어를 이용해서 부트로고를 다운로드 합니다. 24bit true color bmp file을 선택 합니다. Nboot와 Boot로고 다운로드가 완료되고 메인메뉴로 복귀 합니다. (4) Windows CE kernel download 타겟의 LCD종류에 따라서 다른 WinCE 커널 파일을 다운로드 해야 합니다. NK_n43.bin - Support own touch-screen controller, suitable for NEC4.3" LCD, resolution of 480x272 NK_a70.bin -Support own touch-screen controller, suitable for 7" LCD, resolution of 800x480 NK_VGA1024x768.bin - Support own touch-screen controller, suitable for resolution of the output 1024x768 VGA Module Adapter NK_n43-i.bin - Support precise touch line for NEC4.3" LCD resolution of 480x272 NK_a70-i.bin -Support precise touch line for 7" LCD resolution of 800x480 "w" 명령어로 알맞은 커널 파일을 선택한 다음 다운로드 합니다. "USB Port -> Transmit/Restore" 메뉴에서 올바른 NK.bin 파일을 선택합니다.(The file is located in CD-ROM/Images/WindowsCE6 Directory) NK.bin 파일 다운로드가 완료되면 자동으로 Windows CE 시스템이 부팅을 시작 합니다. 2.1.3 Install Android system (Yaffs2 or UBIFS format) 안드로이드 시스템 다운로드 과정은 리눅스 다운로드 과정와 거의 동일 합니다. (1) images\FriendlyARM.ini 설정 파일이 SD 메모리에 있는지 확인 합니다. (2) FriendlyARM.ini 파일 CheckOneButton = Yes 내용을 설정 합니다. (3) USB를 통해서 OS 다운로드를 진행 하려면 하이퍼터미널이 아니라 dnw.exe 를 통해서 명령들을 실행 해야 합니다.
Linux 시스템 관련 이미지 파일들은 "CD-ROM\images\Android" 에 있습니다. 그리고 Linux system 설치 과정은 아래와 같습니다.
(1) Nand Flash format, command[F] (2) Installation bootloader, command[V] (3) Installation kernel file, command[K] (4) Target file system installation(Yaffs2 or ubifs format), command[Y]Or[U] 아래의 Android 시스템 설치 과정은 4.3인치 LCD 타멧에 UBIFS format Android system 을 설치하는 예제 입니다. Step1: Format Nand Flash Nand 플래시를 포맷하는 동안 약간의 bad block이 발생 할 수 있습니다. 이것은 큰 문제점이 아니며 Linux 시스템을 설치하는 것에는 영향을 미치지 않습니다. Step2 : Bootloader download 부트 로더는 타겟의 종류에 따라서 여러가지 버젼이 있습니다. 아래 파일중에서 자신의 타겟에 맞는 bootloader를 선택해서 설치 해야 합니다. 여기에서는 U-boot_nand-ram128.bin 파일을 예제로 하도록 합니다. u-boot_sd-ram128.bin: Support SD start, for the memory 128M(DDR2)
u-boot_sd-ram256.bin: Support SD start, for the memory 256M(DDR2) u-boot_nand-ram128.bin: Support NAND start, for the memory 128M(DDR2) u-boot_nand-ram256.bin: Support NAND start, for the memory 256M(DDR2) (1) 타겟과 PC에 UART와 USB를 연결 하고 시리얼 터미널을 확인 합니다. [V]를 눌러서 U-boot.bin 을 다운로드 합니다. (2) "USB Port -> Transmit/Restore" 메뉴에서 "u-boot.bin" 을 선택합니다.(The file is located in CD-ROM/images/Android Directory) (3) U-boot.bin 다운로드가 완료되고 메인메뉴로 복귀 합니다.
(4) Android kernel download 타겟의 LCD종류에 따라서 다른 리눅스 커널 파일을 다운로드 해야 합니다. azImage_n43 - For NEC 4.3" LCD( resolution 480x272 )
azImage_a70 - For Innolux 7" LCD( resolution 800x480 ) "k" 명령어로 알맞은 커널 파일을 선택한 다음 다운로드 합니다. "USB Port -> Transmit/Restore" 메뉴에서 올바른 zImage 를 선택합니다.(The file is located in CD-ROM/images/Android Directory) 커널 다운로드가 완료되면 메인메뉴로 복귀 합니다. (5) 안드로이드 파일시스템 download 안드로이드 파일 시스템으로 yaffs2, ubifs 2가지 파일 시스템 다운로드를 모두 지원 합니다. rootfs_android.img : [Y] 명령어를 이용해서 yaffs2 파일 시스템을 Nand Flash에 다운로드 할 수 있습니다.
rootfs_android.ubi : [U] 명령어를 이용해서 ubifs 파일 시스템을 Nand Flash에 다운로드 할 수 있습니다. rootfs_android.ext3: EXT3 파일 시스템 포맷을 이용해서 SD메모리 카드에서 안드로이드 시스템을 실행 할 수 있습니다. 아래 예제는 [U] 명령어를 이용해서 ubifs 파일 시스템을 Nand Flash에 다운로드 하는 예제 입니다. "USB Port -> Transmit/Restore" 메뉴에서 ubi 파일 시스템 이미지(rootfs_android.ubi) 를 선택합니다.(The file is located in CD-ROM/images/Android Directory) UBI 파일시스템 다운로드가 완료되면 자동으로 안드로이드 startup parameter 도 같이 설정이 됩니다. 파일 시스템 다운로드가 완료되면 타겟의 [B] 명령어를 이용해서 시스템 부팅을 시작 합니다. 2.2 Download operating system via SD Memory 위에서 설명한 USB를 이용한 다운로드 방법은 시간도 오래 걸리고 비 효율적인 방법으로 추천하지 않는 방법 입니다. 아래 에서부터 설명하는 SD 메모리를 이용해서 다운로드 하는 방법을 추천 합니다. SD메모리를 이용해서 다운로드 할 경우에는 SD메모리 카드에 부트로더, 커널, 파일시스템 등을 모두 복사해서 SD메모리에 넣어 두어야 합니다.2.2.1 Install Linux system (Yaffs2 format)Step1 : images\FriendlyARM.ini 설정 파일을 아래와 같이 수정 합니다. Item(Case insensitive) | Description | Action | Install | OS | Linux | Linux-BootLoader | Linux/u-boot_nand-ram128.bin | Linux-Kernel | Linux/zImage_n43(Or to compile a kernel image) | Linux-CommandLine | root=/dev/mtdblock2 rootfstype = yaffs2 init=/linuxrc console=ttySAC0,115200 | Linux-RootFs-InstallImage | linux/rootfs_qtopia_qt4.img | zImage 파일의 타겟 보드의 사양에 따라서 아래 파일 이름들로 교체해 주어야 합니다. zImage_x35 - Sony 3.5" LCD, resolution of 240x320 zImage_n43 - NEC 4.3" LCD resolution of 480x272 zImage_a70 - 7" LCD resolution of 800x480 zImage_L80 - Sharp 8" LCD LCD resolution of 640x480 zImage_VGA1024x768 - Resolution of the output for 1024x768 VGA Module Adapter zImage_VGA800x600 - Resolution of the output for 800x600 VGA Module Adapter zImage_VGA640x480 - Resolution of the output for 640x480 VGA Module Adapter zImage_EZVGA800x600 - For simple VGA Adapter plate, output resolution 800x600 | Step2 : 개발 보드의 S2 스위치를 "SDBOOT" 모드로 설정하고 개발보드에 SD 메모리 카드를 삽입 합니다.
Step3 : 개발 보드의 전원을 인가하면 부저 소리와 함께 LED4이 점멸이 시작 됩니다. Step4 : 다운로드가 진행되는 동안 LED1 ~ LED3가 번갈아 가면서 점멸이 되고 다운로드가 완료됩니다. 2.2.2 Install Linux system (UBIFS format)Step1 : images\FriendlyARM.ini 설정 파일을 아래와 같이 수정 합니다. Item(Case insensitive) | Description | Action | Install | OS | Linux | Linux-BootLoader | Linux/u-boot_nand-ram128.bin | Linux-Kernel | Linux/zImage_n43(Or to compile a kernel image) | Linux-CommandLine | root=ubi0:FriendlyARM-root ubi.mtd=2 rootfstype=ubifs init=/linuxrc console=ttySAC0,115200 | Linux-RootFs-InstallImage | linux/rootfs_qtopia_qt4-i.ubi | zImage 파일의 타겟 보드의 사양에 따라서 아래 파일 이름들로 교체해 주어야 합니다. zImage_x35 - Sony 3.5" LCD, resolution of 240x320 zImage_n43 - NEC 4.3" LCD resolution of 480x272 zImage_a70 - 7" LCD resolution of 800x480 zImage_L80 - Sharp 8" LCD LCD resolution of 640x480 zImage_VGA1024x768 - Resolution of the output for 1024x768 VGA Module Adapter zImage_VGA800x600 - Resolution of the output for 800x600 VGA Module Adapter zImage_VGA640x480 - Resolution of the output for 640x480 VGA Module Adapter zImage_EZVGA800x600 - For simple VGA Adapter plate, output resolution 800x600 | 2.2.3 Install Windows CE systemStep1 : images\FriendlyARM.ini 설정 파일을 아래와 같이 수정 합니다. Item(Case insensitive) | Description | Action | Install | OS | WindowsCE6 (Can also "CE6" or "Wince6") | WindowsCE6-Bootloader | WindowsCE6\nboot_n43-ram128.nb0 | WindowsCE6-BootLogo | WindowsCE6\bootlogo.bmp(Or custom bmp file) | WindowsCE6-InstallImage | WindowsCE6\NK_N43-i.bin (Or compiled a kernel image) | NK.bin 파일은 타겟 보드의 사양(LCD종류, 메모리 사이즈)에 따라서 아래 파일 이름들로 교체해 주어야 합니다. | 2.2.4 Install Android system (Yaffs2 format)Step1 : images\FriendlyARM.ini 설정 파일을 아래와 같이 수정 합니다. Item(Case insensitive) | Description | Action | Install | OS | Android | Android-BootLoader | Android/u-boot_nand-ram128.bin | Android-Kernel | Android/azImage_n43(Or to compile a kernel image) | Android-CommandLine | root=/dev/mtdblock2 rootfstype=yaffs2 init=/linuxrc console=ttySAC0,115200 | Android-RootFs-InstallImage | Android/rootfs_android.img | azImage 파일은 타겟 보드의 사양(LCD종류, 메모리 사이즈)에 따라서 아래 파일 이름들로 교체해 주어야 합니다. | 2.2.5 Install Android system (UBIFS format)Step1 : images\FriendlyARM.ini 설정 파일을 아래와 같이 수정 합니다. Item(Case insensitive) | Description | Action | Install | OS | Android | Android-BootLoader | Android/u-boot_nand-ram128.bin | Android-Kernel | Android/azImage_n43(Or to compile a kernel image) | Android-CommandLine | root=ubi0:FriendlyARM-root ubi.mtd=2 rootfstype=ubifs init=/linuxrc console=ttySAC0,115200 androidboot.console=s3c2410_serial0 | Android-RootFs-InstallImage | Android/rootfs_android.ubi | azImage 파일은 타겟 보드의 사양(LCD종류, 메모리 사이즈)에 따라서 아래 파일 이름들로 교체해 주어야 합니다. | 2.2.6 Install Ubuntu system (UBIFS format)Ubuntu 파일 시스템 사이즈가 500MB가 넘기 때문에 타겟 보드의 Nand 플래시 용량이 1GB정도가 되어야 정상적으로 설치 할 수 있습니다. Step1 : images\FriendlyARM.ini 설정 파일을 아래와 같이 수정 합니다. Item(Case insensitive) | Description | Action | Install | OS | Ubuntu | Ubuntu-BootLoader | Ubuntu/u-boot_nand-ram128.bin | Ubuntu-Kernel | Ubuntu/uzImage_n43(Or to compile a kernel image) | Ubuntu-CommandLine | root=ubi0:FriendlyARM-root ubi.mtd=2 rootfstype=ubifs init=/linuxrc console=ttySAC0,115200 | Ubuntu-RootFs-InstallImage | Ubuntu/rootfs_ubuntu.ubi | uzImage 파일은 타겟 보드의 사양(LCD종류, 메모리 사이즈)에 따라서 아래 파일 이름들로 교체해 주어야 합니다. | 2.3 Run operating system from SD Memory Superboot는 다양한 운영체제를 SD메모리에서 바로 실행 시킬 수 있습니다. 또한 2GB이하의 일반 SD카드와 SDHC 메모리 카드도 지원 합니다.
2.3.1 Run Linux system from SD Memory Step1 : images\FriendlyARM.ini 설정 파일을 아래와 같이 수정 합니다. Item(Case insensitive) | Description | Action | Run | OS | Linux | Linux-Kernel | Linux/zImage_n43(Or to compile a kernel image) | Linux-RootFs-InstallImage | Linux/rootfs_qtopia.ext3 | zImage 파일은 타겟 보드의 사양(LCD종류, 메모리 사이즈)에 따라서 아래 파일 이름들로 교체해 주어야 합니다. | Step2: 개발 보드의 S2 스위치를 "SDBOOT" 모드로 설정하고 SD Card 를 삽입 한다음 전원을 인가하면 SD메모리에서 부팅이 됩니다. 2.3.2 Run Windows CE system from SD Memory Step1 : images\FriendlyARM.ini 설정 파일을 아래와 같이 수정 합니다. Item(Case insensitive) | Description | Action | Run | OS | WindowsCE6(Can also "CE6" or "WinCE6") | WindowsCE6-InstallImage | WindowsCE6\NK_n43-i.bin (Or to compile a kernel image) | NK.bin 파일은 타겟 보드의 사양(LCD종류, 메모리 사이즈)에 따라서 아래 파일 이름들로 교체해 주어야 합니다. 그리고 아직은 SD메모리에서 부팅 할 경우에 부트 스크린은 지원하지 않고 있습니다. | 2.3.3 Run Android system from SD Memory 안드로이드 시스템을 SD메모리 에서 바로 시작 하기위해서는 256MB 정도의 DDR RAM이 필요 합니다. 256MB이하의 개발보드에서는 NAND 플래시에서 시작 하도록 합니다. Step1 : images\FriendlyARM.ini 설정 파일을 아래와 같이 수정 합니다. Item(Case insensitive) | Description | Action | Run | OS | Android | Android-Kernel | Android/azImage_n43(Or to compile a kernel image) | Android-RootFs-InstallImage | Android/rootfs_android.ext3 | azImage 파일은 타겟 보드의 사양(LCD종류, 메모리 사이즈)에 따라서 아래 파일 이름들로 교체해 주어야 합니다. | 2.3.4 Run Ubuntu system from SD Memory 우분투 시스템을 SD메모리 에서 바로 시작 하기위해서는 256MB 정도의 DDR RAM이 필요 합니다. 256MB이하의 개발보드에서는 NAND 플래시에서 시작 하도록 합니다.
Step1 : images\FriendlyARM.ini 설정 파일을 아래와 같이 수정 합니다. Item(Case insensitive) | Description | Action | Run | OS | Ubuntu | Ubuntu-Kernel | Ubuntu/uzImage_n43(Or to compile a kernel image) | Ubuntu-RootFs-InstallImage | Ubuntu/rootfs_ubuntu.ext3 | azImage 파일은 타겟 보드의 사양(LCD종류, 메모리 사이즈)에 따라서 아래 파일 이름들로 교체해 주어야 합니다. | 2.4 USB download and run firmware program 우리는 CD-ROM/Firmware 디렉토리에 개발보드 테스트용 펌웨어 프로그램을 제공 합니다. 아직 여러 가지 기능은 제공하지 않고 단순희 UART통신을 통해서 "Hello, Mini6410" 을 출력하고 기본적인 LED를 On/Off 하는 예제 입니다. 이 예제를 실행하기 위해서는 개발보드와 PC를 USB 케이블과 UART케이블을 연결 합니다. 그리고 Superboot 메뉴에서 "[D] Start Download & Run" 명령을 실행 합니다. 자세한 사항은 아래 그림과 같은 절차를 따릅니다. DNW.exe 메뉴에서 "Transmit/Restore" 기능을 이용해서 demo.bin 파일을 DDR RAM 영역( 0x50000000 )에 다운로드 하고 실행 합니다.
|