mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
123 lines
3.8 KiB
Plaintext
123 lines
3.8 KiB
Plaintext
/**
|
|
@defgroup boards_cc1312_launchpad TI CC1312 LaunchPad
|
|
@ingroup boards
|
|
@brief Texas Instruments SimpleLink(TM) CC1312 Wireless MCU LaunchPad(TM) Kit
|
|
|
|
## Overview
|
|
|
|
The [LAUNCHXL-CC1312R1](http://www.ti.com/tool/LAUNCHXL-CC1312R1) is a Texas
|
|
Instrument's development kit for the CC1312R1 SoC MCU which combines a
|
|
Cortex-M4F microcontroller alongside a dedicated Cortex-M0 to control radio.
|
|
|
|
## Hardware
|
|
|
|
![LAUNCHXL-CC1312R1](http://www.ti.com/diagrams/launchxl-cc1312r1_cc1312r1-top-prof1.jpg)
|
|
|
|
| MCU | CC1312R1 |
|
|
|:----------------- |:--------------------- |
|
|
| Family | ARM Cortex-M4F |
|
|
| Vendor | Texas Instruments |
|
|
| RAM | 80KiB |
|
|
| Flash | 352KiB |
|
|
| Frequency | 48MHz |
|
|
| FPU | yes |
|
|
| Timers | 4 |
|
|
| ADCs | 1x 12-bit (channels) |
|
|
| UARTs | 2 |
|
|
| SPIs | 2 |
|
|
| I2Cs | 1 |
|
|
| Vcc | 1.8V - 3.8V |
|
|
| Datasheet | [Datasheet](http://www.ti.com/lit/ds/symlink/cc1312r.pdf) (pdf file) |
|
|
| Reference Manual | [Reference Manual](http://www.ti.com/lit/ug/swcu185d/swcu185d.pdf) |
|
|
|
|
## Board pinout
|
|
|
|
The [CC1312R Quick Start Guide](http://www.ti.com/lit/ml/swru535c/swru535c.pdf)
|
|
provides the default pinout for the board.
|
|
|
|
## Flashing and Debugging
|
|
|
|
The LAUNCHXL-CC1312R1 comes with an XDS110 on-board debug probe that provides
|
|
programming, flashing and debugging capabilities.
|
|
|
|
### Using TI tools
|
|
|
|
#### Installing CCS and Uniflash
|
|
|
|
The TI's Code Composer Studio provides the necessary tools to use the debug
|
|
features of the XDS110; Uniflash provides flashing tools. Both programs can
|
|
be found here:
|
|
|
|
- [Code Composer Studio (CCS) Integrated Development Environment (IDE)](http://www.ti.com/tool/CCSTUDIO).
|
|
- [Uniflash Standalone Flash Tool for TI Microcontrollers (MCU), Sitara Processors & SimpleLink devices](http://www.ti.com/tool/UNIFLASH).
|
|
|
|
Before using the XDS110 with the latest CCS/Uniflash versions the firmware for
|
|
it needs to be updated. Texas Instruments has a guide to correctly update it
|
|
[here](http://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds110.html#updating-the-xds110-firmware).
|
|
|
|
#### Setting up the environment
|
|
|
|
In order to make use of the programming and debugging capabilities of the XDS110
|
|
some environment variable needs to be set:
|
|
|
|
```
|
|
export CCS_PATH=<path to ti install folder>/ti/ccs930
|
|
export UNIFLASH_PATH<path to ti install folder>/ti/uniflash_5.2.0
|
|
```
|
|
|
|
That assumes you have CCS 9.3.0 (for the path name) and Uniflash 5.2.0, adjust
|
|
accordingly.
|
|
|
|
After that you can flash using the RIOT `make flash` command on your application
|
|
or to debug you first start the debug server:
|
|
|
|
```
|
|
make debug-server
|
|
```
|
|
|
|
And then on another terminal you can run:
|
|
|
|
```
|
|
make debug
|
|
```
|
|
|
|
It will open GDB and connect to the debug server automatically.
|
|
|
|
#### Reset
|
|
|
|
The LAUNCHXL-CC1312R1 provides a reset button but it can also be reset from
|
|
a computer using the `make reset` command.
|
|
|
|
### Using OpenOCD
|
|
|
|
To use OpenOCD with the XDS110 you need to use the an special version of
|
|
OpenOCD made by TI (upstream version is not _yet_ compatible). You can
|
|
clone and compile it from source:
|
|
|
|
```
|
|
# Clone into the openocd-ti folder
|
|
git clone https://git.ti.com/cgit/sdo-emu/openocd openocd-ti
|
|
|
|
# Change directory to the openocd source code
|
|
cd openocd-ti/openocd
|
|
|
|
# Configure, build, install
|
|
./configure
|
|
make
|
|
sudo make install
|
|
```
|
|
|
|
#### Setting up the environment
|
|
|
|
Now that we have the TI version of OpenOCD we need to export the `PROGRAMMER`
|
|
environment variable, this is to enable OpenOCD instead of Uniflash.
|
|
|
|
```
|
|
export PROGRAMMER=openocd
|
|
```
|
|
|
|
Now we can just do `make debug-server` and then `make debug`, this all using
|
|
OpenOCD.
|
|
|
|
*/
|