Skip to content

Commit f900737

Browse files
author
Wayne Ren
committed
doc: update the board related docs
* merge the page getting started of board into the page of board introduction. * fix and enhancement Signed-off-by: Wayne Ren <[email protected]>
1 parent 3e4064b commit f900737

File tree

7 files changed

+340
-262
lines changed

7 files changed

+340
-262
lines changed

doc/documents/board/emsk.rst

Lines changed: 131 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Usage
3535
-----
3636

3737
EM core configurations
38-
^^^^^^^^^^^^^^^^^^^^^^
38+
**********************
3939

4040
The FPGA board includes a SPI flash storage device pre-programmed with FPGA
4141
images containing different configurations of DesignWare® ARC EM cores.
@@ -57,7 +57,7 @@ for different suported versions of EMSK board.
5757

5858

5959
Peripherals
60-
^^^^^^^^^^^
60+
***********
6161

6262
There are many peripheral devices available, such as SPI master, SPI slave,
6363
IIC, UART, GPIO. External hardware interface devices can be connected to the
@@ -77,10 +77,138 @@ memory mappings for different supported versions of EMSK board are shown below:
7777
:alt: EMSK 2.3 - Peripheral Connections and Memory Mapping
7878

7979
Peripherals interrupts
80-
^^^^^^^^^^^^^^^^^^^^^^
80+
**********************
8181

8282
Peripherals can generate interrupts to the CPU. The interrupt irq assignments
8383
are as follows.
8484

