APS Lab
/
COG_UART_Base
Uart with ADXL362
My Memo's for EV-COG-AD4050LZ Pinname
<<CODE>> #define GPIO_PORT_SHIFT 12 typedef enum { P0_00 = (0 << GPIO_PORT_SHIFT | 0 ), P0_01 = (0 << GPIO_PORT_SHIFT | 1 ), P0_02 = (0 << GPIO_PORT_SHIFT | 2 ), P0_03 = (0 << GPIO_PORT_SHIFT | 3 ), P0_04 = (0 << GPIO_PORT_SHIFT | 4 ), P0_05 = (0 << GPIO_PORT_SHIFT | 5 ), P0_06 = (0 << GPIO_PORT_SHIFT | 6 ), P0_07 = (0 << GPIO_PORT_SHIFT | 7 ), P0_08 = (0 << GPIO_PORT_SHIFT | 8 ), P0_09 = (0 << GPIO_PORT_SHIFT | 9 ), P0_10 = (0 << GPIO_PORT_SHIFT | 10), P0_11 = (0 << GPIO_PORT_SHIFT | 11), P0_12 = (0 << GPIO_PORT_SHIFT | 12), P0_13 = (0 << GPIO_PORT_SHIFT | 13), P0_14 = (0 << GPIO_PORT_SHIFT | 14), P0_15 = (0 << GPIO_PORT_SHIFT | 15), P1_00 = (1 << GPIO_PORT_SHIFT | 0 ), P1_01 = (1 << GPIO_PORT_SHIFT | 1 ), P1_02 = (1 << GPIO_PORT_SHIFT | 2 ), P1_03 = (1 << GPIO_PORT_SHIFT | 3 ), P1_04 = (1 << GPIO_PORT_SHIFT | 4 ), P1_05 = (1 << GPIO_PORT_SHIFT | 5 ), P1_06 = (1 << GPIO_PORT_SHIFT | 6 ), P1_07 = (1 << GPIO_PORT_SHIFT | 7 ), P1_08 = (1 << GPIO_PORT_SHIFT | 8 ), P1_09 = (1 << GPIO_PORT_SHIFT | 9 ), P1_10 = (1 << GPIO_PORT_SHIFT | 10), P1_11 = (1 << GPIO_PORT_SHIFT | 11), P1_12 = (1 << GPIO_PORT_SHIFT | 12), P1_13 = (1 << GPIO_PORT_SHIFT | 13), P1_14 = (1 << GPIO_PORT_SHIFT | 14), P1_15 = (1 << GPIO_PORT_SHIFT | 15), P2_00 = (2 << GPIO_PORT_SHIFT | 0 ), P2_01 = (2 << GPIO_PORT_SHIFT | 1 ), P2_02 = (2 << GPIO_PORT_SHIFT | 2 ), P2_03 = (2 << GPIO_PORT_SHIFT | 3 ), P2_04 = (2 << GPIO_PORT_SHIFT | 4 ), P2_05 = (2 << GPIO_PORT_SHIFT | 5 ), P2_06 = (2 << GPIO_PORT_SHIFT | 6 ), P2_07 = (2 << GPIO_PORT_SHIFT | 7 ), P2_08 = (2 << GPIO_PORT_SHIFT | 8 ), P2_09 = (2 << GPIO_PORT_SHIFT | 9 ), P2_10 = (2 << GPIO_PORT_SHIFT | 10), P2_11 = (2 << GPIO_PORT_SHIFT | 11), // USB Pins USBTX = P0_10, USBRX = P0_11, USBTX1 = P1_15, USBRX1 = P2_00, // mbed original LED naming LED1 = P2_02, LED2 = P2_10, LED3 = LED2, LED4 = LED1, //Push buttons PB0 = P1_00, // BTN1 PB1 = P0_09, // BTN2 BUTTON1 = P1_00, // BTN1 BUTTON2 = P0_09, // BTN2 BOOT = P1_01, WAKE0 = P0_15, // JP15 to select WAKE1 = P1_00, // JP8 (BTN1 jumper) to select WAKE2 = P0_13, // JP4 to select WAKE3 = P2_01, // JP15 to select // SPI Pins SPI0_SCLK = P0_00, SPI0_MOSI = P0_01, SPI0_MISO = P0_02, SPI0_CS0 = P0_03, SPI0_CS1 = P1_10, SPI0_CS2 = P2_08, SPI0_CS3 = P2_09, SPI1_SCLK = P1_06, SPI1_MOSI = P1_07, SPI1_MISO = P1_08, SPI1_CS0 = P1_09, SPI1_CS1 = P2_11, SPI1_CS2 = P2_02, SPI1_CS3 = P1_10, SPI2_SCLK = P1_02, SPI2_MOSI = P1_03, SPI2_MISO = P1_04, SPI2_CS0 = P1_05, SPI2_CS1 = P0_09, SPI2_CS2 = P2_10, SPI2_CS3 = P2_07, // ADC Pins ADC_VIN0 = P2_03, ADC_VIN1 = P2_04, ADC_VIN2 = P2_05, ADC_VIN3 = P2_06, ADC_VIN4 = P2_07, ADC_VIN5 = P2_08, ADC_VIN6 = P2_09, ADC_VIN7 = P2_10, // Arduino Headers D0 = P0_10, // UART0_TXD D1 = P0_11, // UART0_RXD D2 = P0_15, // INT_WAKE0 D3 = P0_13, // EXT_INT_WAKE2 D4 = P0_09, // EXT_SPI2_CS1 D5 = P2_01, // INT_WAKE3 or EXT_RTC1_SS1 via JP8 D6 = P1_11, // GPIO_27 D7 = P0_12, // GPIO_08 or GPIO_12 via JP7 D8 = P1_12, // GPIO_28 D9 = P1_14, // GPIO_30 D10 = SPI0_CS2, // P2_08 D11 = SPI0_MOSI, // P0_01 D12 = SPI0_MISO, // P0_02 D13 = SPI0_SCLK, // P0_00 I2C_SCL = P0_04, // I2C_SCL I2C_SDA = P0_05, // I2C_SDA A0 = P2_03, // ADC0 A1 = P2_04, // EXT_ADC1 A2 = P2_05, // EXT_ADC2 A3 = P2_06, // ADC3 A4 = P2_07, // SPI2_CS3 A5 = P2_10, // EXT_GPIO42 // Not connected NC = (int)0xFFFFFFFF } PinName; <</CODE>>
README.md@0:5868fc6c16b3, 2019-01-11 (annotated)
- Committer:
- APS_Lab
- Date:
- Fri Jan 11 07:06:37 2019 +0000
- Revision:
- 0:5868fc6c16b3
First update
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
APS_Lab | 0:5868fc6c16b3 | 1 | # Getting started example for Mbed OS |
APS_Lab | 0:5868fc6c16b3 | 2 | |
APS_Lab | 0:5868fc6c16b3 | 3 | This guide reviews the steps required to get Blinky with the addition of dynamic OS statistics working on an Mbed OS platform. |
APS_Lab | 0:5868fc6c16b3 | 4 | |
APS_Lab | 0:5868fc6c16b3 | 5 | Please install [mbed CLI](https://github.com/ARMmbed/mbed-cli#installing-mbed-cli). |
APS_Lab | 0:5868fc6c16b3 | 6 | |
APS_Lab | 0:5868fc6c16b3 | 7 | ## Import the example application |
APS_Lab | 0:5868fc6c16b3 | 8 | |
APS_Lab | 0:5868fc6c16b3 | 9 | From the command-line, import the example: |
APS_Lab | 0:5868fc6c16b3 | 10 | |
APS_Lab | 0:5868fc6c16b3 | 11 | ``` |
APS_Lab | 0:5868fc6c16b3 | 12 | mbed import mbed-os-example-blinky |
APS_Lab | 0:5868fc6c16b3 | 13 | cd mbed-os-example-blinky |
APS_Lab | 0:5868fc6c16b3 | 14 | ``` |
APS_Lab | 0:5868fc6c16b3 | 15 | |
APS_Lab | 0:5868fc6c16b3 | 16 | ### Now compile |
APS_Lab | 0:5868fc6c16b3 | 17 | |
APS_Lab | 0:5868fc6c16b3 | 18 | Invoke `mbed compile`, and specify the name of your platform and your favorite toolchain (`GCC_ARM`, `ARM`, `IAR`). For example, for the ARM Compiler 5: |
APS_Lab | 0:5868fc6c16b3 | 19 | |
APS_Lab | 0:5868fc6c16b3 | 20 | ``` |
APS_Lab | 0:5868fc6c16b3 | 21 | mbed compile -m K64F -t ARM |
APS_Lab | 0:5868fc6c16b3 | 22 | ``` |
APS_Lab | 0:5868fc6c16b3 | 23 | |
APS_Lab | 0:5868fc6c16b3 | 24 | Your PC may take a few minutes to compile your code. At the end, you see the following result: |
APS_Lab | 0:5868fc6c16b3 | 25 | |
APS_Lab | 0:5868fc6c16b3 | 26 | ``` |
APS_Lab | 0:5868fc6c16b3 | 27 | [snip] |
APS_Lab | 0:5868fc6c16b3 | 28 | +----------------------------+-------+-------+------+ |
APS_Lab | 0:5868fc6c16b3 | 29 | | Module | .text | .data | .bss | |
APS_Lab | 0:5868fc6c16b3 | 30 | |--------------------|-----------|----------|----------| |
APS_Lab | 0:5868fc6c16b3 | 31 | | [fill] | 98(+0) | 0(+0) | 2211(+0) | |
APS_Lab | 0:5868fc6c16b3 | 32 | | [lib]/c.a | 27835(+0) | 2472(+0) | 89(+0) | |
APS_Lab | 0:5868fc6c16b3 | 33 | | [lib]/gcc.a | 3168(+0) | 0(+0) | 0(+0) | |
APS_Lab | 0:5868fc6c16b3 | 34 | | [lib]/misc | 248(+0) | 8(+0) | 28(+0) | |
APS_Lab | 0:5868fc6c16b3 | 35 | | [lib]/nosys.a | 32(+0) | 0(+0) | 0(+0) | |
APS_Lab | 0:5868fc6c16b3 | 36 | | main.o | 924(+0) | 0(+0) | 12(+0) | |
APS_Lab | 0:5868fc6c16b3 | 37 | | mbed-os/components | 134(+0) | 0(+0) | 0(+0) | |
APS_Lab | 0:5868fc6c16b3 | 38 | | mbed-os/drivers | 56(+0) | 0(+0) | 0(+0) | |
APS_Lab | 0:5868fc6c16b3 | 39 | | mbed-os/features | 42(+0) | 0(+0) | 184(+0) | |
APS_Lab | 0:5868fc6c16b3 | 40 | | mbed-os/hal | 2087(+0) | 8(+0) | 152(+0) | |
APS_Lab | 0:5868fc6c16b3 | 41 | | mbed-os/platform | 3633(+0) | 260(+0) | 209(+0) | |
APS_Lab | 0:5868fc6c16b3 | 42 | | mbed-os/rtos | 9370(+0) | 168(+0) | 6053(+0) | |
APS_Lab | 0:5868fc6c16b3 | 43 | | mbed-os/targets | 9536(+0) | 12(+0) | 382(+0) | |
APS_Lab | 0:5868fc6c16b3 | 44 | | Subtotals | 57163(+0) | 2928(+0) | 9320(+0) | |
APS_Lab | 0:5868fc6c16b3 | 45 | Total Static RAM memory (data + bss): 12248(+0) bytes |
APS_Lab | 0:5868fc6c16b3 | 46 | Total Flash memory (text + data): 60091(+0) bytes |
APS_Lab | 0:5868fc6c16b3 | 47 | |
APS_Lab | 0:5868fc6c16b3 | 48 | Image: ./BUILD/K64F/GCC_ARM/mbed-os-example-blinky.bin |
APS_Lab | 0:5868fc6c16b3 | 49 | ``` |
APS_Lab | 0:5868fc6c16b3 | 50 | |
APS_Lab | 0:5868fc6c16b3 | 51 | ### Program your board |
APS_Lab | 0:5868fc6c16b3 | 52 | |
APS_Lab | 0:5868fc6c16b3 | 53 | 1. Connect your mbed device to the computer over USB. |
APS_Lab | 0:5868fc6c16b3 | 54 | 1. Copy the binary file to the mbed device. |
APS_Lab | 0:5868fc6c16b3 | 55 | 1. Press the reset button to start the program. |
APS_Lab | 0:5868fc6c16b3 | 56 | |
APS_Lab | 0:5868fc6c16b3 | 57 | 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: |
APS_Lab | 0:5868fc6c16b3 | 58 | |
APS_Lab | 0:5868fc6c16b3 | 59 | * System Information: |
APS_Lab | 0:5868fc6c16b3 | 60 | * Mbed OS Version: Will currently default to 999999 |
APS_Lab | 0:5868fc6c16b3 | 61 | * Compiler ID |
APS_Lab | 0:5868fc6c16b3 | 62 | * ARM = 1 |
APS_Lab | 0:5868fc6c16b3 | 63 | * GCC_ARM = 2 |
APS_Lab | 0:5868fc6c16b3 | 64 | * IAR = 3 |
APS_Lab | 0:5868fc6c16b3 | 65 | * [CPUID Register Information](#cpuid-register-information) |
APS_Lab | 0:5868fc6c16b3 | 66 | * [Compiler Version](#compiler-version) |
APS_Lab | 0:5868fc6c16b3 | 67 | * CPU Statistics |
APS_Lab | 0:5868fc6c16b3 | 68 | * Percentage of runtime that the device has spent awake versus in sleep |
APS_Lab | 0:5868fc6c16b3 | 69 | * Heap Statistics |
APS_Lab | 0:5868fc6c16b3 | 70 | * Current heap size |
APS_Lab | 0:5868fc6c16b3 | 71 | * Max heap size which refers to the largest the heap has grown to |
APS_Lab | 0:5868fc6c16b3 | 72 | * Thread Statistics |
APS_Lab | 0:5868fc6c16b3 | 73 | * Provides information on all running threads in the OS including |
APS_Lab | 0:5868fc6c16b3 | 74 | * Thread ID |
APS_Lab | 0:5868fc6c16b3 | 75 | * Thread Name |
APS_Lab | 0:5868fc6c16b3 | 76 | * Thread State |
APS_Lab | 0:5868fc6c16b3 | 77 | * Thread Priority |
APS_Lab | 0:5868fc6c16b3 | 78 | * Thread Stack Size |
APS_Lab | 0:5868fc6c16b3 | 79 | * Thread Stack Space |
APS_Lab | 0:5868fc6c16b3 | 80 | |
APS_Lab | 0:5868fc6c16b3 | 81 | #### Compiler Version |
APS_Lab | 0:5868fc6c16b3 | 82 | |
APS_Lab | 0:5868fc6c16b3 | 83 | | Compiler | Version Layout | |
APS_Lab | 0:5868fc6c16b3 | 84 | | -------- | -------------- | |
APS_Lab | 0:5868fc6c16b3 | 85 | | ARM | PVVbbbb (P = Major; VV = Minor; bbbb = build number) | |
APS_Lab | 0:5868fc6c16b3 | 86 | | GCC | VVRRPP (VV = Version; RR = Revision; PP = Patch) | |
APS_Lab | 0:5868fc6c16b3 | 87 | | IAR | VRRRPPP (V = Version; RRR = Revision; PPP = Patch) | |
APS_Lab | 0:5868fc6c16b3 | 88 | |
APS_Lab | 0:5868fc6c16b3 | 89 | #### CPUID Register Information |
APS_Lab | 0:5868fc6c16b3 | 90 | |
APS_Lab | 0:5868fc6c16b3 | 91 | | Bit Field | Field Description | Values | |
APS_Lab | 0:5868fc6c16b3 | 92 | | --------- | ----------------- | ------ | |
APS_Lab | 0:5868fc6c16b3 | 93 | |[31:24] | Implementer | 0x41 = ARM | |
APS_Lab | 0:5868fc6c16b3 | 94 | |[23:20] | Variant | Major revision 0x0 = Revision 0 | |
APS_Lab | 0:5868fc6c16b3 | 95 | |[19:16] | Architecture | 0xC = Baseline Architecture | |
APS_Lab | 0:5868fc6c16b3 | 96 | | | | 0xF = Constant (Mainline Architecture) | |
APS_Lab | 0:5868fc6c16b3 | 97 | |[15:4] | Part Number | 0xC20 = Cortex-M0 | |
APS_Lab | 0:5868fc6c16b3 | 98 | | | | 0xC60 = Cortex-M0+ | |
APS_Lab | 0:5868fc6c16b3 | 99 | | | | 0xC23 = Cortex-M3 | |
APS_Lab | 0:5868fc6c16b3 | 100 | | | | 0xC24 = Cortex-M4 | |
APS_Lab | 0:5868fc6c16b3 | 101 | | | | 0xC27 = Cortex-M7 | |
APS_Lab | 0:5868fc6c16b3 | 102 | | | | 0xD20 = Cortex-M23 | |
APS_Lab | 0:5868fc6c16b3 | 103 | | | | 0xD21 = Cortex-M33 | |
APS_Lab | 0:5868fc6c16b3 | 104 | |[3:0] | Revision | Minor revision: 0x1 = Patch 1 | |
APS_Lab | 0:5868fc6c16b3 | 105 | |
APS_Lab | 0:5868fc6c16b3 | 106 | |
APS_Lab | 0:5868fc6c16b3 | 107 | |
APS_Lab | 0:5868fc6c16b3 | 108 | 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). |
APS_Lab | 0:5868fc6c16b3 | 109 | |
APS_Lab | 0:5868fc6c16b3 | 110 | |
APS_Lab | 0:5868fc6c16b3 | 111 | ### Output |
APS_Lab | 0:5868fc6c16b3 | 112 | |
APS_Lab | 0:5868fc6c16b3 | 113 | To view the serial output you can use any terminal client of your choosing such as [PuTTY](http://www.putty.org/) or [CoolTerm](http://freeware.the-meiers.org/). |
APS_Lab | 0:5868fc6c16b3 | 114 | |
APS_Lab | 0:5868fc6c16b3 | 115 | The default baud rate for this application is set to `115200` and may be modified in the `mbed_app.json` file. |
APS_Lab | 0:5868fc6c16b3 | 116 | |
APS_Lab | 0:5868fc6c16b3 | 117 | You can find more information on the Mbed OS configuration tools and serial communication in Mbed OS in the related [related links section](#related-links). |
APS_Lab | 0:5868fc6c16b3 | 118 | |
APS_Lab | 0:5868fc6c16b3 | 119 | The output should contain the following block transmitted at the blinking LED frequency (actual values may vary depending on your target, build profile, and toolchain): |
APS_Lab | 0:5868fc6c16b3 | 120 | |
APS_Lab | 0:5868fc6c16b3 | 121 | ``` |
APS_Lab | 0:5868fc6c16b3 | 122 | =============================== SYSTEM INFO ================================ |
APS_Lab | 0:5868fc6c16b3 | 123 | Mbed OS Version: 999999 |
APS_Lab | 0:5868fc6c16b3 | 124 | CPU ID: 0x410fc241 |
APS_Lab | 0:5868fc6c16b3 | 125 | Compiler ID: 2 |
APS_Lab | 0:5868fc6c16b3 | 126 | Compiler Version: 60300 |
APS_Lab | 0:5868fc6c16b3 | 127 | ================= CPU STATS ================= |
APS_Lab | 0:5868fc6c16b3 | 128 | Idle: 98% Usage: 2% |
APS_Lab | 0:5868fc6c16b3 | 129 | ================ HEAP STATS ================= |
APS_Lab | 0:5868fc6c16b3 | 130 | Current heap: 1096 |
APS_Lab | 0:5868fc6c16b3 | 131 | Max heap size: 1096 |
APS_Lab | 0:5868fc6c16b3 | 132 | ================ THREAD STATS =============== |
APS_Lab | 0:5868fc6c16b3 | 133 | ID: 0x20001eac |
APS_Lab | 0:5868fc6c16b3 | 134 | Name: main_thread |
APS_Lab | 0:5868fc6c16b3 | 135 | State: 2 |
APS_Lab | 0:5868fc6c16b3 | 136 | Priority: 24 |
APS_Lab | 0:5868fc6c16b3 | 137 | Stack Size: 4096 |
APS_Lab | 0:5868fc6c16b3 | 138 | Stack Space: 3296 |
APS_Lab | 0:5868fc6c16b3 | 139 | |
APS_Lab | 0:5868fc6c16b3 | 140 | ID: 0x20000f5c |
APS_Lab | 0:5868fc6c16b3 | 141 | Name: idle_thread |
APS_Lab | 0:5868fc6c16b3 | 142 | State: 1 |
APS_Lab | 0:5868fc6c16b3 | 143 | Priority: 1 |
APS_Lab | 0:5868fc6c16b3 | 144 | Stack Size: 512 |
APS_Lab | 0:5868fc6c16b3 | 145 | Stack Space: 352 |
APS_Lab | 0:5868fc6c16b3 | 146 | |
APS_Lab | 0:5868fc6c16b3 | 147 | ID: 0x20000f18 |
APS_Lab | 0:5868fc6c16b3 | 148 | Name: timer_thread |
APS_Lab | 0:5868fc6c16b3 | 149 | State: 3 |
APS_Lab | 0:5868fc6c16b3 | 150 | Priority: 40 |
APS_Lab | 0:5868fc6c16b3 | 151 | Stack Size: 768 |
APS_Lab | 0:5868fc6c16b3 | 152 | Stack Space: 664 |
APS_Lab | 0:5868fc6c16b3 | 153 | |
APS_Lab | 0:5868fc6c16b3 | 154 | ``` |
APS_Lab | 0:5868fc6c16b3 | 155 | |
APS_Lab | 0:5868fc6c16b3 | 156 | ## Troubleshooting |
APS_Lab | 0:5868fc6c16b3 | 157 | |
APS_Lab | 0:5868fc6c16b3 | 158 | 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. |
APS_Lab | 0:5868fc6c16b3 | 159 | |
APS_Lab | 0:5868fc6c16b3 | 160 | ## Related Links |
APS_Lab | 0:5868fc6c16b3 | 161 | |
APS_Lab | 0:5868fc6c16b3 | 162 | * [Mbed OS Stats API](https://os.mbed.com/docs/latest/apis/mbed-statistics.html) |
APS_Lab | 0:5868fc6c16b3 | 163 | * [Mbed OS Configuration](https://os.mbed.com/docs/latest/reference/configuration.html) |
APS_Lab | 0:5868fc6c16b3 | 164 | * [Mbed OS Serial Communication](https://os.mbed.com/docs/latest/tutorials/serial-communication.html) |
APS_Lab | 0:5868fc6c16b3 | 165 | |
APS_Lab | 0:5868fc6c16b3 | 166 | ### License and contributions |
APS_Lab | 0:5868fc6c16b3 | 167 | |
APS_Lab | 0:5868fc6c16b3 | 168 | 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. |
APS_Lab | 0:5868fc6c16b3 | 169 | |
APS_Lab | 0:5868fc6c16b3 | 170 | This project contains code from other projects. The original license text is included in those source files. They must comply with our license guide. |