summaryrefslogtreecommitdiff
path: root/android/juno-lsk/HOWTO_flashfirmware.txt
blob: afc7c9085dc1a497c30123cc8fc62c3d70b28b78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
h2. Disclaimer

The use of Juno software is subject to the terms of the Juno "End User License Agreement":https://releases.linaro.org/14.06/android/juno-lsk/#tabs-5.

*Getting Started Tab*

 

*Juno ports*

 

*Back panel*

!Linaro_Release_Notes_v1_files/image001.png!

*Front panel*

!Linaro_Release_Notes_v1_files/image002.png!

There are 4 UARTs on the Juno board:

<table>
<col width="20%" />
<col width="20%" />
<col width="20%" />
<col width="20%" />
<col width="20%" />
<tbody>
<tr class="odd">
<td align="left"> 

SoC UART0

SoC UART1

FPGA UART0

FPGA UART1
</td>
<td align="left">Location

"back panel":http://community.arm.com/docs/DOC-8393#jive_content_id_Back_panel, top slot.

"back panel":http://community.arm.com/docs/DOC-8393#jive_content_id_Back_panel, bottom slot.

Corresponds to the J55 header on the board. Please contact ARM for more information about this type of header.

Corresponds to J56 header on the board. Please contact ARM for more information about this type of header
</td>
<td align="left">Used by

The motherboard, UEFI and the Linux kernel.

SCP firmware

AP Trusted Firmware

Unused at the moment
</td>
<td align="left">Baud

115200

115200

115200

-
</td>
<td align="left">Data bits

8

8

8

-
</td>
</tr>
</tbody>
</table>

 

*Quick Start*

If you have just unpacked a new Juno board and would like to get it booting straight away, you may wish to skip ahead to the “Set up and boot the Juno board” section.  &lt;make this a link&gt;

 

*Juno software stack overview*

There are several pieces of software that make up the complete Juno software stack, and a description of each one follows below.

*Juno MCC Microcontroller Firmware*

The MCC is a microcontroller on the motherboard that takes care of early setup before the SCP or applications processors are powered on. The MCC is also responsible for managing firmware upgrades.

*System Control Processor (SCP) Firmware*

The Juno System Control Processor (SCP) is an on-chip Cortex-M3 that provides low level power management and system control for the Juno platform.

*Application Processor (AP) Trusted Firmware*

The Juno AP Trusted Firmware provides low-level Trusted World support for the Juno platform.

*Unified Extensible Firmware Interface (UEFI)*

The Juno UEFI implementation provides Linux loader support for the Juno platform. It is based on the open source EFI Development Kit 2 (EDK2) implementation from the Tianocore sourceforge project.

*Linux Kernel*

The Linaro Stable Kernel (LSK) for Juno.

*Linux filesystem*

An Openembedded filesystem from Linaro can be mounted via USB (recommended) or NFS over Ethernet.

*Android kernel and AOSP*

The LSK image contains Android patches and has a unified defconfig, so the same kernel binary will work with a Linux filesystem or an AOSP filesystem (available from Linaro).

 

*Software preloaded on new Juno boards*

New Juno boards arrive preloaded with MCC firmware, SCP firmware, AP trusted firmware, UEFI, and a Linux kernel. The Juno board does not contain a Linux filesystem anywhere in onboard storage.

*Please note* that early batches of Juno boards contained an SCP firmware image that limits the CPU clock to 50 MHz. ARM strongly recommends that you immediately upgrade to the latest "firmware image":http://community.arm.com/docs/DOC-8396#jive_content_id_Juno_Board_Recovery_Image hosted on this website.  &lt;link should point to firmware tab&gt;

When the power is first turned on, it should boot straight through to Linux. UEFI offers a 10 second window during which you can interrupt the boot sequence by pressing a key on the serial terminal, otherwise the Linux kernel will be launched. In order to reach the Linux shell you must attach a Linux "filesystem":http://community.arm.com/docs/DOC-8396#jive_content_id_Deploying_a_root_filesystem via USB. If no filesystem is attached then Linux will boot as far as it can and then announce that it is waiting for a filesystem to be attached.

New Juno boards do not contain any Android software pre-installed.

 

*Set up and boot the Juno board*

You are strongly recommended to update to the latest firmware before doing anything productive with your Juno board.

The steps to set up and boot the board are:

# Connect a serial terminal to the "UART0":http://community.arm.com/docs/DOC-8396#jive_content_id_Setting_up_the_board connector ("settings":http://community.arm.com/docs/DOC-8396#jive_content_id_Setting_up_the_board). &lt;UART0 link should point to the back panel picture, settings link should point to the UART table below it&gt;
# Connect the 12 volt power, then press the red "ON/OFF button":http://community.arm.com/docs/DOC-8393#jive_content_id_Back_panel on the back panel. &lt;link should point to the back panel picture&gt;

*Getting Juno to boot to the Linux shell*

If you have just received a new board and powered it on for the first time, you will not reach the Linux shell. Juno will boot Linux to the point where it looks for a filesystem, and when it can't find one it will sit and wait for one to be attached. To boot all the way to the Linux shell you will need to "attach a root filesystem":http://community.arm.com/docs/DOC-8396#jive_content_id_Deploying_a_root_filesystem.  &lt;the link should point to the relevant section in the “Binary Image Installation” tab&gt;