博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Boot loader startup sequence
阅读量:7201 次
发布时间:2019-06-29

本文共 3779 字,大约阅读时间需要 12 分钟。

The boot loader's primary function is to initialize enough of the hardware and CPU to allow the hardware to communicate with the development environment for downloading a Windows CE-based run-time image.
A boot loader manages the boot process of the target device by initializing the target device, downloading the run-time image, and booting the run-time image on the target device. The boot loader is a utility that is an integral part of the OEM device development process. In some cases, it is also included in the final OEM product. The general purpose of the boot loader is to place the run-time image into memory, and then jump to the OS startup routine. The boot loader can obtain the run-time image in a number of different ways, including loading it over a cabled connection, such as Ethernet, a universal serial bus (USB), or serial connection. The boot loader also loads the OS from a local storage device, such as Compact Flash, or a hard disk. The boot loader might store the run-time image in RAM or in nonvolatile storage, such as flash memory, electrically erasable programmable read only memory (EEPROM), or some other storage device for later use.
Only couple ideas about Boot loader booting sequence.
1. Initialise the read and write clock speed for the SDRAM to from 95 MHz to 115 MHz. I don't know why 95 MHz to 115 MHz.
2. Initialise the read and write clock speed for the Flash memory to between 9 MHz and 12 MHz. I got no idea why 9 MHz and 12 MHz.
3. Initialise the QVGA display.
4. Initialise the back-light of the display.
5. Initialise microprocessor FFUART (baud rate, data bits, stop bit and so forth). (FFUART: This serial port is what developers can connect to to obtain console access to the Gumstix. Another module which uses this shared serial port is the VDIP module which provides a serial to usb host functionality. )
FFUART
The FFUART (for Full-Function UART) serves as the default Linux console on the Gumstix, and supports rates of up to 230kbaud. It is exposed on nearly all 60-pin expansion boards.
The Gumstix Linux kernel maps the FFUART to /dev/ttyS0.
Despite its name, the Gumstix does not use the FFUART as a "full-function" serial port by default: when used as the system console, hardware flow control is disabled.
On all of the boards which have USB, the FFUART CTS and RTS signals are currently used as part of the USB hardware. The RTS is used to tell the host that it's ready (cable plugged in), and the CTS is used to detect cable insertion.
FFUART GPIO configuration:
echo "AF1 in" > /proc/gpio/GPIO34
echo "AF2 out" > /proc/gpio/GPIO39
 
Refer to  http://docwiki.gumstix.org/index.php/UART_Schematics
UART (universal asynchronous receiver/transmitter) is a type of "asynchronous receiver/transmitter", a piece of computer  hardware  that translates data between parallel and serial forms. UARTs are commonly used in conjunction with other communication standards such as EIA RS-232.
As of 2008, UARTs are commonly used with RS-232 for embedded systems communications. It is useful to communicate between microcontrollers and also with PCs. Many chips provide UART functionality in silicon, and low-cost chips exist to convert logic level signals (such as TTL voltages) to RS-232 level signals.
Refer to http://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter
I think FFUART is serial port for debugging. And it can be communicated with a host PC.
6. Initialise I2C controller.
7. Initialise the peripherals such as keyboard.  
8. If a sequence of key presses is detected, shall change booting mode or execute a particularly operation.  
9. Verify and validate the integrity of System Software image.
10. Copy the System Software image from flash memory to the SDRAM.
11. Pass control to the System Software image.
 

转载地址:http://bbzum.baihongyu.com/

你可能感兴趣的文章
Tomcat 安全配置与性能优化
查看>>
PHP教程:我们什么时候应该使用异常?
查看>>
我的友情链接
查看>>
搭建 vsftpd FTP服务器
查看>>
安全技术积累-搜索目标漏洞20163月
查看>>
python_day11_IO模型
查看>>
RAID1创建
查看>>
再谈可重入和线程安全
查看>>
hadoop2.6.0+zookeeper+hbase1.0.0环境搭建
查看>>
iscsi存储
查看>>
我的友情链接
查看>>
记忆流过 恰似少年
查看>>
【代码】c++堆的简单实现
查看>>
用 jQuery 取得 Div 的宽度与高度(Width, Padding, Border, Margin)
查看>>
rhce 第20题配置iscsi的客户端
查看>>
pdo
查看>>
Apache功能和网站的基础结构
查看>>
java参数传递
查看>>
ubuntu下tomcat监视运行进度方法
查看>>
JavaScript异步编程大冒险: Async/Await
查看>>