Digi 9P 9360/9750 manual Boot process, Introduction

Page 44

B o o t p r o c e s s

Boot process

This chapter describes the boot process of U-Boot and Linux.

Introduction

A boot loader is a small piece of software that executes soon after powering up a computer. On a desktop PC it resides on the master boot record (MBR) of the hard drive and is executed after the PC BIOS performs various system initializations. The boot loader then passes system information to the kernel and then executes the kernel. For instance, the boot loader tells the kernel which hard drive partition to mount as root.

In an embedded system the role of the boot loader is more complicated since these systems do not have a BIOS to perform the initial system configuration. The low level initialization of the microprocessor, memory controllers and other board specific hardware varies from board to board and CPU to CPU. These initializations must be performed before a Linux kernel image can execute.

At a minimum, a boot loader for an embedded system performs the following functions:

Initialize the hardware, especially the memory controller.

Provides boot parameters for the operating system image.

Starts the operating system image.

Additionally, most boot loaders also provide convenient features that simplify development and update of the firmware:

Reading and writing arbitrary memory locations.

Uploading new binary images to the board's RAM via a serial line or Ethernet

Copying binary images from RAM to Flash memory.

U-Boot

After power-up or reset the processor loads the U-Boot boot loader. This is performed in different steps and depends on the target.

4 4

L x N E T E S U s e r ’ s G u i d e

Image 44
Contents LxNETES User’s Guide ConnectCore 9P 9360/9750 Page Page Page Contents Building the First Project Interfaces & Devices Appendix B Cross-development environment IntroductionOverview Example applications Linux kernel sourcesTemplate project What’s new in LxNETES 3.2? FeaturesGeneral features RTC Gpio Conventions used in this manual This is a tip. It contains useful information about a topicAcronyms and abbreviations System requirements RequirementsSystem Requirements/Prerequisites Disk space Optional but recommended componentsApplications & Services Tftp daemonNFS server JTAG-Booster N E T E S U s e r ’ s G u i d e Introduction Connecting host PC with development boardGetting Started Minicom SeyonConnect power Seyon SettingsTest Ethernet configuration Installing LxNETES # ifconfig eth0Guided Installation Manual Installation N u a l Installation Building the First Project Building the Default ProjectRun configure Run make install Run makeAdding your own applications Application DevelopmentWriting applications Display Using C++Included example applications Proc/cpuinfo contents Debugging applications Choose the right architecture for your target Included pre-built applications Shell applications busyboxTelnet daemon utelnetd Web server BoaNano-X/microwindows Embedded QtUseful applications MemWhat is a kernel module? Kernel DevelopmentWriting kernel modules Writing your own kernel modulesIncluded Kernel modules Minimal Add the module to the build environmentBuilding and loading of kernel modules Modifying the default project Advanced TopicsD i f y i n g t h e d e Fault p r o j e c t Building a custom project Introduction Boot processBoot ConnectCore 9P 9360/9750 Bank # 0 00000000 32 MBLinux boot methods NAND-FlashNOR Flash USBLinux boot process MMUV a n c e d T o p i c s Updating the Flash memory Passing arguments to the kernelAutomating the image download Updating a running system the easy way Updating a running system manuallyWrite the image to Flash Download the new image file to RAMErase the Flash partition Root File System BootKernel Updating a corrupted system using a debugger Root File System Types Launch the kernel from RAM Set bootargs to be passed to the kernelDownload the kernel to RAM via Tftp JFFS2 Copy the kernel to RAM O t F i l e S y s t e m T y p e s N E T E S U s e r ’ s G u i d e Interfaces & Devices Serial interfaceUSB host interface I2C interfaceSPI interface LCD interfaceHow to set the initial system date and time Compact flash interfaceSD card interface Real time clock RTCPCI interface Related documentation CD contentsAppendix a Install.sh Readme.txtRelNotes.txt Docs ImagesSetup ConnectCore 9P 9360 CC9P9360ConnectCore 9P 9750 CC9P9750 HardwareMemory layouts Flash memory layoutConnectCore 9P 9360 / ConnectCore 9P Sdram memory layoutTextbase N E T E S U s e r ’ s G u i d e Boot command reference Appendix BO o t c o m m a n d r e f e r e n c e Skipped CC9C CCXP270 UNC90 User keys Example A9M24x0