Font Size: a A A

Bootloader Design And Implementation For MX7D-SDB Based On Cortex-A7 Dual-core

Posted on:2017-02-11Degree:MasterType:Thesis
Country:ChinaCandidate:J L ZhaoFull Text:PDF
GTID:2308330503469549Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the coming of the era of things, the demand of market for various types of smart devices is also growing. The core technology of smart devices are integrated circuit chips and embedded operating systems. An embedded Linux system can usually be divided into four levels, including Bootloader, Linux kernel, file system and user application from a software perspective. Bootloader is the first piece of code after embedded system power, after completes CPU and associated hardware initialization, then load the operating system image into memory and run the operating system. For embedded systems, the implement of Bootloader dependent on not only the CPU architecture, but also the board-level device configuration, hence, we need to design the boot program for the special hardware platforms.We selected U-Boot as Bootloader in this project, most of the research for U-Boot was based on the version of four years ago at present. The overall architecture and compilation process of U-Boot has a great change in the last two years. Besides, the processors mostly used older ARM9 or ARM11, while the mainstream ARM processor current market used is Cortex A/M/R series. The contents of this paper is to design a stable, powerful system Bootloader for MX7D-SDB(base on Cortex-A7) platform using the latest architecture and compilation method.To start with, researching the framework and compilation methods for the lastest U-Boot operating, knowing well the MX7D-SDB platform architecture and system configuration, Furthermore, we did detail demand analysis on function and performance for the boot loading system. The overall design is divided into chip-level design and board-level design two parts: the chip-level design consist of setting interrupt exception vector, CPU internal register, initializing each unit’s clock, the stack pointer, the memory circuit and the peripheral circuit, detecti ng the system kernel maps. In short, designing the appropriate hardware environment for loading operating system. In order to facilitate the subsequent development, adding some enhanced features for Bootloader. Such as supporting serial print debug information; designing network drivers to support tftp network download; designing SD card host controller in order to use the SD card update system and USB device controller is also designed to support burnning from USB serial; supporting UBIFS file system booting and so on.In the end, the entire system has been tested on function and performance, which indicates that the boot loading system can successfully initialize the hardware platform and load operating system, meet the initial requirement. Meanwhile in the performance test, the system run stable when shielding illegal instruction and under continuously cold start conditions. Design a stable, powerful system Bootloader for MX7D-SDB. It will provide a high reference value for both subsequent version upgrade and the design of other platforms.
Keywords/Search Tags:Embedded Systems, Cortex-A7, MX7D-SDB, Boot Process, Linux, U-Boot
PDF Full Text Request
Related items