8585
.. image:: /pic/emsk_interrupt_connection.jpg
8686
:alt: Interrupt Assignments
87+
88+
.. _getting_started_with_em_starter_kit:
89+
90+
Programming and Debugging
91+
-------------------------
92+
93+
Required Hardware and Software
94+
******************************
95+
96+
To use embARC OSP applications on the IoTDK board, the following items are required
97+
98+
* USB Cable
99+
* The USB cable provides power to the board (maximum 500 mA); however, if the board is to run
100+
standalone, the universal switching power adaptor (110-240V AC to 5V DC),
101+
can be used to power the board
102+
* :ref:`software_requirement`.
103+
* (optional) A collection of PMOD modules.
104+
105+
Set up the EMSK
106+
***************
107+
108+
#. The EMSK has a bank of DIP switches labeled SW1 that are used to select a configuration. For example, to select ARC EM11D for EMSK 2.3, set bit 2 to the ON position (down), and the others to OFF (up) as shown.
109+
110+
.. figure:: /pic/images/getting_started/emsk23_dipswitch.jpg
111+
:scale: 40 %
112+
113+
DIP switch settings for ARC EM11D on EMSK 2.3
114+
115+
For exact DIP switch settings for various ARC EM Starter Kit versions, refer to EM Starter Kit section in provided embARC documentation. For complete ARC EM Starter Kit information, see the **EM Starter Kit User's Guide** provided with the ARC EM Starter Kit.
116+
117+
#. Connect the USB cable to connector J7 on the EMSK to USB port on your development host. If using the Ashling Opella-XD for ARC Debug Probe, connect it to the J15 connector on EMSK.
118+
119+
.. note:: Despite the fact that EMSK 2.3 can be powered by connector J7, it is recommended to always use an AC adapter to supply power of the board.
120+
121+
#. You can use any terminal emulation program to view UART output from the EMSK. The USB connection provides both the debug channel and RS232 transport. Use PuTTY application on Windows as an example.
122+
123+
* Determine which COM port the EMSK is using.
124+
125+
* Open the **Windows Control Panel** and select **Device Manager** in a Windows environment.
126+
* Expand **Ports (COM and LPT)** in the list. Select **USB Serial Port (COM x)** and note the COM port number for the ARC board.
127+
128+
* Configure serial terminal connection.
129+
130+
* Launch PuTTY. Select **Serial** under **Connection type** and enter the appropriate COM port string under **Serial line**.
131+
* Choose 115200 baud, 8 bits, 1 stop bit, no parity (115200-8-N-1) in settings.
132+
* You can optionally save your settings so they can be easily retrieved every time PuTTY is launched.
133+
* Click Open to open the console.
134+
135+
#. Test serial output with EMSK.
136+
137+
* Press the middle ("R"eset) button above the **ARC** label on the EMSK board to reset the board and run the self-test.
138+
* Use EMSK 2.3 as an example. Confirm that you can see the header and self-test message printed to the console.
139+
140+
.. code-block:: console
141+
142+
***********************************
143+
** Synopsys, Inc. **
144+
** ARC EM Starter kit **
145+
** **
146+
** Comprehensive software stacks **
147+
** available from embARC.org **
148+
** **
149+
***********************************
150+
Firmware Feb 22 2017, v2.3
151+
Bootloader Feb 22 2017, v1.1
152+
ARC EM11D, core configuration #3
153+
154+
ARC IDENTITY = 0x43
155+
RF_BUILD = 0xc902
156+
TIMER_BUILD = 0x10304
157+
ICCM_BUILD = 0x804
158+
DCCM_BUILD = 0x10804
159+
I_CACHE_BUILD = 0x135104
160+
D_CACHE_BUILD = 0x215104
161+
162+
SelfTest PASSED
163+
164+
Info: No boot image found
165+
166+
#. (Optional) Connect the PmodWiFi, PmodRF2, and PmodTMP2 modules to the EMSK as shown.
167+
168+
.. figure:: /pic/images/getting_started/emsk_board_settings.jpg
169+
:scale: 15 %
170+
:alt: emsk board setting
171+
172+
EMSK board connection
173+
174+
Building
175+
********
176+
177+
Take :ref:`example_blinky` as an example and use the em7d configuration of EMSK 2.2
178+
179+
.. code-block:: console
180+
181+
cd embarc_osp\example\baremetal\blinky
182+
# for ARC GNU toolchain
183+
make TOOLCHAIN=gnu BOARD=emsk BD_VER=22 CUR_CORE=arcem7d
184+
# for MWDT toolchain
185+
make TOOLCHAIN=mw BOARD=emsk BD_VER=22 CUR_CORE=arcem7d
186+
187+
Running
188+
*******
189+
190+
.. code-block:: console
191+
192+
cd embarc_osp\example\baremetal\blinky
193+
# for ARC GNU toolchain
194+
make TOOLCHAIN=gnu BOARD=emsk BD_VER=22 CUR_CORE=arcem7d
195+
# for MWDT toolchain
196+
make TOOLCHAIN=mw BOARD=emsk BD_VER=22 CUR_CORE=arcem7d
197+
198+
Debugging
199+
*********
200+
201+
.. code-block:: console
202+
203+
cd embarc_osp\example\baremetal\blinky
204+
# for ARC GNU toolchain
205+
make TOOLCHAIN=gnu BOARD=emsk BD_VER=22 CUR_CORE=arcem7d
206+
# for MWDT toolchain
207+
make TOOLCHAIN=mw BOARD=emsk BD_VER=22 CUR_CORE=arcem7d
208+
209+
Flashing
210+
********
211+
212+
EMSK has an on board SPI flash, but you cannot directly flash your
213+
application into EMSK through debugger. You need other tools/applications
214+
(e.g., embarc bootloader) to do this. Please refer :ref:`example_bootloader`

doc/documents/board/hsdk.rst

Lines changed: 156 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,36 +12,44 @@ source code includes bare metal and FreeRTOS device drivers and example
1212
applications. Code development is made easy using the MetaWare Development
1313
Toolkit, MetaWare Lite tools or the ARC GNU Tool Chain.
1414

15+
16+
See also this URL for details about the board: `DesignWare ARC HS Development Kit
17+
(HSDK) <https://www.synopsys.com/dw/ipdir.php?ds=arc-hs-development-kit>`_
18+
1519
.. image:: /pic/hsdk_board.jpg
1620
:alt: ARC HS Development Kit
1721

1822

1923
The ARC HS Development Kit features the following components:
2024

