100 likes | 280 Views
AT91SAM Linux Introduction. What do you need to setup a complete Linux system?. Morning Agenda. Environment Setup. Hands-on 01. U-Boot Introduction. Use TFTP on U-Boot. Hands-on 03. NFS Use. Hands-on 04. Kernel Building. Hands-on 05. AT91 Linux Introduction. Linux Getting Started.
E N D
AT91SAM Linux Introduction What do you need to setup a complete Linux system?
Morning Agenda Environment Setup Hands-on 01 U-Boot Introduction Use TFTP on U-Boot Hands-on 03 NFS Use Hands-on 04 Kernel Building Hands-on 05 AT91 Linux Introduction Linux Getting Started Hands-on 02
Outlines Embedded Linux overview AT91 Linux components and functions AT91 Linux boot sequence AT91 Linux ecosystem Summary
Embedded Linux Overview HOST OS(Ubuntu 11.04) Cross-platform Development Environment TARGET Bootloader Kernel Root File System Serial Cable Ethernet Cable USB Cable • Host • OS (Linux/Windows) • For develop tools • Virtual Machine (Linux) • For develop tools • Tools • SAM-BA, Serial port terminal • Cross-platform development environment • Different CPU architecture Linked Connection • For deploy and debug • Target • Bootloader • Initialization of the board • Load kernel • Kernel • Drivers • Root File System • CUI/GUI • Applications packages
Linux Components & Functions A Linux system requires several components: • Bootloader(s) • Configure the memory system. • Load the kernel image at the correct memory address. • Optionally load an initial RAM disk at the correct memory address. • Initialize boot parameters for the Linux kernel. • Obtain the ARM Linux machine type. • Linux kernel image • Usually a compressed image is used (zImage) • Some bootloaders (Ex: U-Boot) do not support normal kernel image and have to convert it to another format: uImage • Root file system • The kernel needs a root file system to mount at startup.It contains init program, applications, libraries, data….
AT91SAM Linux components and functions AT91 ROM code (embedded in the board) • Provide USB connection for SAM-BA • Determine where to boot the system AT91 Bootstrap • Configure the memory system. • Low level hardware initialization • Load U-Boot image to RAM and run it. U-Boot • Initialize network connection and flash read/write functions. • Load the kernel image at the correct memory address. • Initialize boot parameters for the Linux kernel. Kernel • OS Root FS • Applications • Libraries • UI
AT91 Linux boot sequence – NAND flash InternalMemories NAND flash offset: Root FS 0x00400000 Linux Kernel Linux Kernel 0x00200000 SAMBA Boot U-Boot U-Boot 0x00020000 NandFlash-Boot NVM Boot NandFlash-Boot AT91Bootstrap AT91Bootstrap 0x00000000 ROM NAND FLASH Physical Addr: Linux Kernel 0x72200000 AT91Bootstrap U-Boot 0x73F00000 0x00300000 DDRAM 9X5 addr is 0x2xxxxxxx SRAM Current running Application in Red
Linux4SAM – http://www.linux4sam.org Centralize information about Linux Kernel and open source project on AT91 products Experimental patches (not yet submitted) AT91 Linux Demo including bootstrap, u-boot, Linux kernel and root file system
Ecosystem Diagram A Linux system requires several components: AT91Linux -> ARM Linux -> Mainline Linux http://www.kernel.org is the goal http://www.linux4sam.org http://www.at91.com/android4sam.org
More information AT91SAM OS Ecosystem: • AT91SAM Linux Ecosystem http://linux4sam.org • AT91SAM WinCE Ecosystem http://www.at91.com/windows4sam • AT91SAM Android Ecosystem http://www.at91.com/android4sam • AT91SAM community forum: http://www.at91.com