2011년 6월 7일 화요일

S3C6410 Start Kit OS Porting guide

       
 
이 매뉴얼은 JK전자(JK Electronics) 에 의해서 번역, 수정, 작성 되었고 소유권 또한
JK전자(JK Electronics)
의 것입니다. 소유권자의 허가를 받지 않고 무단으로 수정, 삭제하거나 배포 할 수 없습니다.


제품 구매 : http://www.toolparts.co.kr

 

S3C6410 Start Kit OS Porting guide

 

* Update history

- 2011.1.13 : 초기 Release


 

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 실행

s3c6410

Step2: Locations button s3c6410 to find the programming of the superboot, as shown in Figure

s3c6410

Step3. FAT32으로 포맷된 SD메모리를 USB 메모리 리더기를 통해서 PC연결 한 후 "Scan" 버튼을 누르면 자동으로 SD 메모리 드리이브를 찾아서 보여 줍니다.

s3c6410

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 메모리 카드의 영역을 분할 합니다.

s3c6410

Step2: Locations button s3c6410 to find the programming of the superboot, as shown in Figure

s3c6410

Step3. FAT32으로 포맷된 SD메모리를 USB 메모리 리더기를 통해서 PC연결 한 후 "Scan" 버튼을 누르면 자동으로 SD 메모리 드리이브를 찾아서 보여 줍니다. 그리고 아래와 같이 "Available" 이 "No"로 된 SD메모리 카드는 사용 하실 수 없습니다.

s3c6410

Step4. "Available" 이 "No"로 될 경우에는 "ReLayout"을 다시 한번 합니다.

s3c6410

SD메모리의 파티션 분할이 완료가 되면 다시 한번 "Scan" 을해서 사용가능한 SD 메모리 카드를 검색 합니다.

Step5. "Fuse" 버튼을 눌러서 Superboot를 Write 합니다.

Superboot가 SD메모리에 잘 Write 되었는지 확인하는 방법은 "1.1.1 Bootloader programming based on WindowsXP" 의 경우와 동일 합니다.

1.2 OS Install

1.2.1 Quick install Windows CE system to NAND flash

개발보드는 공잘 출하시 Linux운영체제가 포팅 되어 있습니다. Windows CE운영체제로 OS를 업데이트 하기 위해서는 다음 절차에 따라서 진행 하면 됩니다.

Step1. 제공 CD의 Image 폴더안의 FriendlyARM.ini 파일의 "OS= CE6" 부분을 수정하고 나서 모든 파일들을 SD메모리 카드의 루트에 복사 합니다.

s3c6410

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 를 입력 합니다.

s3c6410

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]" 로 변경 됩니다.
s3c6410

아래 그림은 PC의 장치관리자에 USB다운로드 드라이버가 정상적으로 설치 되었을 때이 장치관리자 상태 입니다.

s3c6410

1.3.2 Functional description of Superboot

s3c6410

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 설치 과정은 아래와 같습니다.

s3c6410

개발보드와 PC의 USB연결이 완료되면 아래와 같이 dnw 타이틀바의 USB 설정이 "[USB:X]" 에서 "[USB:OK]" 로 바뀝니다.

s3c6410

(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 시스템을 설치하는 것에는 영향을 미치지 않습니다.

s3c6410

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)

s3c6410

(3) U-boot.bin 다운로드가 완료되고 메인메뉴로 복귀 합니다.

s3c6410

(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" 명령어로 알맞은 커널 파일을 선택한 다음 다운로드 합니다.

s3c6410

"USB Port -> Transmit/Restore" 메뉴에서 올바른 zImage 를 선택합니다.(The file is located in CD-ROM/images/Linux Directory)

s3c6410

커널 다운로드가 완료되면 메인메뉴로 복귀 합니다.

s3c6410

(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에 다운로드 하는 예제 입니다.

s3c6410

"USB Port -> Transmit/Restore" 메뉴에서 ubi 파일 시스템 이미지(rootfs_qtopia_qt4.ubi) 를 선택합니다.(The file is located in CD-ROM/images/Linux Directory)

s3c6410

UBI 파일시스템 다운로드가 완료되면 자동으로 리눅스 startup parameter 도 같이 설정이 됩니다.

s3c6410

파일 시스템 다운로드가 완료되면 타겟의 [B] 명령어를 이용해서 시스템 부팅을 시작 합니다.

2.1.2 Install Windows CE system

(1) images\FriendlyARM.ini 설정 파일이 SD 메모리에 있는지 확인 합니다.
(2) FriendlyARM.ini 파일 CheckOneButton = Yes 내용을 설정 합니다.
(3) USB를 통해서 OS 다운로드를 진행 하려면 하이퍼터미널이 아니라 dnw.exe 를 통해서 명령들을 실행 해야 합니다.


s3c6410

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시스템을 설치하는 것에는 영향을 미치지 않습니다.

s3c6410

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를 다운로드 합니다.

s3c6410

(2) "USB Port -> Transmit/Restore" 메뉴에서 "Nboot_n43-ram128.nb0" 을 선택합니다.

s3c6410

(3) Download programming BootLogo

"L" 명령어를 이용해서 부트로고를 다운로드 합니다. 24bit true color bmp file을 선택 합니다.

s3c6410

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)

s3c6410

NK.bin 파일 다운로드가 완료되면 자동으로 Windows CE 시스템이 부팅을 시작 합니다.

s3c6410

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 시스템을 설치하는 것에는 영향을 미치지 않습니다.

s3c6410

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)

s3c6410

(3) U-boot.bin 다운로드가 완료되고 메인메뉴로 복귀 합니다.

s3c6410

(4) Android kernel download
타겟의 LCD종류에 따라서 다른 리눅스 커널 파일을 다운로드 해야 합니다.

azImage_n43 - For NEC 4.3" LCD( resolution 480x272 )

azImage_a70 - For Innolux 7" LCD( resolution 800x480 )


"k" 명령어로 알맞은 커널 파일을 선택한 다음 다운로드 합니다.

s3c6410

"USB Port -> Transmit/Restore" 메뉴에서 올바른 zImage 를 선택합니다.(The file is located in CD-ROM/images/Android Directory)

s3c6410

커널 다운로드가 완료되면 메인메뉴로 복귀 합니다.

s3c6410

(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에 다운로드 하는 예제 입니다.

s3c6410


"USB Port -> Transmit/Restore" 메뉴에서 ubi 파일 시스템 이미지(rootfs_android.ubi) 를 선택합니다.(The file is located in CD-ROM/images/Android Directory)

s3c6410

UBI 파일시스템 다운로드가 완료되면 자동으로 안드로이드 startup parameter 도 같이 설정이 됩니다.

s3c6410

파일 시스템 다운로드가 완료되면 타겟의 [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 system

Step1 : 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" 명령을 실행 합니다. 자세한 사항은 아래 그림과 같은 절차를 따릅니다.

s3c6410

s3c6410

DNW.exe 메뉴에서 "Transmit/Restore" 기능을 이용해서 demo.bin 파일을 DDR RAM 영역( 0x50000000 )에 다운로드 하고 실행 합니다.

s3c6410










 



       
       

댓글 없음:

댓글 쓰기