2125
- ARC HS SoC:
22-
- Quad Core HS38x4 Processor
23-
- DDR3 memory controller
24-
- GPU
25-
- USB, Ethernet, SDIO
26-
- DesignWare APB Peripherals (consult HSDK documentation for complete details)
26+
27+
- Quad Core HS38x4 Processor
28+
- DDR3 memory controller
29+
- GPU
30+
- USB, Ethernet, SDIO
31+
- DesignWare APB Peripherals (consult HSDK documentation for complete details)
32+
2733
- Memory / Storage:
28-
- DDR3-1333 (4 GB)
29-
- 2x SPI Flash (2 MB)
30-
- I2C EEPROM (3 KB)
34+
- DDR3-1333 (4 GB)
35+
- 2x SPI Flash (2 MB)
36+
- I2C EEPROM (3 KB)
37+
3138
- Interfaces:
32-
- USB2 (2x)
33-
- Ethernet (10/100/1000)
34-
- Audio - line in/out
35-
- USB Data port (JTAG/UART)
36-
- Micro-SD Card
37-
- WIFI/BT module
38-
- ADC (6 channels)
39-
- RTT Nexus and JTAG connectors
39+
- USB2 (2x)
40+
- Ethernet (10/100/1000)
41+
- Audio - line in/out
42+
- USB Data port (JTAG/UART)
43+
- Micro-SD Card
44+
- WIFI/BT module
45+
- ADC (6 channels)
46+
- RTT Nexus and JTAG connectors
47+
4048
- Extensions:
41-
- AXI Tunnel (32-bit, 150 MHz)
42-
- Arduino - Interface headers (UNO R3 compatible)
43-
- mikroBUS headers
44-
- Pmod Interfaces (3x), PMOD A and PMOD B (12 pins), PMOD C (6 pins)
49+
- AXI Tunnel (32-bit, 150 MHz)
50+
- Arduino - Interface headers (UNO R3 compatible)
51+
- mikroBUS headers
52+
- PMOD Interfaces (3x), PMOD A and PMOD B (12 pins), PMOD C (6 pins)
4553

4654
.. image:: /pic/hsdk_block_diagram.jpg
4755
:alt: ARC HSDK Block Diagram
@@ -88,9 +96,9 @@ The ARC HS SoC provides the following main features:
8896
- DDR3 interface
8997

9098
- max speed grade DDR-1600 (800MHz)
91-
- data width 32bit
92-
- max row address width 16bit
93-
- max bank address width 3bit
99+
- data width 32 bits
100+
- max row address width 16 bits
101+
- max bank address width 3 bits
94102
- max 2 memory ranks
95103
- max supported DDR memory size is 4GByte
96104

