aruaru / Mbed OS mbed-os-stm32l4-dma-uart

README.md

Committer:
aruaru
Date:
2019-04-08
Revision:
2:9d67e2b0d96b
Parent:
0:96568f3ac645
Child:
5:b14257cbe29a

File content as of revision 2:9d67e2b0d96b:

# Getting started example for Mbed OS stm32l4 dma uart

Please install [Mbed CLI](https://github.com/ARMmbed/mbed-cli#installing-mbed-cli).

## Import the example application

From the command-line, import the example:

```
mbed import http://os.mbed.com/teams/aruaru/code/mbed-os-stm32l4-dma-uart/
cd mbed-os-stm32l4-dma-uart
```

### Now compile

Invoke `mbed compile`, and specify the name of your platform and your favorite toolchain (`GCC_ARM`, `ARM`, `IAR`). For example, for the Arm Compiler:

```
mbed compile -m NUCLEO_L476RG -t GCC_ARM
```

Your PC may take a few minutes to compile your code. At the end, you see the following result:

```
[snip]

Image: ./BUILD/NUCLEO_L476RG/GCC_ARM/mbed-os-stm32l4-dma-uart.bin
```

### Program your board

1. Connect your Mbed device to the computer over USB.
1. Copy the binary file to the Mbed device.
1. Press the reset button to start the program.

The LED on your platform turns on and off. The main thread will additionally take a snapshot of the device's runtime statistics and display it over serial to your PC. The snapshot includes:

* System Information:
    * Mbed OS Version: Will currently default to 999999
    * Compiler ID
        * ARM = 1
        * GCC_ARM = 2
        * IAR = 3
    * [CPUID Register Information](#cpuid-register-information)
    * [Compiler Version](#compiler-version)
* CPU Statistics
    * Percentage of runtime that the device has spent awake versus in sleep
* Heap Statistics
    * Current heap size
    * Max heap size which refers to the largest the heap has grown to
* Thread Statistics
    * Provides information on all running threads in the OS including
        * Thread ID
        * Thread Name
        * Thread State
        * Thread Priority
        * Thread Stack Size
        * Thread Stack Space

#### Compiler Version

| Compiler | Version Layout |
| -------- | -------------- |
| ARM      | PVVbbbb (P = Major; VV = Minor; bbbb = build number) |
| GCC      | VVRRPP  (VV = Version; RR = Revision; PP = Patch)    |
| IAR      | VRRRPPP (V = Version; RRR = Revision; PPP = Patch)   |

#### CPUID Register Information

| Bit Field | Field Description | Values |
| --------- | ----------------- | ------ |
|[31:24]    | Implementer       | 0x41 = ARM |
|[23:20]    | Variant           | Major revision 0x0  =  Revision 0 |
|[19:16]    | Architecture      | 0xC  = Baseline Architecture |
|           |                   | 0xF  = Constant (Mainline Architecture) |
|[15:4]     | Part Number       | 0xC20 =  Cortex-M0 |
|           |                   | 0xC60 = Cortex-M0+ |
|           |                   | 0xC23 = Cortex-M3  |
|           |                   | 0xC24 = Cortex-M4  |
|           |                   | 0xC27 = Cortex-M7  |
|           |                   | 0xD20 = Cortex-M23 |
|           |                   | 0xD21 = Cortex-M33 |
|[3:0]      | Revision          | Minor revision: 0x1 = Patch 1 |



You can view individual examples and additional API information of the statistics collection tools at the bottom of the page in the [related links section](#related-links).


### Output
uart settings: 8n1,115200bps

```

[systemInfo] /src/main.cpp started.
[systemInfo]    BUILD:Apr  8 2019T14:04:06,
[systemInfo]    mbed-OS:5.11.5
[systemInfo]    Mbed OS Version: 51105 
[systemInfo]    CPU ID: 0x410fc241 
[systemInfo]    Compiler ID: 1 
[systemInfo]    Compiler Version: 5060750 
[systemInfo]    STM32HAL_driver Version: 0x01080200 
uartRXstart status: 0
utime:9302,cndtr:39,pos:1,6c,l
utime:9413,cndtr:38,pos:2,6b,k
utime:9573,cndtr:37,pos:3,3b,;
utime:9789,cndtr:36,pos:4,6c,l
utime:11646,cndtr:35,pos:5,3b,;
utime:12010,cndtr:34,pos:6,6c,l
utime:12074,cndtr:33,pos:7,6b,k
utime:12262,cndtr:32,pos:8,3b,;
utime:12502,cndtr:31,pos:9,6b,k
utime:12878,cndtr:30,pos:10,3b,;


```

## Troubleshooting

If you have problems, you can review the [documentation](https://os.mbed.com/docs/latest/tutorials/debugging.html) for suggestions on what could be wrong and how to fix it.

## Related Links

* [Mbed OS Stats API](https://os.mbed.com/docs/latest/apis/mbed-statistics.html)
* [Mbed OS Configuration](https://os.mbed.com/docs/latest/reference/configuration.html)
* [Mbed OS Serial Communication](https://os.mbed.com/docs/latest/tutorials/serial-communication.html)

### License and contributions

The software is provided under Apache-2.0 license. Contributions to this project are accepted under the same license. Please see contributing.md for more info.

This project contains code from other projects. The original license text is included in those source files. They must comply with our license guide.