doc: edit the Galileo Platform documentation
Edited for grammar, style, markup, linkage, consistency. This change was resubmitted to avoid having a nickname as author. Change-Id: Ie3a1a16c33939062ce2e139024afd2162a0c802d Signed-off-by: Steve Ballard <stephen.r.ballard@intel.com> Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
This commit is contained in:
parent
ccc25e0063
commit
7306a61264
1 changed files with 73 additions and 82 deletions
|
@ -6,10 +6,11 @@ Platform Configuration: galileo
|
|||
Overview
|
||||
********
|
||||
|
||||
The galileo platform configuration is used by Zephyr applications
|
||||
that run on Galileo (Gen 1 or Gen 2) Development Boards.
|
||||
Developers can use the galileo platform configuration
|
||||
to build a |codename| that runs on a Galileo Development Board (Gen 1 or Gen 2).
|
||||
|
||||
It provides support for a Quark CPU and the following devices:
|
||||
This platform configuration enables kernel support for the board's Quark CPU,
|
||||
along with the following devices:
|
||||
|
||||
* High Precision Event Timer (HPET)
|
||||
|
||||
|
@ -17,43 +18,38 @@ It provides support for a Quark CPU and the following devices:
|
|||
|
||||
* Serial Ports in Polling and Interrupt Driven Modes
|
||||
|
||||
See `Procedures`_ for using third-party tools to load
|
||||
a Zephyr application image on the target.
|
||||
See `Procedures`_ for using third-party tools to load an image onto the target.
|
||||
|
||||
.. note::
|
||||
This platform configuration may work with similar boards,
|
||||
but they are not officially supported.
|
||||
This platform configuration may work with similar boards
|
||||
that are not officially supported.
|
||||
|
||||
Supported Boards
|
||||
****************
|
||||
|
||||
This section either provides links to, or describes the physical
|
||||
characteristics of the boards that are supported by the galileo
|
||||
platform configuration. Subsections provide information on pin names,
|
||||
jumper settings, memory mappings and board component layout.
|
||||
This section provides information about the physical characteristics of boards
|
||||
that the galileo platform configuration supports.
|
||||
Subsections contain detailed information on pin names, jumper settings, memory mappings,
|
||||
and board component layout.
|
||||
|
||||
Pin Names
|
||||
=========
|
||||
|
||||
Refer to page 46 of the Document Number: 329676-001US
|
||||
Intel® Quark SoC X1000 Datasheet for a component layout
|
||||
diagram. Click the link to open the `Intel® Galileo Datasheet`_.
|
||||
For a component layout diagram showing pin names, see page 46 of the
|
||||
`Intel® Quark SoC X1000 Datasheet`_.
|
||||
|
||||
.. _Intel® Galileo Datasheet: http://www.intel.com/newsroom/kits/quark/galileo/pdfs/Intel_Galileo_Datasheet.pdf
|
||||
See also the `Intel® Galileo Datasheet`_.
|
||||
|
||||
Also, refer to page 9 of the
|
||||
`Intel® Galileo Board User Guide`_.
|
||||
For the Galileo Board Connection Diagram see page 9 of the `Intel® Galileo Board User Guide`_.
|
||||
|
||||
.. _Intel® Galileo Board User Guide: http://download.intel.com/support/galileo/sb/galileo_boarduserguide_330237_001.pdf
|
||||
|
||||
Jumpers & Switches
|
||||
==================
|
||||
|
||||
The Zephyr kernel uses the Galileo default jumper settings except
|
||||
for the IOREF jumper which must be set to match the external
|
||||
operating voltage of either 3.3 V or 5 V.
|
||||
The kernel uses the Galileo default jumper settings except for the IOREF jumper,
|
||||
which must be set to match the external operating voltage of either 3.3 V or 5 V.
|
||||
|
||||
The default switch settings for the Galileo are:
|
||||
The Galileo default switch settings are:
|
||||
|
||||
+--------------+--------------+
|
||||
| Jumper | Setting |
|
||||
|
@ -63,10 +59,9 @@ The default switch settings for the Galileo are:
|
|||
| VIN | 5V Jumpered |
|
||||
+--------------+--------------+
|
||||
|
||||
For more information, refer to page 14 of the
|
||||
For more information, see page 14 of the
|
||||
`Intel® Galileo Board User Guide`_.
|
||||
|
||||
.. _Intel® Galileo Board User Guide: http://download.intel.com/support/galileo/sb/galileo_boarduserguide_330237_001.pdf
|
||||
|
||||
Memory Mappings
|
||||
===============
|
||||
|
@ -77,25 +72,21 @@ addresses and sizes.
|
|||
For a list of memory mapped registers, see page 868 of the
|
||||
`Intel® Quark SoC X1000 Datasheet`_.
|
||||
|
||||
.. _Intel® Quark SoC X1000 Datasheet: https://communities.intel.com/servlet/JiveServlet/previewBody/21828-102-2-25120/329676_QuarkDatasheet.pdf
|
||||
|
||||
Component Layout
|
||||
================
|
||||
|
||||
Refer to page 3 of the Intel® Galileo Datasheet for a component layout
|
||||
See page 3 of the Intel® Galileo Datasheet for a component layout
|
||||
diagram. Click the link to open the `Intel® Galileo Datasheet`_.
|
||||
|
||||
.. _Intel® Galileo Datasheet: http://www.intel.com/newsroom/kits/quark/galileo/pdfs/Intel_Galileo_Datasheet.pdf
|
||||
|
||||
For a block diagram refer to page 38 of the `Intel® Quark SoC X1000 Datasheet`_.
|
||||
For a block diagram, see page 38 of the `Intel® Quark SoC X1000 Datasheet`_.
|
||||
|
||||
.. _Intel® Quark SoC X1000 Datasheet: https://communities.intel.com/servlet/JiveServlet/previewBody/21828-102-2-25120/329676_QuarkDatasheet.pdf
|
||||
|
||||
Supported Features
|
||||
******************
|
||||
|
||||
The galileo platform configuration supports the following
|
||||
hardware features:
|
||||
The galileo platform configuration supports the following hardware features:
|
||||
|
||||
* HPET
|
||||
|
||||
|
@ -118,50 +109,44 @@ hardware features:
|
|||
| | | serial port-interrupt |
|
||||
+------------------+------------+-----------------------+
|
||||
|
||||
Other hardware features are not currently supported by the Zephyr kernel.
|
||||
The kernel currently does not support other hardware features.
|
||||
See the `Intel® Quark Core Hardware Reference Manual`_ for a
|
||||
complete list of Galileo board hardware features, and the
|
||||
`Intel® Quark Software Developer Manual for Linux`_
|
||||
|
||||
.. _Intel® Quark Core Hardware Reference Manual: http://caxapa.ru/thumbs/497461/Intel_Quark_Core_HWRefMan_001.pdf
|
||||
|
||||
.. _Intel® Quark Software Developer Manual for Linux: http://www.intel.com/content/dam/www/public/us/en/documents/manuals/quark-x1000-linux-sw-developers-manual.pdf
|
||||
|
||||
|
||||
PCI
|
||||
===
|
||||
|
||||
The PCI driver initiates a PCI library scan of the PCI bus for any attached devices.
|
||||
If devices are detected, they are initialized.
|
||||
When detected, the devices are initialized.
|
||||
|
||||
.. note::
|
||||
The PCI library does not support 64 bit devices. Memory
|
||||
address and size storage only require 32 bit integers.
|
||||
The PCI library does not support 64-bit devices.
|
||||
Memory address and size storage only require 32-bit integers.
|
||||
|
||||
Serial Port Polling Mode Support
|
||||
================================
|
||||
|
||||
The polling mode serial port allows debug output to be printed.
|
||||
|
||||
For more information, see Intel® Quark SoC X1000 Datasheet, section `18.3.3 FIFO Polled-Mode Operation`_
|
||||
|
||||
.. _18.3.3 FIFO Polled-Mode Operation: https://communities.intel.com/servlet/JiveServlet/previewBody/21828-102-2-25120/329676_QuarkDatasheet.pdf
|
||||
For more information, see `Intel® Quark SoC X1000 Datasheet`_,
|
||||
section 18.3.3 FIFO Polled-Mode Operation
|
||||
|
||||
|
||||
Serial Port Interrupt Mode Support
|
||||
==================================
|
||||
|
||||
The interrupt mode serial port is used to provide general serial communication
|
||||
The interrupt mode serial port provides general serial communication
|
||||
and external communication.
|
||||
|
||||
For more information, see Intel® Quark SoC X1000 Datasheet, section `21.12.1.4.5 Poll Mode`_
|
||||
For more information, see `Intel® Quark SoC X1000 Datasheet`_, section 21.12.1.4.5 Poll Mode
|
||||
|
||||
.. _21.12.1.4.5 Poll Mode: https://communities.intel.com/servlet/JiveServlet/previewBody/21828-102-2-25120/329676_QuarkDatasheet.pdf
|
||||
|
||||
Interrupt Controller
|
||||
====================
|
||||
|
||||
The galileo platform configuration uses the Zephyr kernel static
|
||||
The galileo platform configuration uses the kernel's static
|
||||
Interrupt Descriptor Table (IDT) to program the
|
||||
Advanced Programmable Interrupt Controller (APIC)
|
||||
interrupt redirection table.
|
||||
|
@ -172,15 +157,15 @@ Interrupts
|
|||
+-------+-----------+------------------+-------------------------------+
|
||||
| IRQ | Name | Remarks | Used by Zephyr Kernel |
|
||||
+=======+===========+==================+===============================+
|
||||
| 17 | INTB | UART | serial port, when used in |
|
||||
| 17 | INTB | UART | serial port when used in |
|
||||
| | | | interrupt mode |
|
||||
+-------+-----------+------------------+-------------------------------+
|
||||
| 20 | timer | HPET | timer driver |
|
||||
+-------+-----------+------------------+-------------------------------+
|
||||
|
||||
.. note::
|
||||
The galileo platform configuration does not support
|
||||
interrupt sharing, for example, two PCI devices can not use same IRQ.
|
||||
The galileo platform configuration does not support interrupt sharing.
|
||||
For example, two PCI devices cannot use the same IRQ.
|
||||
|
||||
Configuration Options
|
||||
=====================
|
||||
|
@ -199,8 +184,7 @@ configuration uses HPET as a system clock timer.
|
|||
Procedures
|
||||
**********
|
||||
|
||||
Use the following procedures for booting a project on
|
||||
a Galileo board.
|
||||
Use the following procedures for booting an image on a Galileo board.
|
||||
|
||||
* `Creating a GRUB2 Boot Loader Image from a Linux Host`_
|
||||
|
||||
|
@ -213,31 +197,29 @@ Creating a GRUB2 Boot Loader Image from a Linux Host
|
|||
====================================================
|
||||
|
||||
Create a GRUB2 boot loader image needed later to load
|
||||
a project image on to a Galileo board.
|
||||
the application's image onto a Galileo board.
|
||||
|
||||
|
||||
Prerequisite
|
||||
------------
|
||||
The tested configuration uses:
|
||||
|
||||
* The Linux host computer is running Ubuntu 12.04.
|
||||
* Linux host computer running Ubuntu 12.04.
|
||||
|
||||
* The GNU EFI development libraries (version 3.0u) is installed.
|
||||
* GNU EFI development libraries (version 3.0u).
|
||||
|
||||
* The GRUB 2.0 source code is available.
|
||||
* GRUB 2.0 source code.
|
||||
|
||||
.. note:
|
||||
Only the specified release of the GRUB2 tarball works with the
|
||||
galileo platform configuration.
|
||||
|
||||
* The Zephyr application image is available in the project directory.
|
||||
* The appropriate image in the project directory.
|
||||
|
||||
Steps
|
||||
-----
|
||||
|
||||
1. Install the required development packages on the host computer.
|
||||
|
||||
a. Open a web browser and download the GNU EFI development
|
||||
libraries from the following website:
|
||||
a. Open a web browser and download the GNU EFI development libraries:
|
||||
https://launchpad.net/ubuntu/+source/gnu-efi/3.0u+debian-1ubuntu2~12.04.0/+build/5052631
|
||||
|
||||
The source code is unpacked to the ~/grub-2.00 directory.
|
||||
|
@ -310,19 +292,20 @@ following instructions apply to both devices.
|
|||
Prerequisites
|
||||
-------------
|
||||
|
||||
* There is access to a Windows host.
|
||||
* Access to a Windows host.
|
||||
|
||||
* The stripped project image and the GRUB2 image have been copied
|
||||
* Access to the stripped project image and the GRUB2 image
|
||||
which have been previously copied
|
||||
from your Linux host to your Windows host.
|
||||
|
||||
* There is a serial port for communication.
|
||||
* Access to a serial port for communication.
|
||||
|
||||
|
||||
Steps
|
||||
-----
|
||||
|
||||
1. Insert the boot device into the Windows host computer,
|
||||
and make note of the Drive letter assigned to the device.
|
||||
1. Insert the boot device into the Windows host computer;
|
||||
make note of the Drive letter assigned to the device.
|
||||
|
||||
2. In the :guilabel:`Windows Computer` folder, right click the boot
|
||||
device and select :guilabel:`Format`.
|
||||
|
@ -330,18 +313,20 @@ Steps
|
|||
3. Format the boot device with the FAT file system.
|
||||
This is typically the default file system type on Windows.
|
||||
|
||||
4. Double click the formatted device to open it.
|
||||
4. Double-click the formatted device to open it.
|
||||
|
||||
5. Create the following directory tree on the device::
|
||||
5. Create the following directory tree on the device:
|
||||
|
||||
`-- F:
|
||||
::
|
||||
|
||||
-- F:
|
||||
|-- efi
|
||||
| |-- boot
|
||||
‘-- kernel
|
||||
|
||||
6. Copy the images to the directory tree.
|
||||
|
||||
a. For a microkernel image, copy the file :file:`microkernel.strip`
|
||||
a. For a microkernel image: copy the file :file:`microkernel.strip`
|
||||
to the kernel directory.
|
||||
|
||||
b. Alternatively, for a nanokernel image, copy the file
|
||||
|
@ -371,7 +356,7 @@ Steps
|
|||
multiboot /kernel/nanokernel.strip
|
||||
}
|
||||
|
||||
The device is ready to use to boot the board.
|
||||
The image on the SD-micro card or USB flash drive is now ready for use to boot the board.
|
||||
|
||||
|
||||
Booting the Galileo Board
|
||||
|
@ -391,7 +376,7 @@ Prerequisites
|
|||
* The automatically created stripped Zephyr application image is
|
||||
in the project directory.
|
||||
|
||||
* There is a serial port for communication.
|
||||
* A serial port is available for communication.
|
||||
|
||||
.. note::
|
||||
For details on how to connect and configure the serial port,
|
||||
|
@ -423,18 +408,18 @@ Steps
|
|||
|
||||
grub.efi
|
||||
|
||||
GRUB2 starts, and a menu shows entries for the items you added
|
||||
GRUB2 starts and a menu shows entries for the items you added
|
||||
to the :file:`file grub.cfg`.
|
||||
|
||||
5. Select the image you want to boot and press :guilabel:`Enter`.
|
||||
|
||||
When the boot process finishes, you have finished booting the
|
||||
When the boot process completes, you have finished booting the
|
||||
Zephyr application image.
|
||||
|
||||
Known Problems and Limitations
|
||||
******************************
|
||||
|
||||
There is no support for the following:
|
||||
At this time, the kernel does not support the following:
|
||||
|
||||
* Isolated Memory Regions
|
||||
* Serial port in Direct Memory Access (DMA) mode
|
||||
|
@ -447,23 +432,29 @@ There is no support for the following:
|
|||
Bibliography
|
||||
************
|
||||
|
||||
1. `Intel® Galileo Datasheet`_.
|
||||
1. `Intel® Galileo Datasheet`_, Order Number: 329681-001US
|
||||
|
||||
.. _Intel® Galileo Datasheet: http://www.intel.com/newsroom/kits/quark/galileo/pdfs/Intel_Galileo_Datasheet.pdf
|
||||
.. _Intel® Galileo Datasheet:
|
||||
http://www.intel.com/newsroom/kits/quark/galileo/pdfs/Intel_Galileo_Datasheet.pdf
|
||||
|
||||
2. `Intel® Galileo Board User Guide`_.
|
||||
|
||||
.. _Intel® Galileo Board User Guide: http://download.intel.com/support/galileo/sb/galileo_boarduserguide_330237_001.pdf
|
||||
.. _Intel® Galileo Board User Guide:
|
||||
http://download.intel.com/support/galileo/sb/galileo_boarduserguide_330237_001.pdf
|
||||
|
||||
3. `Intel® Quark SoC X1000 Datasheet`_.
|
||||
3. `Intel® Quark SoC X1000 Datasheet`_, Order Number: 329676-001US
|
||||
|
||||
.. _Intel® Quark SoC X1000 Datasheet: https://communities.intel.com/servlet/JiveServlet/previewBody/21828-102-2-25120/329676_QuarkDatasheet.pdf
|
||||
.. _Intel® Quark SoC X1000 Datasheet:
|
||||
https://communities.intel.com/servlet/JiveServlet/previewBody/
|
||||
21828-102-2-25120/329676_QuarkDatasheet.pdf
|
||||
|
||||
4. `Intel® Quark Core Hardware Reference Manual`_.
|
||||
|
||||
.. _Intel® Quark Core Hardware Reference Manual: http://caxapa.ru/thumbs/497461/Intel_Quark_Core_HWRefMan_001.pdf
|
||||
.. _Intel® Quark Core Hardware Reference Manual:
|
||||
http://caxapa.ru/thumbs/497461/Intel_Quark_Core_HWRefMan_001.pdf
|
||||
|
||||
5. `Intel® Quark Software Developer Manual for Linux`_.
|
||||
|
||||
.. _Intel® Quark Software Developer Manual for Linux: http://www.intel.com/content/dam/www/public/us/en/documents/manuals/quark-x1000-linux-sw-developers-manual.pdf
|
||||
|
||||
.. _Intel® Quark Software Developer Manual for Linux:
|
||||
http://www.intel.com/content/dam/www/public/us/en/documents/manuals/
|
||||
quark-x1000-linux-sw-developers-manual.pdf
|
Loading…
Add table
Add a link
Reference in a new issue