@@ -109,3 +117,128 @@ The ARC HS SoC provides the following main features:
109117
- SPI interfaces
110118
- PWM interfaces
111119
- JTAG interface
120+
121+
Extension Interfaces
122+
--------------------
123+
124+
To bring your application context around the ARC HSDK, the following
125+
peripheral module standards are supported:
126+
127+
* Digilent PMOD™ (3x)
128+
* MikroBUS (1x)
129+
* Arduino (1x)
130+
131+
For the details of extension interfaces, please go for the user manual/datasheet of HSDK. Users can change the interface configuration through the pinmux API in ``dev_pinmux.h``.
132+
133+
.. note:: In the examples of embARC OSP, PMOD_B is used to connected SPI devices with PMOD interface, e.g. PMOD WiFI, PMOD_A is used to connected I2C devices with PMOD interface, e.g. PMOD ADC.
134+
135+
Programming and Debugging
136+
-------------------------
137+
138+
.. _getting_started_with_hs_development_kit:
139+
140+
141+
Required Hardware and Software
142+
******************************
143+
144+
To use embARC OSP applications on the IoTDK board, the following items are required
145+
146+
* USB Cable
147+
* The universal switching power adaptor (110-240V AC to 12V DC), can be used to power the board
148+
* :ref:`software_requirement`.
149+
* (optional) A collection of PMODs and Arduino modules.
150+
151+
152+
Set up the HSDK
153+
***************
154+
155+
#. The HSDK boot switches are shown below. There are multiple configurations, such as boot mirror, boot image location, boot start mode, core selection and multi-core mode. For example, the configurations in the following picture are boot image location: 0x1 (internal ROM), boot start mode: generate cpu_start autonomously after reset, core selection: 0x0 (HS38X4_0), and multi-core mode: 0x0 (signal-core). For complete HSDK information, see the **HS Development Kit User's Guide** provided with the HSDK.
156+
157+
.. figure:: /pic/images/getting_started/hsdk_dip_settings.png
158+
:scale: 80 %
159+
160+
ARC HSDK DIP switch settings
161+
162+
#. Connect the USB cable to the HSDK mini-USB connector and to the USB port on your development host. If using the Ashling Opella-XD for ARC Debug Probe or Digilent JTAG-HS2 Probe, connect it to the right connector. Connect the power supply to the board and to the power outlet.
163+
164+
.. figure:: /pic/images/getting_started/hsdk_debug_interface.png
165+
:scale: 50 %
166+
167+
ARC HSDK debug interface
168+
169+
#. You can use any terminal emulation program to view UART output from the HSDK. The USB connection provides both the debug channel and RS232 transport. Use Tera Term in Windows as an example.
170+
171+
* Determine which COM port the HSDK is using.
172+
173+
* Open the **Windows Control Panel** and select **Device Manager** in a Windows environment.
174+
* Expand **Ports (COM and LPT)** in the list. Select **USB Serial Port (COM x)** and Note the COM port number for the ARC board.
175+
176+
* Configure serial terminal connection.
177+
178+
* Launch Tera Term. Select **Serial** in **Setup**. Choose the appropriate COM port string in **Port** and 115200 in **Baud rate**, 8 bits data, 1 stop bit, no parity (115200-8-N-1). Click **OK** to set the port configuration.
179+
* You can optionally save your settings so they can be easily retrieved.
180+
* Select **New connection** in **File** and choose the appropriate COM in **Serial**.
181+
182+
#. Test serial output with HSDK.
183+
184+
* Press the "RESET" button on the HSDK board to reset the board.
185+
* Confirm that you can see the header and self-test message printed to the console.
186+
187+
.. code-block:: console
188+
189+
********************************
190+
** Synopsys, Inc. **
191+
** ARC HS Development Kit **
192+
********************************
193+
** IC revision: Rev 1.0
194+
Bootloader revision: Jun 12 2016, 08:54:06
195+
Bootloader location: 0x1 (internal ROM)
196+
Bootloader aux: 0x9 (sg15E,4Gb,x8,2r)
197+
Bootloader speedmode: Slow
198+
Bootloader multicore: 0x0 (Single-core)
199+
200+
201+
#. (Optional) Connect the PmodWiFi and PmodRF2 to the HSDK as shown.
202+
203+
.. figure:: /pic/images/getting_started/hsdk_pmod_connection.png
204+
:scale: 80 %
205+
206+
Building
207+
********
208+
209+
Take :ref:`example_blinky` as an example
210+
211+
.. code-block:: console
212+
213+
cd embarc_osp\example\baremetal\blinky
214+
# for ARC GNU toolchain
215+
make TOOLCHAIN=gnu BOARD=hsdk
216+
# for MWDT toolchain
217+
make TOOLCHAIN=mw BOARD=hsdk
218+
219+
Running
220+
*******
221+
222+
.. code-block:: console
223+
224+
cd embarc_osp\example\baremetal\blinky
225+
# for ARC GNU toolchain
226+
make TOOLCHAIN=gnu BOARD=hsdk run
227+
# for MWDT toolchain
228+
make TOOLCHAIN=mw BOARD=hsdk run
229+
230+
Debugging
231+
*********
232+
233+
.. code-block:: console
234+
235+
cd embarc_osp\example\baremetal\blinky
236+
# for ARC GNU toolchain
237+
make TOOLCHAIN=gnu BOARD=hsdk gui
238+
# for MWDT toolchain
239+
make TOOLCHAIN=mw BOARD=hsdk gui
240+
241+
Flashing
242+
********
243+
244+
The related introduction is working in progress.

0 commit comments

Comments
 (0)