summaryrefslogtreecommitdiff
path: root/bsp/lpc55sxx/lpc55s69_nxp_evk/README.md
blob: 822e779a61a81573b2451d4c6581e9396d2bc2e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
# LPC55S69-EVK BSP Introduction

**English** | [中文](README_zh.md)

## 1. Introduction

The LPC55S69 is a high-performance microcontroller based on the Cortex-M33 core from NXP Semiconductors.
Includes the following hardware features:

| HARDWARE | DESCRIPTION |
| -- | -- |
|Chip model| LPC556x/LPC55S6x Full range |
|CPU| Cortex-M33 Dual Core, with FPU |
|Frequency| 150MHz |
|Basic peripherals| 8 x Flexcomm (optionally configured as USART/SPI/I2C/I2S) / 1 x 50MHz SPI / Dual USB (1 H and 1 Full, Master-Slave Support) |
|Characteristic| PowerQuad DSP coprocessor/security peripheral: PRINCE/PUF/CASPER/AES-256/HASH |

## 2. Hardware development system

![Schematic diagram of the development board](./figures/board.png)



## 3. Quickly Get Started


| ENVIRONMENT         | DESCRIPTION                                                  |
| ------------------- | ------------------------------------------------------------ |
| PC Operating System | Linux/MacOS/Windows                                          |
| Compiler            | arm-none-eabi-gcc version 6.3.1 20170620 (release)/armcc/iar |
| Build tools         | scons/mdk5/iar                                               |
| Depends             | Env tool/(MDK or IAR or arm-none-eabi-gcc)/git/debugger driver |

1) Download the source code

```bash
    git clone https://github.com/RT-Thread/rt-thread.git
```

2) Configure the project and prepare the ENV

(Linux/Mac)

```bash
    cd rt-thread/bsp/lpc55s69_evk
    scons --menuconfig
    source ~/.env/env.sh
    pkgs --upgrade
```

(Windows)

>Download the ENV toolkit [RT-Thread][1]

3) Configure the chip model

(Linux/Mac)

```bash
    scons --menuconfig
```

(Windows(use ENV))

```bash
    menuconfig
```

On the menuconfig page, configure and select the corresponding chip model, if the development environment is MDK/IAR, you need to generate the project.

4) Build Project (please skip this step under Mac/Linux)

(Windows IAR)

```bash
    SET RTT_CC=iar
    scons --target=iar -s
```

(Windows MDK5)*

```bash
    scons --target=mdk5 -s
```

*This board support package does not support projects that generate MDK4

**MDK and IAR must manually select the chip signal once in the project after the project is built, otherwise a serious compilation error will be generated.**

---

Note: Because some versions of Keil5 have issues with AC6 compiler support, it is recommended to upgrade keil to the latest version

> [Download the latest version of Keil here](https://www.keil.com/update/check.asp?P=MDK&V=5.38.0.0&S=)

Some error messages are as follows:

![](./figures/bug.png)

Or you can choose to refer to this forum post:[AC6 compiler error unsupported option '--c99' solution](https://club.rt-thread.org/ask/question/4c744e41ded5efb0.html)

---

5) Compile

To use the MDK or IAR, see the corresponding tutorial

(Windows arm-none-eabi-gcc)
Use the following command to set the GCC path

```bash
    SET RTT_EXEC_PATH=[GCC path]
```

(Linux/Mac arm-none-eabi-gcc)
Use the following command to set the GCC path

```bash
    export RTT_EXEC_PATH=[GCC path]
```

Compile(WindowsLinux/Mac arm-none-eabi-gcc)

```bash
    scons -j4
```

Or use the `scons --exec-path="GCC toolchain path"`command to compile directly while specifying the toolchain location.

The following message indicates that the compilation was successful

```bash
    LINK rtthread-lpc55s69.elf
    arm-none-eabi-objcopy -O binary rtthread-lpc55s6x.elf rtthread.bin
    arm-none-eabi-size rtthread-lpc55s69.elf
    text    data     bss     dec     hex filename
    41596     356    1456   43408    a990 rtthread-lpc55s6x.elf
    scons: done building targets.
```


If compiled correctly, the rtthread-lpc55s6x.elf, rtthread.bin file will be generated. where rtthread .bin binary firmware

## 3. Download and Execution

Programming can use emulators, ISPs, and other ways to repeat them here.

### 3.1 Running Results

If the compilation & programming is correct, you will see the RT-Thread startup logo information on the Flexcomm0 serial port*:

```bash
 \ | /
- RT -     Thread Operating System
 / | \     4.0.1 build Jul 30 2019
 2006 - 2019 Copyright by rt-thread team
uising armclang, version: 6120001
msh />
```

*Default serial port


## 4. Peripheral Condition

| **On-board Peripherals** | **Support** | **Remark**               |
| ---------- | :------: | :--------------------------: |
| UART       | yes | UART0/2                 |
| GPIO       | yes | Automatically selects the pinout based on the chip model |
| SPI        | yes | Support High Speed SPI |
| USB Device | no |           |
| USB Host   | no |       |
| Windowed WatchDog | no |                         |
| ADC | no |  |
| I2C       | yes | Can be used with MMA8562 |
| I2C Sensor | yes | Acquire onboard MMA8562 accelerometer data |
| RTC        | yes | RTC clock auto-configuration |
| SDIO       | yes | Operate the SD card  |
| I2S        | no |       |

## 6. Maintained By

* [email protected]
* [email protected]