.. _xmc4700_relaxkit:
Infineon XMC4700 Relax Kit
==========================
Infineon XMC4700/4800 Relax Kit is equipped with the ARM Cortex-M4 based
XMC4700 microcontroller (MCU) from Infineon Technologies. These kits are
designed to evaluate the capabilities of the XMC4700 MCU. The Relax Kits
feature an Ethernet-enabled communication option.
.. figure:: /custom/img/xmc4700_relaxkit.jpg
:align: center
:figwidth: 70%
:alt: XMC4700 Relax Kit
*XMC4700 Relax Kit. Copyright Infineon*
Pin Mapping
***********
.. figure:: /custom/img/xmc4700_relaxkit_io.jpg
:align: center
:figwidth: 100%
:alt: XMC4700 Relax Kit Pinmap
Official reference for Infineon XMC4700 Relax Kit can be found
`here `_.
Flash Layout
************
The internal flash of the XMC4700 module is organized in a single flash area
with 16 sectors. The flash starts at address 0xC000000.
============= ============ =========================
Start address Size Content
============= ============ =========================
0xC000000 16Kb Zerynth VM
0xC004000 16Kb Zerynth VM
0xC008000 16Kb Zerynth VM
0xC00C000 16Kb Zerynth VM
0xC010000 16Kb Zerynth VM
0xC014000 16Kb Zerynth VM
0xC018000 16Kb Zerynth VM
0xC01C000 16Kb Zerynth VM
0xC020000 128Kb Bytecode Bank 0
0xC040000 256Kb Bytecode Bank 1
0xC080000 256Kb Bytecode Bank 2
0xC0C0000 256Kb Bytecode Bank 3
0xC100000 256Kb Bytecode Bank 4
0xC140000 256Kb Bytecode Bank 5
0xC180000 256Kb Bytecode Bank 6
0xC1C0000 256Kb Bytecode Bank 7
============= ============ =========================
.. note:: If flash memory must be used in a Zerynth program, it is recommended
to begin using it from secure addresses towards the end the bytecode (start
address of the bytecode can be found in the log console of Zerynth Studio
during the uplink operation), leaving a minimum safe place to minimize the
chance of clashes.
Device Summary
**************
* XMC4700-F144 Microcontroller based on ARM® Cortex®-M4 @ 144MHz, 2MB Flash and 352KB RAM
* On-Board Debugger
* Power over USB
* ESD and reverse current protection
* 2 x user button and 2 x user LED
* Arduino hardware compatible 3.3V pinout
* Real Time Clock crystal
* microSD Card Slot
* Ethernet PHY and RJ45 Jack
Power
*****
Power to the XMC4700 is supplied via one of the two on-board USB Micro B connectors.
Connect, Register, Virtualize and Program
*****************************************
The Infineon XMC4700 comes with a usb debugger chip on board that allows
programming and opening the UART of the module.
**Drivers are needed** (Linux, Mac or Windows) and can be downloaded from the official
`JLink software `_
page.
.. note:: **For Linux Platform**: to allow the access to serial ports the user needs read/write access to the serial device file. Adding the user to the group, that owns this file, gives the required read/write access:
* **Ubuntu** distribution --> dialout group
* **Arch Linux** distribution --> uucp group
Once connected on a USB port, if drivers have been correctly installed, the
XMC4700 device is recognized by Zerynth Studio. The next steps are:
* **Select** the XMC4700 on the **Device Management Toolbar** (disambiguate if necessary);
* **Register** the device by clicking the "Z" button from the Zerynth Studio;
* **Create** a Virtual Machine for the device by clicking the "Z" button for the second time;
* **Virtualize** the device by clicking the "Z" button for the third time.
.. note:: No user intervention on the device is required for registration and virtualization process
After virtualization, the DevKitC is ready to be programmed and the Zerynth scripts **uploaded**. Just **Select** the virtualized device from the "Device Management Toolbar" and **click** the dedicated "upload" button of Zerynth Studio.
.. note:: No user intervention on the device is required for the uplink process.