'[D-03] uC/OS-II' 카테고리의 다른 글
[uC/OS-II] uC/OS-II and ARM Cortex-M3 Processors (0) | 2010.01.28 |
---|---|
Flow-chart를 통해 분석한 µC/OS-II (0) | 2009.12.04 |
RTOS, ARM Architecture 개인 사이트 (0) | 2009.11.25 |
[uC/OS-II] uC/OS-II and ARM Cortex-M3 Processors (0) | 2010.01.28 |
---|---|
Flow-chart를 통해 분석한 µC/OS-II (0) | 2009.12.04 |
RTOS, ARM Architecture 개인 사이트 (0) | 2009.11.25 |
Basic Graphics Programming With The Xlib Library (0) | 2009.11.26 |
---|---|
X 윈도우 프로그래밍 기초과정 (0) | 2009.11.26 |
주번호, 부번호, 디바이스 타입 (0) | 2009.11.17 |
새로운 디바이스 드라이버를 구현할 때 필요한 작업단계 (0) | 2009.11.17 |
새로운 디바이스를 리눅스에 추가하는 과정 (0) | 2009.11.17 |
주번호(Major Number)
디바이스 파일
커널 내부의 함수를 호출할 수 있는 정보만을 제공하는 파일
디바이스 드라이버 타입 정보(문자형/블록형)
주번호(Major Number)
부번호(Minor Number)
디바이스 드라이버 타입 정보와 주번호는 디바이스 드라이버가 등록된 함수를 호출하는 정보로 사용
제어하려는 디바이스를 구분하기 위한 디바이스 ID
부번호(Minor Number)
커널에 포함된 각 디바이스 드라이버에 의해 용도 결정
디바이스 드라이버가 다루는 실제 디바이스의 구분
용도에 따른 디바이스의 구분
블록 디바이스의 파티션 구분
일반적으로 같은 종류의 디바이스가 여럿 있을 때 그 중 하나를 선택하기 위해 사용
include/linux/kdev_t.h” 파일에 선언
#define MINORBITS 20
#define MAJOR(dev) ((unsigned int) ((dev) >> MINORBITS))
#define MINOR(dev) ((unsigned int) ((dev) & MMINORBIT))
#define MKDEV(ma,mi) (((ma) << MINORBITS) | (mi))
X 윈도우 프로그래밍 기초과정 (0) | 2009.11.26 |
---|---|
The Network File System (0) | 2009.11.18 |
새로운 디바이스 드라이버를 구현할 때 필요한 작업단계 (0) | 2009.11.17 |
새로운 디바이스를 리눅스에 추가하는 과정 (0) | 2009.11.17 |
등록된 major number의 확인 (0) | 2009.11.17 |
The Network File System (0) | 2009.11.18 |
---|---|
주번호, 부번호, 디바이스 타입 (0) | 2009.11.17 |
새로운 디바이스를 리눅스에 추가하는 과정 (0) | 2009.11.17 |
등록된 major number의 확인 (0) | 2009.11.17 |
GNU Make (0) | 2009.11.17 |
주번호, 부번호, 디바이스 타입 (0) | 2009.11.17 |
---|---|
새로운 디바이스 드라이버를 구현할 때 필요한 작업단계 (0) | 2009.11.17 |
등록된 major number의 확인 (0) | 2009.11.17 |
GNU Make (0) | 2009.11.17 |
커널 컴파일 (0) | 2009.11.17 |
새로운 디바이스 드라이버를 구현할 때 필요한 작업단계 (0) | 2009.11.17 |
---|---|
새로운 디바이스를 리눅스에 추가하는 과정 (0) | 2009.11.17 |
GNU Make (0) | 2009.11.17 |
커널 컴파일 (0) | 2009.11.17 |
The Linux Documentation Project (0) | 2009.11.17 |
make
Version 3.77.새로운 디바이스를 리눅스에 추가하는 과정 (0) | 2009.11.17 |
---|---|
등록된 major number의 확인 (0) | 2009.11.17 |
커널 컴파일 (0) | 2009.11.17 |
The Linux Documentation Project (0) | 2009.11.17 |
[.bashrc] path설정, allias 설정 (0) | 2009.11.17 |
등록된 major number의 확인 (0) | 2009.11.17 |
---|---|
GNU Make (0) | 2009.11.17 |
The Linux Documentation Project (0) | 2009.11.17 |
[.bashrc] path설정, allias 설정 (0) | 2009.11.17 |
[.vimrc] Vim / Gvim 설정 (0) | 2009.11.17 |
GNU Make (0) | 2009.11.17 |
---|---|
커널 컴파일 (0) | 2009.11.17 |
[.bashrc] path설정, allias 설정 (0) | 2009.11.17 |
[.vimrc] Vim / Gvim 설정 (0) | 2009.11.17 |
리눅스 커널 모듈 프로그래밍 안내서 (0) | 2009.11.17 |
Windows에서 명령창에서 명령어를 입력하면
입력된 명령어들이 command.com에 의해서 해석되면서 실행된다.
마찬가지로 Linux에서도 shell이 이러한 역할을 한다.
shell은 OS에서 대화형 user interface를 제공한다.
따라서, shell을 '명령어 해석기'라고도 부른다.
OS에서 가장 핵심이 되는 부분을 kernel이라고 하는데,
shell은 kernel을 감사고 있으며, 응용 프로그램과 kernel 사이에서
사용자 인터페이스를 제공하는 중간 역할을 수행한다.
shell의 종류는 한 가지가 아니며
다양한 대학과 연구소에서 여러 가지 종류의 shell이 개발되었다.
대표적으로 알려져 있는 6가지 shell은 다음과 같다.
1. Bourne Shell
2. C Shell
3. Korn Shell
4. BASH(GNU Bourne-Again Shell)
5. TC Shell
6. Z Shell
이중에서 우리가 살펴볼 것은 BASH이다.
일반 유저 아이디로는 /sbin 디렉토리가 path에 설정되어 있지 않기 때문에
ifconfig와 같은 명령어를 실행할 수 없다.
물론 ifconfig를 실행할 때마다 /sbin/ifconfig라는 식으로 해줘도 되지만
불편하기 때문에 ifconfig가 위치하고 있는 /sbin을 path에 설정해 보도록 하자.
BASH에서 환경설정을 담당하는 파일은 .bashrc이다.
.bashrc를 수정하기 위해서
cd ~ 하여 홈 디렉토리로 이동한다.
.bashrc 파일을 수정해야 하지만
ls 하면 이러한 파일을 발견할 수 없다.
사실 .bashrc 라는 파일이 있지만 .으로 시작하는 파일들은
hidden 파일이기 때문에 단순히 ls하면 보이지가 않는다.
ls -al 하면 .bashrc 뿐만 아니라
다른 .로 시작하는 이름의 파일들이 나타나는 것을 알 수 있다.
cd ~ 하여 홈디렉토리로 이동한 다음
vi .bashrc 하여 내용을 수정하자.
/sbin을 다음과 같이 추가 시키자.
PATH=$PATH:/sbin
export PATH
수정된 내용을 바로 반영하기 위해서는 다음과 같이 하면 된다.
source .bashrc
커널 컴파일 (0) | 2009.11.17 |
---|---|
The Linux Documentation Project (0) | 2009.11.17 |
[.vimrc] Vim / Gvim 설정 (0) | 2009.11.17 |
리눅스 커널 모듈 프로그래밍 안내서 (0) | 2009.11.17 |
GNU Make 강좌 (0) | 2009.11.17 |
The Linux Documentation Project (0) | 2009.11.17 |
---|---|
[.bashrc] path설정, allias 설정 (0) | 2009.11.17 |
리눅스 커널 모듈 프로그래밍 안내서 (0) | 2009.11.17 |
GNU Make 강좌 (0) | 2009.11.17 |
TFTP 환경구축 (0) | 2009.11.13 |
[.bashrc] path설정, allias 설정 (0) | 2009.11.17 |
---|---|
[.vimrc] Vim / Gvim 설정 (0) | 2009.11.17 |
GNU Make 강좌 (0) | 2009.11.17 |
TFTP 환경구축 (0) | 2009.11.13 |
zcat 명령 (0) | 2009.11.12 |
[.vimrc] Vim / Gvim 설정 (0) | 2009.11.17 |
---|---|
리눅스 커널 모듈 프로그래밍 안내서 (0) | 2009.11.17 |
TFTP 환경구축 (0) | 2009.11.13 |
zcat 명령 (0) | 2009.11.12 |
patch 파일 만들기 (0) | 2009.11.12 |
Buildroot is a configurable Makefile which downloads, configures, and builds cross compilers, the kernel, busybox, and most of the other stuff needed for a simple, small complete linux distribution and root file system based on uClibc C library.
Buildroot는 configurable Makefile이다. 그것은 download, configure 그리고 cross compiler, kernel, busybox 그리고 간단하고 작은 linux 배포판과 uClibc C library 기반의 root file system을 위해 필요한 요소를 build 할 수 있게 한다.
It uses the Linux KConfig configuration system, allowing easy selection of root fs contents. The Makefile will include the ".config" file generated by KConfig, and the contents of this file will determine what should be built, and which version should be used.
그것은 Linux KConfig configuration system을 사용하며 쉽게 root fs내용을 선택을 할 수 있다. Makefile은 KConfig에 의해 발생되는 ".config" 파일을 포함할 것이다. 그리고 이 파일의 내용은 구축되어야 하는것과, 그 버전이 사용되야만 하는 것을 결정한다.
It is relatively easy to go from there to adding your own programs and such to it so your entire build process is automated.
자신의 program을 추가하고 전체 build process를 자동화하는 것은 상대적을 쉽다.
Home website : http://buildroot.uclibc.org/
Buildroot - Usage and documentation can help you better understand how buildroot works.
Buildroot - Usage and documentation은 buildroot 작업 방법을 쉽게 이해하게 도와준다.
Buildroot will NOT run on Cygwin. You need a proper Linux installation. If you have Windows, you should consider installing a Virtual Machine allowing you to run Linux on top of Windows. We tested buildroot on Fedora 9/10, Debian GNU/Linux 4.0r5.
Buildroot는 Cygwin에서 동작하지 않는다. 적당한 Linux installation이 필요하다. Windows를 사용한다면 Virtual Machine을 installing하는 것을 고려해봐야 한다. 우리는 Fedora 9/10, Debian GNU/Linux 4.0r5 에서 buildroot를 test했다.
Currently the Buildroot for AT91 can build
현재 AT91을 위한 buildroot는 다음을 build 할 수 있다.
It will take 3-4 hours to build the whole system on a P4-3.6 GHz.
P4-3.6 GHz에서 전체 system을 build하기 위해서는 3-4시간을 소요한다.
Related Links
BuildRoot hands on
FAQFor frequently asked question, please goto the BuildRoot FAQ page. | ||||||
Linux4SAM - OpenEmbedded / Angstrom (0) | 2009.11.16 |
---|---|
Linux4SAM - Linux Kernel (0) | 2009.11.16 |
Linux4SAM - U-Boot (0) | 2009.11.15 |
Linux4SAM - AT91Bootstrap (0) | 2009.11.15 |
Linux4SAM - Software Tools (0) | 2009.11.15 |
OpenEmbedded is a powerful building environment. Angstrom uses this environment to bring up a whole embedded Linux distribution. The support for our AT91 products has been added permitting to offer a root file system with a wide range of applications.
OpenEmbedded 는 powerful한 building environment이다. Angstrom은 전체 embedded Linux 배포판을 배포하기 위해 이 환경을 사용한다. 우리의 AT91 제품군을 위해 제공되는 것은 광범위한 application에 root file system을 제공하기 위해 허용되는 것을 추가하는 것이다.
Binary images for both graphical and non graphical uses are provided to allow a quick overview. Once you have a basic root file system up an running, the package system allow you to fit application set to your need through an application feed.
graphical하거나 non graphical uses를 위한 binary image 모두 다 quick overview가 제공된다. 기본적인 root file system을 running 할 때, package system은 application feed를 통해 fit application set to your need를 제공한다.
This page will guide you through the comprehensive OpenEmbedded & Angstrom documentation without duplicating information. All you will need to use and build such material is available in those project websites. The golden links are listed below.
이 페이지는 중복되는 정보없이 포괄적인 OpenEmbedded & Angstrom documentation를 통해 가이드의 역할을 한다. 그러한 자료들을 사용하고 build하기 위해 필요한 모든 것들은 이 project websites에서 사용할 수 있다. goledn link는 아래 정렬되어 있다.
Those websites will be referenced all along this page and are valuables resources for entering this environment.
이 웹사이트들은 이 페이지에 까라 모두 참조될 것이고 이 환경에 들어가기 위한 좋은 resource가 된다.
Get it |
Use it |
Build it |
Linux4SAM - BuildRoot (0) | 2009.11.16 |
---|---|
Linux4SAM - Linux Kernel (0) | 2009.11.16 |
Linux4SAM - U-Boot (0) | 2009.11.15 |
Linux4SAM - AT91Bootstrap (0) | 2009.11.15 |
Linux4SAM - Software Tools (0) | 2009.11.15 |
Linux Kernel Archives is the primary site for the Linux kernel source. All Linux kernel versions, including latest snapshot or "release candidate" (-rc) can be easily found here.
Linux Kernel Archives는 Linux kernel source를 위한 primary site이다. 최신 snapshot 또는 "release candidate"(-rc)을 포함하는 모드 Linux kernel version은 여기서 쉽게 찾을 수 있다.
The ARM Linux Project lead by Russell King. Russell is in charge to ensure the ARM core support in the Kernel mainline and to integrate ARM based system on chip specific patch sets. Specific ARM Linux discussion groups, patches and information are also available.
The ARM Linux Project는 Russell King에 의해 지휘된다. Russell은 Kernel mainline에서 제공하는 ARM core를 보증하는 것과 chip에 특정화된 patch set에서 ARM based system을 통합하는 것을 담당한다.
You will find on ARM Linux website :
ARM Linux 웹사이트에서 아래 내용을 찾을 수 있다.
AT91 linux 2.6 patches maintained by Andrew Victor. Andrew is the official Linux kernel maintainer for AT91 machines. You can find patches against official Linux kernel releases and driver development status. All AT91 patches should be sent to Andrew except if it exists a specific development branch like SD/MMC, ALSA, netdev, etc...
AT91 linux 2.6 patches는 Andrew Victor에 의해 유지된다. Andrew는 AT91 machine을 위한 공식적인 Linux kernel maintainer이다. 공식적인 Linux kernel release와 driver development status에 대한 patch를 찾을 수 있다. 모든 AT91의 patch는 Andrew 에게 보내져야 한다.
The provided patches, on this wiki, are always against the official kernel release and Andrew's patches.
이 wiki에서 제공되는 patch는 공신적인 kernel release와 Andrew의 patch에 대한 것이다.
Pre-built images are delivered into uImage U-Boot format. To download them on AT91 boards, see the section How to load Linux kernel with U-Boot in the U-Boot page.
Pre-built image는 uImgae U-Boot format으로 인도된다. AT91 보드에 download하기 위해 U-Boot page에서 How to load Linux kernel with U-Boot section을 보아라.
The experimental AT91 patch set is built and contributed by people from the AT91 Linux community. These patches are against Andrew Victor patches. They contain unpublished or not yet included piece of code or driver.
실험적인 AT91 patch set은 AT91 Linux community로부터 사람들에 의해 built 되고 기부되었다. 이 patch들은 Andrew Victor patches에 대한 것이다. 그것들은 공개되지 않았거나 아직 code나 driver의 included 되지 않은 것을 포함한다.
Source : check the summary table below (last column).
BuildAT91 Linux kernel sources summary table
From left to right, each patch applies on top of the previous source tree. We also advice you to use the powerful ketchup tool. You can thus easily get a Linux Kernel without having to consume bandwidth each time you update it. Get and patch the Linux kernelTo get an experimental Linux4SAM kernel up and running on an AT91 product, you have to go through the following steps: 1. identify on which linux kernel revision the experimental patches will apply wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.xx.tar.bz2 tar xvjf linux-2.6.xx.tar.bz2 cd linux-2.6.xx 3. download the AT91 Maintainer's patch and apply it
3. AT91 Maintainer의 path를 다운로드 하고 그것을 적용한다. wget http://maxim.org.za/AT91RM9200/2.6/2.6.xx-at91.patch.gz zcat 2.6.xx-at91.patch.gz | patch -p1 4. take the experimental patchset and apply it on top of the AT91 one 4. 실험용 patch를 얻고 AT91 제품의 상단에 그것을 적용한다.
You will now have an updated copy of the experimental Linux4SAM kernel.
Configure and Build the Linux kernelNow you have to configure the Linux kernel according to your hardware. First identify your kernel revision, your board and then, download the corresponding configuration file. Default configuration files are provided here. wget http://www.at91.com/linux4sam/pub/Linux4SAM/LinuxKernel/at91sam926yek_defconfig cd linux-2.6.xx cp at91sam926yek_defconfig .config make ARCH=arm oldconfig At this step, you can modify default configuration make ARCH=arm menuconfig And build the Linux kernel image make ARCH=arm CROSS_COMPILE=<path_to_cross-compiler/cross-compiler-prefix->
Notes 1: at91_mci enhancement with those upstream patches : 2: For AT91SAM9XE chips, there is an additional tiny patch that locates TX Ethernet buffers in internal SRAM : adapt_macb_sam9xe.diff
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Linux4SAM - BuildRoot (0) | 2009.11.16 |
---|---|
Linux4SAM - OpenEmbedded / Angstrom (0) | 2009.11.16 |
Linux4SAM - U-Boot (0) | 2009.11.15 |
Linux4SAM - AT91Bootstrap (0) | 2009.11.15 |
Linux4SAM - Software Tools (0) | 2009.11.15 |
Das U-Boot - the Universal Boot Loader wiki website is the main entry point for this bootloader / debugging tool available on several processors. It is of course available for AT91 ARM processors.
Das U-Boot - the Universal Boot Loader wiki website는 여러 processors에서 사용할 수 있는 bootloader/debugging tool을 위한 main entry point이다. AT91 ARM processor에서도 사용 가능하다.
U-boot documentation is very rich ; in addition to the official u-boot website, several others are dealing with u-boot getting started or configuration. An article from http://www.linuxdevices.com also gives a good introduction to u-boot. Note however that a detailed documentation is simply available in the source code package as the README file. Thematic documentation is also available in the doc/
directory.
U-boot은 매우 풍부한 문서를 제공하며, 게다가 공식 u-boot website, 여러개의 자료는 u-boot getting started 또는 confiuration과 관계를 가지고 있다.
http://www.linuxdevices.com 로부터의 기사에는 u-boot을 좋게 소개하고 있다. 그러나 세부적인 문서화는 README 파일에서 처럼 source code package에서 간단하게 사용할 수 있다. 주제화된 문서화 또한 doc/ directory에서 사용할 수 있다.
U-boot takes place in the Linux demo as a second stage bootloader. It is responsible of configuring main interfaces and launching a Linux system. Note however that it is possible to avoid this step and to directly boot Linux from AT91Bootstrap, in a production phase for instance.
U-boot은 Linux demo에서 second stage bootloader로 동작한다. 그것은 main interface의 configuring과 Linux system의 launching을 책임지고 있다. 그러나 이러한 과정을 거치지 않고 직접 AT91Bootstrap로부터 Linux를 boot할 수 있다.
The u-boot Application note & flash prog on http://www.atmel.com describes the use of u-boot with the AT91rm9200 chip. The using of u-boot with SAM9 products is a bit different as AT91Bootstrap and the SAM-BA ISP are introduced for these devices.
http://www.atmel.com의 u-boot Application note & flash prog 는 AT91rm9200 chip에서 u-boot의 사용방법에 대하여 설명하고 있다. SAM9 제품군에서 u-boot을 사용하는 것은 AT91Bootstrap에 약간의 차이가 있고 SAMBA ISP는 이러한 devices를 위해 소개 되었다.
A revision of u-boot for AT91 boards is built from the official u-boot website and a patch against this revision of u-boot.
This patch is regularly updated.
AT91 boards를 위한 u-boot의 revision은 공식적으로 u-boot website로부터 build 되었고 u-boot의 revision별로 patch도 build 되었다. 이 patch는 정기적으로 updated 되었다.
The u-boot environment is a little read/write persistent space that stores variables needed by the bootloader to configure itself properly and to adapt to its environment (network configuration, boot arguments, storage location, etc.). It is located in the same media that it has booted from. Check Boot capabilities matrix to know where the u-boot environment is located for the pre-built binary.
u-boot environment 은 조그마한 real/write 가능한 지속적인 공간이다. 이것은 그 자체를 알맞게 configure하고 그것의 환경(network configuration, boot arguments, storage location, etc.)에 적응하기 위해 bootloader에 의해 필요한 변수를 저장하는 공간이다. 그것은 booted되는 같은 media에 위치된다. pre-built binary를 위해 어디에 u-boot environment이 위치하는지 알기 위해 Boot capabilities matrix를 확인해라.
Board | Description | Binary |
---|---|---|
at91sam9260ek | u-boot binary with environment in Dataflash chip (SPI 0 CS 1) | u-boot-1.3.4-exp.3-at91sam9260ek-dataflash_cs1.bin |
at91sam9xeek | u-boot binary with environment in Dataflash chip (SPI 0 CS 1) | u-boot-1.3.4-exp.3-at91sam9xeek-dataflash_cs1.bin |
at91sam9261ek | u-boot binary with environment in Dataflash chip (SPI 0 CS 0) | u-boot-1.3.4-exp.3-at91sam9261ek-dataflash_cs0.bin |
at91sam9263ek | u-boot binary with environment in Dataflash card (SPI 0 CS 0) | u-boot-1.3.4-exp.3-at91sam9263ek-dataflash_cs0.bin |
at91sam9rlek | u-boot binary with environment in Dataflash card (SPI 0 CS 0) | u-boot-1.3.4-exp.3-at91sam9rlek-dataflash_cs0.bin |
at91sam9g20ek | u-boot binary with environment in Dataflash chip (SPI 0 CS 1) | u-boot-1.3.4-exp.3-at91sam9g20ek-dataflash_cs1.bin |
at91sam9g20ek_2mmc | u-boot binary with environment in Dataflash chip (SPI 0 CS 1) | u-boot-1.3.4-exp.3-at91sam9g20ek_2mmc-dataflash_cs1.bin |
at91sam9g10ek | u-boot binary with environment in Dataflash chip (SPI 0 CS 0) | u-boot-1.3.4-exp.3-at91sam9g10ek-dataflash_cs0.bin |
at91sam9g45ekes | u-boot binary with environment in Dataflash chip (SPI 0 CS 0) | u-boot-1.3.4-exp.3-at91sam9g45ekes-dataflash_cs0.bin |
Board | Description | Binary |
---|---|---|
at91sam9260ek | u-boot binary with environment in NandFlash | u-boot-1.3.4-exp.3-at91sam9260ek-nandflash.bin |
at91sam9xeek | u-boot binary with environment in NandFlash | u-boot-1.3.4-exp.3-at91sam9xeek-nandflash.bin |
at91sam9261ek | u-boot binary with environment in NandFlash | u-boot-1.3.4-exp.3-at91sam9261ek-nandflash.bin |
at91sam9263ek | u-boot binary with environment in NandFlash | u-boot-1.3.4-exp.3-at91sam9263ek-nandflash.bin |
at91sam9rlek | u-boot binary with environment in NandFlash | u-boot-1.3.4-exp.3-at91sam9rlek-nandflash.bin |
at91sam9g20ek | u-boot binary with environment in NandFlash | u-boot-1.3.4-exp.3-at91sam9g20ek-nandflash.bin |
at91sam9g20ek_2mmc | u-boot binary with environment in NandFlash | u-boot-1.3.4-exp.3-at91sam9g20ek_2mmc-nandflash.bin |
at91sam9g10ek | u-boot binary with environment in NandFlash | u-boot-1.3.4-exp.3-at91sam9g10ek-nandflash.bin |
at91sam9g45ekes | u-boot binary with environment in NandFlash | u-boot-1.3.4-exp.3-at91sam9g45ekes-nandflash.bin |
Old binaries | U-Boot directory in Linux4sam FTP |
---|
This section describes How to load u-boot into the boot media with SAM-BA.
이 section은 SAM-BA를 가지고 u-boot을 boot media에 load에 load하는 방법에 대하여 설명한다.
AT91SAM9260-EK | AT91SAM9261-EK | AT91SAM9263-EK (RevA) |
---|---|---|
|
|
|
AT91SAM9XE-EK | AT91SAM9RL-EK | AT91SAM9263-EK (RevB) |
|
|
|
AT91SAMG20-EK | AT91SAMG10-EK | AT91SAM9G45-EKES |
|
|
|
1. SAM-BA GUI interface에 알맞은 media tab(DataFlash, NandFlash, etc.) 을 선택한다.
2. Scripts rolling menu에서 Enable action 선택하여 media를 초기화하고 Execute를 누른다.
3. Send File Name Browse button을 누른다.
4. u-boot.bin binary 파일을 선택하고 Open을 누른다.
5. Address text field에서 media의 알맞은 address를 넣는다. GettingStarted#Linux4SAM_DataFlash_demo_Memory 과GettingStarted#Linux4SAM_NandFlash_demo_Memory 에서 각 product의 media map 을 찾을 수 있다.
6. Send File button 을 누른다.
7. AT91SAM9260-EK 또는 AT91SAM9XE-EK에서, booting media를 erased했다면, AT91Bootstrap으로 booting media를 대체해야만 한다.
8. SAM-BA를 close하고 USB 케이블을 제거한다.
Ok, now you must have a running u-boot flashed on your board. To check, you can have a look at the DBGU serial interface once you have reset the board.
보드에서 flashed 된 u-boot을 running해야 한다. 보드를 reset했을 때 DBGU serial interface통해 확인 할 수 있다.
Using a terminal software on your host system, you can connect to u-boot through the DBGU serial interface.
host system에서 terminal software를 사용함으로써, DBGU serial interface를 통해 u-boot가 연결할 수 있다.
Serial communication parameters 115200 8-N-1
:
Baud rate | 115200 |
Data | 8 bits |
Parity | None |
Stop | 1 bit |
Flow control | None |
setenv this command is used to set variables
setenv 이 명령은 variables을 설정할 때 사용된다.
saveenv this command saves variables previously set in the environment permanent storage space
saveenv 이 명령은 영속적인 저장공간의 환경에서 미리 설정한 variables를 저장한다.
printenv this command print the current variables
printenv 이 명령은 현재 variables을 print한다.
The help
command show a brief summary of the built-in commands of u-boot. Here is a selection of useful commands :
help 명령은 u-boot의 built-in command를 간략하게 보여준다. 사용할 명령을 선택한다.
U-Boot> help ? - alias for 'help' boot - boot default, i.e., run 'bootcmd' bootm - boot application image from memory cp - memory copy erase - erase FLASH memory flinfo - print FLASH memory information go - start application at address 'addr' help - print online help md - memory display mm - memory modify (auto-incrementing) nand - NAND sub-system printenv- print environment variables protect - enable or disable FLASH write protection run - run commands in an environment variable saveenv - save environment variables to persistent storage setenv - set environment variables tftpboot- boot image via network using TFTP protocol version - print monitor version U-Boot>
Refer to the u-boot manual page for u-boot command line interface.
u-boot command line interface를 위해 u-boot manual page를 참조한다.
You can create script or complex variables, which prevents you to type commands. Here is a summary of several variables built to make a network loading of linux easier :
type commands를 방지하는 script나 복잡한 variables를 생성할 수 있다. 아래에 더 쉽게 linux를 network loading하게 built하는 여러 variable에 대해 간략하게 설명하고 있다.
setenv boot_addr 0x21400000 setenv linux 'tftp $(boot_addr) linux-2.6.x.img' setenv ramdisk_addr 0x21100000 setenv ramdisk 'tftp $(ramdisk_addr) sam9-ramdisk.gz' setenv go 'run linux; run ramdisk; bootm $(boot_addr)' saveenv
The setenv linux 'tftp $(boot_addr) linux-2.6.x.img'
line is equivalent of typing tftp 0x21400000 linux-2.6.x.img
but combined with others and stored in flash, it allows you to save time, and automate. For executing a Linux kernel bootup, using this snippet, simply type run go
setenv linux 'tftp $(boot_addr) linux-2.6.x.img' line은 tftp 0x21400000 linux-2.6.x.img로 치는 것과 동일하나 다른것과 결합하고 flash에 저장되며 time을 save하고 자동으로 작업을 수행한다. Linux kernel bootup을 실행하기 위해 간단하게 run go라고 치면 된다.
bootcmd when set, this variable content is executed automatically after the boot delay. It enables the u-boot autoboot mode
bootcmd set하면, 이 variable의 내용은 boot delay 후에 자동으로 실행된다. u-boot autoboot mode를 enable한다.
bootargs this variable it used as an exchange area to pass information to the main application started by u-boot (Linux kernel for instance)
bootargs u-boot에 의해 시작되는 main application으로 information을 전달하는 exchange area로서 사용되는 variable.
bootm this command executes an application generated by the mkimage tool
bootm 이 명령은 mkimage tool에 의해 발생되는 application을 실행한다.
This section describes the loading of a Linux kernel and it root file system. Keep in mind useful u-boot commands to setup your u-boot behavior.
이 section은 Linux kernel과 root file system의 loading을 설명한다. u-boot을 setup하기 위해 useful u-boot commands에 유의하라.
U-Boot does not support normal linux kernel images like zImage or Image (arch/arm/boot/), you have to create an uImage file with the mkimage tool which encapsulates kernel image with header information, CRC32 checksum, etc.
U-boot은 zImage나 Imgae와 같은 일반 linux kernel image를 제공하지는 않는다. header iinformation, CRC32 cheksum 등과 함께 kernel image를 encapsulates하는 mkimage tool을 이용하여 uImage를 생성해야 한다.
mkimage comes in source code with U-Boot distribution and it is built during U-Boot compilation (u-boot-source-dir/tools/mkimage), we provide also pre-built static version.
mkimage는 U-Boot 배포판에 source code를 가지고 있고 U-Boot compilation(u-boot-source-dir/tools/mkimage) 동안 built된다. 또한 pre-built static version도 제공한다.
See U-Boot README file for more information.
좀 더 많은 정보는 README 파일을 확인해라.
Command to generate an uncompressed uImage file 2 :
uncompressed uImage file을 생성하는 명령은 다음과 같다.
mkimage -A arm -O linux -C none -T kernel -a 20008000 -e 20008000 -n linux-2.6 -d arch/arm/boot/Image uImage
Commands to generate a compressed uImage file 2 :
compressed uImage file을 생성하는 명령은 다음과 같다.
mkimage -A arm -O linux -C none -T kernel -a 20008000 -e 20008000 -n linux-2.6 -d arch/arm/boot/zImage uImage
On a development system, it is useful to get the kernel and root file system through the network. U-boot provides support for loading binaries from a remote host on the network using the TFTP protocol.
개발 시스템에서, network를 통해 kernel과 root file system을 얻는 것은 유용한 작업이다. U-boot은 TFTP protocol을 이용하여 network에서 remote host로부터 binary를 loading 할 수 있다.
To manage to use TFTP with u-boot, you will have to configure a TFTP server on your host machine. Check your distribution manual or Internet resources to configure a Linux or Windows TFTP server on your host:
u-boot으로 TFTP 사용을 관리하기 위해서는 , host machine에 TFTP server가 configure 되어 있어야 한다. host에 TFTP server를 configure 하기 위해 배포 메뉴얼 또는 internet resource를 을 확인해라.
On the u-boot side, you will have to setup the networking parameters:
u-boot side에서 networking parameters를 setup해야 한다.
setenv ethaddr 3e:36:65:ba:6f:be
setenv ipaddr 10.159.245.180
setenv serverip 10.159.245.186
saveenv
tftp
command (Cf. U-Boot script capability chapter). bootm
or boot
command. 1. Ethernet address(MAC address)를 set-up한다.
알맞은 MAC address 선택하기 위해 this u-boot network BuildRootFAQ entry 를 확인해라.
Build u-boot from sourcesTo build the binary found above, you will have to go through the following steps.
Getting u-boot sourcesDedicated page on u-boot wiki : http://www.denx.de/wiki/U-Boot/SourceCode
To get the u-boot bootloader sources for AT91 product you have to go through the following steps (note that x.x.x and y.y must be replace by the corresponding revision numbers) :
wget ftp://ftp.denx.de/pub/u-boot/u-boot-x.x.x.tar.bz2 tar xvjf u-boot-x.x.x.tar.bz2 cd u-boot-x.x.x
wget http://www.at91.com/linux4sam/pub/Linux4SAM/U-Boot/u-boot-x.x.x-exp.diff # or, depending on u-boot revision, check the FTP directory: wget ftp://www.at91.com/pub/uboot/u-boot-x.x.x-exp/u-boot-x.x.x-exp.diff
cat u-boot-x.x.x-exp.diff | patch -p1 You will have a fresh source copy of the AT91 u-boot.
U-boot 1.3.4 experimental sources
Choosing where the u-boot environment residesAbove, we talked about the location of the u-boot environment. Here is a way to modify it to your needs : To put environment variables in dataflash (default): nandflash에 환경변수를 넣기 위해 다음과 같이 한다. make at91sam9xxxek_nandflash_config Please go to the top-level
Note that Additional information about those variables are availlable in the u-boot README (search "- CFG_ENV_IS_IN_FLASH").
Cross-compiling u-bootOnce the AT91 u-boot sources available, cross-compile u-boot is made in two steps : configuration and compiling. Check the Configuration chapter in u-boot reference manual. Some newer version of make distclean make at91sam9263ek_config make CROSS_COMPILE=<path_to_cross-compiler/cross-compiler-prefix-> path_to_cross-compiler is only needed if it is not in your The result of these operations is a fresh u-boot binary called
Notes 1: If you experience issues with NAND flash accesses,
| ||||||||||||||||||||||||||
Linux4SAM - OpenEmbedded / Angstrom (0) | 2009.11.16 |
---|---|
Linux4SAM - Linux Kernel (0) | 2009.11.16 |
Linux4SAM - AT91Bootstrap (0) | 2009.11.15 |
Linux4SAM - Software Tools (0) | 2009.11.15 |
Linux4SAM - Getting Started (0) | 2009.11.14 |
AT91Bootstrap is a first step bootloader providing a set of algorithms to manage hardware initialization (GPIO, Clock, SDRAM, etc), to download your main application from specified FLASH media to main memory and to start it.
AT91Bootstrap은 첫번째 단계의 bootloader이다. 그것은 hardware initialization (GPIO, Clock, SDRAM, etc)을 관리하고, 특정 FLASH media에서 main memory로 main application을 download하고 그것을 시작하기 위한 algorithms의 set을 제공한다.
In the linux4SAM pre-built demo it is used to configure the hardware and to load and start the standard U-Boot bootloader, it can also be configured to start directly the linux kernel.
linux4SAM pre-built demo에서 그것은 hardware를 configure하고, standard U-Boot bootloader를 load하고 start하기위해 사용된다. 또한 직접 linux kernel을 start하도록 configure 할 수도 있다.
More information see the AT91Bootstrap application note.
추가 정보는 the AT91Bootstrap application note에 설명되어 있다.
Board | Description | Binary |
---|---|---|
at91sam9260ek | AT91Bootstrap binary with 2nd level application in Dataflash chip (SPI 0 CS 1) | dataflash_at91sam9260ek.bin |
at91sam9xeek | AT91Bootstrap binary with 2nd level application in Dataflash chip (SPI 0 CS 1) | dataflash_at91sam9xeek.bin |
at91sam9261ek | AT91Bootstrap binary with 2nd level application in Dataflash chip (SPI 0 CS 0) | dataflash_at91sam9261ek.bin |
at91sam9263ek | AT91Bootstrap binary with 2nd level application in Dataflash card (SPI 0 CS 0) | dataflash_at91sam9263ek.bin |
at91sam9rlek | AT91Bootstrap binary with 2nd level application in Dataflash card (SPI 0 CS 0) | dataflash_at91sam9rlek.bin |
at91sam9g20ek | AT91Bootstrap binary with 2nd level application in Dataflash chip (SPI 0 CS 1) | dataflash_at91sam9g20ek.bin |
at91sam9g10ek | AT91Bootstrap binary with 2nd level application in Dataflash chip (SPI 0 CS 0) | dataflash_at91sam9g10ek.bin |
at91sam9g45ekes | ROM Code replacement 2 |
Board | Description | Binary |
---|---|---|
at91sam9260ek | AT91Bootstrap binary with 2nd level application in NandFlash | nandflash_at91sam9260ek.bin |
at91sam9xeek | AT91Bootstrap binary with 2nd level application in NandFlash | nandflash_at91sam9xeek.bin |
at91sam9261ek | AT91Bootstrap binary with 2nd level application in NandFlash | nandflash_at91sam9261ek.bin |
at91sam9263ek | AT91Bootstrap binary with 2nd level application in NandFlash | nandflash_at91sam9263ek.bin |
at91sam9rlek | AT91Bootstrap binary with 2nd level application in NandFlash | nandflash_at91sam9rlek.bin |
at91sam9g20ek | AT91Bootstrap binary with 2nd level application in NandFlash | nandflash_at91sam9g20ek.bin |
at91sam9g10ek | AT91Bootstrap binary with 2nd level application in NandFlash | nandflash_at91sam9g10ek.bin |
at91sam9g45ekes | AT91Bootstrap binary with 2nd level application in NandFlash | nandflash_at91sam9g45ekes.bin |
Old binaries | AT91Bootstrap directory on Linux4sam FTP |
---|
This section describes How to load AT91Bootstrap into the boot media with SAM-BA.
이 section은 SAM-BA를 가지고 AT91Bootstrap를 boot media로 load하는 방법을 설명한다.
AT91SAM9260-EK | AT91SAM9261-EK | AT91SAM9263-EK (RevA) |
---|---|---|
|
|
|
AT91SAM9XE-EK | AT91SAM9RL-EK | AT91SAM9263-EK (RevB) |
|
|
|
AT91SAMG20-EK | AT91SAMG10-EK | AT91SAM9G45-EKES |
|
|
|
1. SAM-BA GUI에서 알맞은 media tab(DataFlash, NandFlash, etc.)을 선택한다.
2. Script rolling menu에서 Enable action을 선택하여 media를 초기화한다. 그리고 Execute를 누른다.
3. Send boot file을 선택하고, Execute를 누른다.
4. at91bootstrap binary file을 선택하고 Open을 누른다, media는 기록(write-down)된다.
5. SAM-BA를 닫고, USB cable을 제거한다.
AT91 chips embed a boot ROM code. It is enabled depending on BMS (Boot Mode Select) pin state on reset. This ROM code scans the contents of different media like SPI DATAFLASH, NAND FLASH or SDCARD to determine if a valid application is available then it download the application into SAM9 internal SRAM and run it. To determine if a valid application is present the ROM code checks the eight ARM exception vectors.
AT91 chips은 boot ROM code를 내장한다. 그것은 reset시 BMS(Boot Mode Select) pin 상태에 따라 Enable 여부가 결정된다. 이 ROM code는 SPI DATAFLASH, NAND FLASH 또는 SDCARD와 같은 다른 media의 내용을 scan하고 유효한 application을 사용할 수 있는지 결정한다. 그 다음에 application을 SAM9 internal SRAM으로 그것을 download하고, run한다. 유효한 application이 있는지를 결정하는 것은 ROM code가 8번째 ARM exception vectors를 check하는 것이다.
If no application is available then SAM-BA application is executed. It waits for transactions either on the USB device, or on the DBGU serial port, Then the SAM-BA tool can be used to program FLASH or EEPROM present on your board.
만약 어떤 application도 사용할 수 없다면 SAM-BA applicaiton은 실행된다. 그것은 USB device나 DBGU serial port에서의 transaction을 기다린다.
그 때 SAM-BA tool은 보드에 FLASH, EEPROM에 program 할 수 있게 된다.
For more information on this topic, please check the corresponding SAM product datasheet section Boot Program . You can find a valuable summary in the document named SAM9 Boot Strategies or see the cross matrix below..
이 topic의 추가 정보는 관련 SAM 제품군의 datasheet에 section Boot Program을 확인해라. SAM Boot Strategies라는 document에서 유용한 정보를 찾을 수 있다. 또한 아래의 cross matrix를 통해서도 얻을 수 있다.
Here is :
a summary of the boot feature for each board
the solution chosen for the Linux4SAM pre-built binaries.
Product | Boot from DataFlash (SPI0 CS0) |
Boot from DataFlash (SPI0 CS1) |
Boot from NAND Flash |
Boot from SD card |
Boot from NOR Flash |
Boot from Internal Flash 3 |
---|---|---|---|---|---|---|
at91rm9200ek | ||||||
at91sam9260ek | 4 | 5 | ||||
at91sam9xeek | ||||||
at91sam9261ek | 4 | 6 | 6 | |||
at91sam9263ek | 7 | 8 | 8 | |||
at91sam9rlek | 4 | |||||
at91sam9g20ek | 4 | |||||
at91sam9g10ek | 4 | |||||
at91sam9g45ekes | 4 |
The Dataflash version of AT91Bootstrap (version 1.10 or older) will load a second level bootloader or application from the address 0x8000
. Dataflash memories have page size of 1056 bytes, (0x420 hex) and the load address 0x8000 is thus in the middle of a page.
AT91Bootstrap(version 1.10 or older)의 Dataflash version은 second level bootloader 또는 address 0x8000번지부터 application을 load할 것이다.
Dataflash memory는 1056(0x420 hex)bytes page size를 갖는다. 그리고 load address 0x8000은 page의 중간이 된다.
Newer version of AT91Bootstrap (from version 1.11) will load a second level bootloader or application from the address 0x8400
.
새 버전은 second level bootloader 또는 address 0x8400번지부터 application을 load 할 것이다.
Sources and build process are described in the AT91Bootstrap application note page on http://www.atmel.com .
Sources와 build 처리는 AT91Bootstrap application note에 설명되어 있다.
You can also retrieve them from ftp://www.at91.com/pub/at91bootstrap .
ftp://www.at91.com/pub/at91bootstrap 로부터 복구할 수도 있다.
A rewritten version of AT91bootstrap that supports some more options is available as part of the buildroot project at http://buildroot.uclibc.org/
좀 더 많은 option을 제공하는 AT91bootstrap 버전은 http://buildroot.uclibc.org/ 에서 buildroot project의 part로서 사용할 수 있다.
To compile an AT91Bootstrap project:
AT91Bootstrap project를 compile 하기 위해
1. boar directory로 간다.
2. 관련 board directory로 가서 board를 선택한다.
3. 관련 directory로 가서 media를 찾는다.
4. make 한다.
Example: To compile a DataFlash boot project for AT91SAM9260-EK board, type the following commands:
예시 : AT91SAM9260-EK board를 위한 DataFlash boot project를 compile하기 위해, 아래의 명령은 친다.
cd board/at91sam9260ek/dataflash make clean
and
make
or if you want to specify the cross-compiler :
make CROSS_COMPILE=<path_to_cross-compiler/cross-compiler-prefix->
path_to_cross-compiler is only needed if it is not in your PATH
.
Usually cross-compiler-prefix- looks like arm-linux- or arm-elf-
Notes
1: If you experience issues with NAND flash accesses,
please refer to the AT91SAM9263-EK Evaluation Board Rev. B User Guide chapter 1.5 NAND Flash Access Issue
2: To workaround the issue with SAM-BA access through USB, a ROM code replacement is located in Dataflash. Please refer to the Errata on AT91SAM9G45 Engineering Sample Devices document
3: Only available on products with embedded Flash
4: On board DataFlash chip
5: Please check at91sam9260 errata # 44.2.1.1
6: Supported on SAM9261 rev B and onward
7: Removable DataFlash card
8: Supported on SAM9263 rev B and onward
Linux4SAM - Linux Kernel (0) | 2009.11.16 |
---|---|
Linux4SAM - U-Boot (0) | 2009.11.15 |
Linux4SAM - Software Tools (0) | 2009.11.15 |
Linux4SAM - Getting Started (0) | 2009.11.14 |
AT91SAM Community (0) | 2009.11.10 |
The SAM Boot Assistant (SAM-BA
) comes with the AT91 In-system Programmer (ISP). It allows to program flash media through RS232, USB or Jtag SAM-ICE link. SAM-BA only runs on Windows.
Description | Binary | FAQ applicable |
---|---|---|
SAM Boot Assistant (SAM-BA ) on http://www.atmel.com |
AT91 In-system Programmer (ISP) | for at91sam9xe (SAM-BA 2.8), for at91sam9g20 (SAM-BA 2.8), for at91sam9263 (SAM-BA 2.7) |
SAM-BA
)는 AT91 In-system Programmer (ISP) 함께 제공된다. 그것은 RS232, USB, Jtag SAM-ICE link를 통해 flash media에 program을 가능하게 한다. SAM-BA는 Windows에서만 동작한다.A revision of SAM-BA is ported to Linux. It is at the side of the official SAM-BA ISP revision.
SAM-BA revision은 Linux에 ported되었다. 그것은 공식적인 SAM-BA revision 중 하나다.
SAM-BA Linux uses the USB connexion through CDC usbserial
driver to communicate with the device.
SAM-BA Linux는 USB connection을 사용하며, device와 통신하기 위해 CDC usbserial driver를 통한다.
USB CDC Serial driver mount procedure :
USB CDC Serial driver의 mount 과정은 다음과 같다.
rmmod usbserial
modprobe usbserial vendor=0x03eb product=0x6124
lsusb -d 03eb:6124 Bus 004 Device 006: ID 03eb:6124 Atmel Corp
dmesg ... kernel: usb 4-2: new full speed USB device using uhci_hcd and address 5 kernel: usb 4-2: configuration #1 chosen from 1 choice kernel: usbserial_generic 4-2:1.0: generic converter detected kernel: usbserial_generic: probe of 4-2:1.0 failed with error -5 kernel: usbserial_generic 4-2:1.1: generic converter detected kernel: usb 4-2: generic converter now attached to ttyUSBx
=> you will have to use /dev/ttyUSBx instead of \usb\ARM0 to connect to your board
보드에 연결하기 위해 \usb\ARM0 대신 /dev/ttyUSBx를 사용해야 한다.
You can also use .tcl
scripts from this flavor of SAM-BA. This is useful if you want to run GettingStarted#DemoArchiveBinaries demos.
Description | Binary | FAQ applicable |
---|---|---|
SAM Boot Assistant (SAM-BA 2.9) Linux port initiative using CDC |
sam-ba_2.9_cdc_linux.zip | |
SAM Boot Assistant (SAM-BA 2.8) Linux port initiative using CDC |
sam-ba_cdc_2.8.linux_01.zip | for at91sam9xe, for at91sam9g20 |
SAM Boot Assistant (SAM-BA 2.7) Linux port initiative using CDC |
sam-ba_cdc_2.7.linux_01.zip | for at91sam9263 |
CodeSourcery provides regular, validated releases of the GNU Toolchain for arm processor.
This document refers to arm2007q1-10 version of CodeSourcery toolchain.
CodeSourcery는 arm processor의 GNU Toolchain의 releases를 제공한다.
이 문서는 CodeSourcery toolchain의 arm2007q1-10 version을 참조한다.
Features in this release include:
이 release의 특징은 다음과 같다.
Links:
Description | Binary |
---|---|
CodeSourcery GNU cross-toolchain for ARM | arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 |
The mkimage
U-Boot tool is used to convert a standard kernel image into uImage format needed by bootm U-Boot command.
Description | Sources | Binary |
---|---|---|
Pre-built static version of the u-boot mkimage tool |
u-boot sources directory | mkimage |
MakeNot needed for newer U-Boot. Some newer version of 어떤 make의 새 버전은 U-Boot의 older revision을 컴파일하는 동안 errors가 발생한다. old code의 컴파일은 make-3.80 일때 유효하다. /usr/local/bin/make-3.80 CROSS_COMPILE=<path_to_cross-compiler/cross-compiler-prefix->
| ||||||
Linux4SAM - U-Boot (0) | 2009.11.15 |
---|---|
Linux4SAM - AT91Bootstrap (0) | 2009.11.15 |
Linux4SAM - Getting Started (0) | 2009.11.14 |
AT91SAM Community (0) | 2009.11.10 |
KEIL ARM의 AT91SAM9260 Device Database site (0) | 2009.11.10 |
This page is a starting point for the Linux4SAM offer and allows you to easily get a running embedded Linux distribution on AT91 products.
This Getting started describes also how a Linux4SAM system boots and how binaries are installed on FLASH memories. For each topic a more detailed section exists with in-depth description, valuables web links, source code how to rebuild used binaries.
이 페이지는 Linux4SAM offer를 위한 시작점이고, AT91 제품군에서 쉽게 embedded Linux 배포를 구동할 수 있게 한다.
이 Getting started는 FLASH memory에 Linux4SAM system을 boot 하고, binaries를 install하는 방법에 대하여 설명한다. 각각의 topic을 위해 더 세부적인 section이 존재하며 사용된 binaries를 rebuild하는 방법인 심오한 설명과, 볼만한 웹 링크, 소스코드를 제공한다.
Several pieces of software are involved to boot a linux kernel on SAM9 products. First is the ROM code which is in charge to check if a valid application is present on supported media (FLASH, DATAFLASH, NANDFLASH, SDCARD).
The boot sequence of linux4SAM is done in several steps :
여러개의 소프트웨어 pieces가 SAM9 제품군의 linux kernel boot를 위해 포함된다. 먼저 ROM code가 있으며, 이것은 유효한 Application이 제공된 media(FLASH, DATAFLASH, NANDFLASH, SDCARD) 에서 present 되는 것을 확인하는 것을 담당한다.
linux4SAM의 boot sequence는 여러 단계로 수행된다.
1. Boot Program - 유효한 application이 FLASH 존재하고 있는지 check하고 존재한다면 내부 SRAM으로 그것을 다운로든 한다.
추가정보는 Boot strategies section and particularly the Boot capabilities matrix 를 확인해라.
2. AT91Bootstrap - hardware configuration을 담당, FLASH에서 SDRAM으로 U-Boot binary를 다운로드 하고, bootloader를 시작한다.
3. U-Boot - bootloader, FLASH, network, USB key 등으로부터 kernel binaries를 다운로드 하는것을 담당.
4. Linux kernel - The operating system kernel.
5. Root Filesystem - target에서 실행되고, OS kernel service를 사용하는 application을 포함한다.
1. Processor는 reset을 내보내고 ROM startup code로 분기한다.
2. ROM startup code는 CPU와 memory controller를 초기화 한다. boot diagnostic message를 제공하기 위한 console serial port 같은 on-chip
devices의 최소 초기화만을 수행한다. 또한 consistent across platforms에서 사용하기 위한 kernel을 위한 memory map을 setup한다. 그리고
bootloader로 jump한다.
3. boot loader는 RAM으로 kernel을 decompresse하고, 그곳으로 jump한다.
4. kernel은 cache를 setup하고, 각 driver에서 init function을 거쳐 hardware devices를 각각 초기화하고, root filesystem을 mount하고 init process를
exec한다. 모드 user mode process의 ultimate parent는 보통 /sbin/initd 이다.
5. shared C runtime library(often init) 대한 링크된 첫번째 프로그램을 실행하는 것은 shared runtime libary를 loaded되게 하는 원인이 된다. 보통
linux system에서, init는 /etc/rc.d로부터 적절한 run control script를 실행하기 위한 /etc/inittab을 read한다. 그리고 그것은 networking과 다른
system service 를 초기화하기 위한 start script를 실행한다.
AT91SAM9260-EK | AT91SAM9261-EK | AT91SAM9263-EK (REV-A) |
---|---|---|
AT91SAM9XE-EK | AT91SAM9RL-EK | AT91SAM9263-EK (REV-B) 2 |
AT91SAM9G20-EK | AT91SAM9G10-EK | AT91SAM9G45-EKES and AT91SAM9M10G45-EK |
Serial communication parameters 115200 8-N-1
:
Baud rate | 115200 |
Data | 8 bits |
Parity | None |
Stop | 1 bit |
Flow control | None |
Board | Description | Binary | Sources location |
---|---|---|---|
at91sam9260ek | Linux4SAM console demo archive | linux4sam-angstrom-at91sam9260ek.zip (~ 18 MB) | AT91Bootstrap U-Boot Linux Kernel OpenEmbedded-Angstrom |
at91sam9xeek | Linux4SAM console demo archive | linux4sam-angstrom-at91sam9xeek.zip (~ 18 MB) | |
at91sam9261ek | Linux4SAM graphical demo archive | linux4sam-angstrom-at91sam9261ek.zip (~ 27 MB) | |
at91sam9263ek | Linux4SAM graphical demo archive | linux4sam-angstrom-at91sam9263ek.zip (~ 27 MB) | |
at91sam9rlek | Linux4SAM graphical demo archive | linux4sam-angstrom-at91sam9rlek.zip (~ 27 MB) | |
at91sam9g20ek3 | Linux4SAM console demo archive | linux4sam-angstrom-at91sam9g20ek.zip (~ 19 MB) | |
at91sam9g10ek | Linux4SAM graphical demo archive | linux4sam-angstrom-at91sam9g10ek.zip (~ 27 MB) | |
at91sam9g45ekes | Linux4SAM graphical demo archive | linux4sam-angstrom-at91sam9g45ekes.zip (~ 27 MB) |
Board | Description | Binary | Sources location |
---|---|---|---|
at91sam9260ek | Linux4SAM console demo archive | linux4sam-buildroot-at91sam9260ek.zip (~ 14 MB) | AT91Bootstrap U-Boot Linux Kernel Buildroot |
at91sam9xeek | Linux4SAM console demo archive | linux4sam-buildroot-at91sam9xeek.zip (~ 14 MB) | |
at91sam9261ek | Linux4SAM console demo archive | linux4sam-buildroot-at91sam9261ek.zip (~ 14 MB) | |
at91sam9263ek | Linux4SAM console demo archive | linux4sam-buildroot-at91sam9263ek.zip (~ 14 MB) | |
at91sam9rlek | Linux4SAM console demo archive | linux4sam-buildroot-at91sam9rlek.zip (~ 14 MB) | |
at91sam9g20ek3 | Linux4SAM console demo archive | linux4sam-buildroot-at91sam9g20ek.zip (~ 16 MB) | |
at91sam9g10ek | Linux4SAM console demo archive | linux4sam-buildroot-at91sam9g10ek.zip (~ 14 MB) | |
at91sam9g45ekes | Linux4SAM console demo archive | linux4sam-buildroot-at91sam9g45ekes.zip (~ 14 MB) |
Old binaries | linux4sam demo v1.4 through v1.6 |
---|
Before flashing the demo, make sure that you have installed the SAM-BA tool on your host computer.
demo를 flashing하기 전에, host computer에 SAM-BA tool이 installed되었는지 확인한다.
보드에 USB cable을 연결한다.
DBGU에 serial link을 연결하고 터미널 에뮬레이터 프로그램을 open한다.
아래의 테이블을 통해 chip에 맞는 적절한 과정을 선택한다.
AT91SAM9260-EK
+ J7 must be opened (BMS=1) to boot from the on-chip Boot ROM
+ follow the AT91SAM9260EKSamBaRecovery recovery method, if needed
+ power up the board
+ verify that the USB connection is established (ATMEL AT91xxxxx Test Board appears in taskbar notification area)
+ on-chip Boot ROM으로부터 boot하기 위해 J7은 open 되어야만 한다. (BMS=1)
+ AT91SAM9260EKSamBaRecovery 복구 방법을 따른다.
+ 보드를 power-up 한다.
+ USB가 연결되었는지 확인한다. (ATMEL AT91xxxxx Test Board appears in taskbar notification area)
.bat
file : this script will run SAM-BA with proper parameters ; on a Linux host, run the .tcl
script form the SAM-BA GUI
logfile.log
appears (this will take a few minutes), remove the USB cable
적당한 .bat 파일을 launch한다 : 이 script는 적당한 parameter를 갖는 SAM-BA를 run할 것이다. Linux host에서 SAM-BA로부터 .tcl script를 run한다.
logfile.log 가 나타나면(this will take a few minutes), USB cable을 뺀다.
power는 board를 순환함.
LCD screen과 serial line을 통해 system booting을 확인한다.
LCD screen을 calibrate한다 (if needed).
Ok, now you should have the Linux demo up'n running on your board ! Have a walk through applications of this demo.
You can also access the Linux console through the serial line plugged on DBGU port.
Use the root
login account without password.
If you want to rebuild this demo from sources, go through each component topic and you will have a comprehensive explanation of it role and how to build it.
Notes
1: Embedded FLASH available on AT91SAM9XE for instance.
2: AT91SAM9263 MRLA or MRLB could be soldered on this board revision. To identity which chip revision you have, check AT91SAM9263-EK user guide at http://atmel.com/dyn/products/tools_card.asp?tool_id=4057
3: In addition to single slot AT91SAM9G20EK demo files, it contains also demo files for dual SD/MMC slot AT91SAM9G20EK.
4: If you experience issues with NAND flash accesses,
please refer to the AT91SAM9263-EK Evaluation Board Rev. B User Guide chapter 1.5 NAND Flash Access Issue
Linux4SAM - AT91Bootstrap (0) | 2009.11.15 |
---|---|
Linux4SAM - Software Tools (0) | 2009.11.15 |
AT91SAM Community (0) | 2009.11.10 |
KEIL ARM의 AT91SAM9260 Device Database site (0) | 2009.11.10 |
Free LinuxLink Trial (0) | 2009.11.10 |