Part 1
요약·해설
LPC55S69 상위 보드와의 기능 관계, CAN·FXOS8700·SPI/I2C 핀, PLL1 144 MHz와 flash 작업 시 96 MHz 제한, J-Link와 J1 콘솔 절차를 설명합니다.
LPC55S16 · Cortex-M33 · 150 MHz
PLL1 144 MHz · flash 96 MHz
USB FS/HS · CAN · audio · sensor
Part 2
접을 수 있는 영어 원문 전체
영어 원문 전체 펼치기
E55B1E1D80C8329B6B86B13D2213773ACFC7E066927ECCCE24A613D4FE77ADC2
.. _lpcxpresso55s16:
NXP LPCXpresso55S16
###################
Overview
********
The LPCXpresso55S16 board provides the ideal platform for evaluation
of the LPC55S1x/LPC551x MCU family, based on the Arm® Cortex®-M33
architecture. Arduino® UNO compatible shield connectors are included,
with additional expansion ports around the Arduino footprint, along
with a PMod/host interface port and MikroElektronika Click module
site.
.. image:: ../../../../../../../boards/nxp/lpcxpresso55s16/doc/lpcxpresso55S16.jpg
:align: center
:alt: LPCXpresso55S16
Hardware
********
- LPC55S16 Arm® Cortex®-M33 microcontroller running at up to 150 MHz
- 256 KB flash and 96 KB SRAM on-chip
- LPC-Link2 debug high speed USB probe with VCOM port
- I2C and SPI USB bridging to the LPC device via LPC-Link2 probe
- MikroElektronika Click expansion option
- LPCXpresso expansion connectors compatible with Arduino UNO
- PMod compatible expansion / host connector
- Reset, ISP, wake, and user buttons for easy testing of software functionality
- Tri-color LED
- Full-speed USB device / host port
- High-speed USB device / host port
- UART header for external serial to USB cable
- CAN Transceiver
- Stereo audio codec with in/out line
- NXP FXOS8700CQ accelerometer
For more information about the LPC55S16 SoC and LPCXPresso55S16 board, see:
- `LPC55S16 SoC Website`_
- `LPC55S16 Datasheet`_
- `LPC55S16 User Manual`_
- `LPCXpresso55S16 Website`_
- `LPCXpresso55S16 User Manual`_
- `LPCXpresso55S16 Development Board Design Files`_
Supported Features
==================
The lpcxpresso55s16 board configuration supports the hardware features listed
below. For additional features not yet supported, please also refer to the
:ref:`lpcxpresso55s69` , which is the superset board in NXP's LPC55xx series.
NXP prioritizes enabling the superset board with NXP's Full Platform Support for
Zephyr. Therefore, the lpcxpresso55s69 board may have additional features
already supported, which can also be re-used on this lpcxpresso55s16 board:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
| SYSTICK | on-chip | systick |
+-----------+------------+-------------------------------------+
| IOCON | on-chip | pinmux |
+-----------+------------+-------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| I2C | on-chip | i2c |
+-----------+------------+-------------------------------------+
| SPI | on-chip | spi |
+-----------+------------+-------------------------------------+
| USART | on-chip | serial port-polling; |
| | | serial port-interrupt |
+-----------+------------+-------------------------------------+
| SENSOR | off-chip | fxos8700 trigger |
+-----------+------------+-------------------------------------+
| CLOCK | on-chip | clock_control |
+-----------+------------+-------------------------------------+
| CAN | on-chip | canbus |
+-----------+------------+-------------------------------------+
| RNG | on-chip | entropy; |
| | | random |
+-----------+------------+-------------------------------------+
| IAP | on-chip | flash programming |
+-----------+------------+-------------------------------------+
Other hardware features are not currently enabled.
Currently available targets for this board are:
- *lpcxpresso55s16*
Connections and IOs
===================
The LPC55S16 SoC has IOCON registers, which can be used to configure
the functionality of a pin.
+---------+-----------------+----------------------------+
| Name | Function | Usage |
+=========+=================+============================+
| PIO0_5 | GPIO | ISP SW4 |
+---------+-----------------+----------------------------+
| PIO0_26 | SPI | SPI MOSI |
+---------+-----------------+----------------------------+
| PIO0_29 | USART | USART RX |
+---------+-----------------+----------------------------+
| PIO0_30 | USART | USART TX |
+---------+-----------------+----------------------------+
| PIO1_1 | SPI | SPI SSEL1 |
+---------+-----------------+----------------------------+
| PIO1_2 | SPI | SPI SCK |
+---------+-----------------+----------------------------+
| PIO1_3 | SPI | SPI MISO |
+---------+-----------------+----------------------------+
| PIO1_4 | GPIO | RED LED |
+---------+-----------------+----------------------------+
| PIO1_6 | GPIO | BLUE_LED |
+---------+-----------------+----------------------------+
| PIO1_7 | GPIO | GREEN LED |
+---------+-----------------+----------------------------+
| PIO1_9 | GPIO | USR SW3 |
+---------+-----------------+----------------------------+
| PIO1_18 | GPIO | Wakeup SW1 |
+---------+-----------------+----------------------------+
| PIO1_20 | I2C | I2C SCL |
+---------+-----------------+----------------------------+
| PIO1_21 | I2C | I2C SDA |
+---------+-----------------+----------------------------+
| PIO1_26 | GPIO | FXOS8700 INT1 |
+---------+-----------------+----------------------------+
| PIO1_22 | CAN | CAN RXD |
+---------+-----------------+----------------------------+
| PIO1_27 | CAN | CAN TXD |
+---------+-----------------+----------------------------+
System Clock
============
The LPC55S16 SoC is configured to use PLL1 clocked from the external 24MHz
crystal, running at 144MHz as a source for the system clock. When the flash
controller is enabled, the core clock will be reduced to 96MHz. The application
may reconfigure clocks after initialization, provided that the core clock is
always set to 96MHz when flash programming operations are performed.
Serial Port
===========
The LPC55S16 SoC has 8 FLEXCOMM interfaces for serial
communication. One is configured as USART for the console, one is
configured for I2C, and the remaining are not used.
Programming and Debugging
*************************
Build and flash applications as usual (see :ref:`build_an_application`
and :ref:`application_run` for more details).
Configuring a Debug Probe
=========================
A debug probe is used for both flashing and debugging the board. This
board is configured by default to use the LPC-Link2 CMSIS-DAP Onboard
Debug Probe, however the :ref:`pyocd-debug-host-tools` does not yet
support the LPC55S16 so you must reconfigure the board for one of the
J-Link debug probe instead.
First install the :ref:`jlink-debug-host-tools` and make sure they are
in your search path.
Then follow the instructions in
:ref:`lpclink2-jlink-onboard-debug-probe` to program the J-Link
firmware. Please make sure you have the latest firmware for this
board.
Configuring a Console
=====================
Connect a USB cable from your PC to J1 (LINK2), and use the serial
terminal of your choice (minicom, putty, etc.) with the following
settings:
- Speed: 115200
- Data: 8 bits
- Parity: None
- Stop bits: 1
Flashing
========
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: lpcxpresso55s16
:goals: flash
Open a serial terminal, reset the board (press the RESET button), and you should
see the following message in the terminal:
.. code-block:: console
***** Booting Zephyr OS v2.2.0 *****
Hello World! lpcxpresso55s16
Debugging
=========
Here is an example for the :ref:`hello_world` application.
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: lpcxpresso55s16
:goals: debug
Open a serial terminal, step through the application in your debugger, and you
should see the following message in the terminal:
.. code-block:: console
***** Booting Zephyr OS zephyr-v2.2.0 *****
Hello World! lpcxpresso55s16
.. _LPC55S16 SoC Website:
https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc5500-cortex-m33/lpc551x-s1x-baseline-arm-cortex-m33-based-microcontroller-family:LPC551X-S1X
.. _LPC55S16 Datasheet:
https://www.nxp.com/docs/en/nxp/data-sheets/LPC55S1x_LPC551x_DS.pdf
.. _LPC55S16 User Manual:
https://www.nxp.com/webapp/Download?colCode=UM11295
.. _LPCxpresso55S16 Website:
https://www.nxp.com/design/development-boards/lpcxpresso-boards/lpcxpresso55s16-development-board:LPC55S16-EVK
.. _LPCXpresso55S16 User Manual:
https://www.nxp.com/webapp/Download?colCode=UMLPCXPRESSO55S16
.. _LPCXpresso55S16 Development Board Design Files:
https://www.nxp.com/webapp/Download?colCode=LPCXPRESSSO55S16-DESIGN-FILES
Part 3
한국어 전문 번역
개요
LPCXpresso55S16 보드는 Arm Cortex-M33 아키텍처 기반 LPC55S1x/LPC551x MCU 제품군을 평가하기에 적합한 플랫폼입니다. Arduino UNO 호환 shield 커넥터와 그 주변의 추가 확장 포트, PMod/host 인터페이스 포트, MikroElektronika Click 모듈 장착부를 제공합니다.

하드웨어
- 최대 150 MHz로 동작하는 LPC55S16 Arm Cortex-M33 마이크로컨트롤러
- 온칩 256 KB flash와 96 KB SRAM
- VCOM 포트를 갖춘 LPC-Link2 고속 USB 디버그 프로브
- LPC-Link2 프로브를 통한 LPC device의 I2C·SPI USB bridge
- MikroElektronika Click 확장
- Arduino UNO 호환 LPCXpresso 확장 커넥터
- PMod 호환 확장/host 커넥터
- reset, ISP, wake, user 버튼과 3색 LED
- Full-Speed USB device/host 포트와 High-Speed USB device/host 포트
- 외부 serial-to-USB 케이블용 UART 헤더
- CAN transceiver
- 입출력 line을 갖춘 stereo audio codec
- NXP FXOS8700CQ accelerometer
자세한 내용은 아래 참고 자료의 LPC55S16 SoC 웹사이트·데이터시트·User Manual과 보드 웹사이트·User Manual·설계 파일을 참고하십시오.
지원 기능
lpcxpresso55s16 보드 구성은 아래 하드웨어 기능을 지원합니다. 아직 직접 지원하지 않는 기능은 NXP LPC55xx 계열의 상위 집합 보드인 lpcxpresso55s69 문서도 참고하십시오. NXP는 Zephyr Full Platform Support를 상위 집합 보드에서 우선 활성화하므로, LPCXpresso55S69에 이미 지원된 추가 기능을 이 보드에서도 재사용할 수 있습니다.
| 인터페이스 | 컨트롤러 | 드라이버/컴포넌트 |
|---|---|---|
NVIC | on-chip | nested vector interrupt controller |
SYSTICK | on-chip | systick |
IOCON | on-chip | pinmux |
GPIO | on-chip | gpio |
I2C | on-chip | i2c |
SPI | on-chip | spi |
USART | on-chip | serial port-polling; serial port-interrupt |
SENSOR | off-chip | fxos8700 trigger |
CLOCK | on-chip | clock_control |
CAN | on-chip | canbus |
RNG | on-chip | entropy; random |
IAP | on-chip | flash programming |
그 밖의 하드웨어 기능은 현재 활성화되어 있지 않습니다. 현재 사용할 수 있는 보드 target은 lpcxpresso55s16입니다.
연결과 I/O
LPC55S16 SoC의 IOCON 레지스터로 각 핀의 기능을 구성할 수 있습니다.
| 이름 | 기능 | 용도 |
|---|---|---|
PIO0_5 | GPIO | ISP SW4 |
PIO0_26 | SPI | SPI MOSI |
PIO0_29 | USART | USART RX |
PIO0_30 | USART | USART TX |
PIO1_1 | SPI | SPI SSEL1 |
PIO1_2 | SPI | SPI SCK |
PIO1_3 | SPI | SPI MISO |
PIO1_4 | GPIO | RED LED |
PIO1_6 | GPIO | BLUE_LED |
PIO1_7 | GPIO | GREEN LED |
PIO1_9 | GPIO | USR SW3 |
PIO1_18 | GPIO | Wakeup SW1 |
PIO1_20 | I2C | I2C SCL |
PIO1_21 | I2C | I2C SDA |
PIO1_26 | GPIO | FXOS8700 INT1 |
PIO1_22 | CAN | CAN RXD |
PIO1_27 | CAN | CAN TXD |
시스템 클록
LPC55S16 SoC는 외부 24 MHz crystal에서 clock을 받는 PLL1을 시스템 클록 소스로 사용하며 144 MHz로 동작하도록 구성됩니다. Flash controller가 활성화되면 core clock은 96 MHz로 낮아집니다. 애플리케이션은 초기화 이후 clock을 다시 구성할 수 있지만, flash programming 작업 중에는 core clock을 반드시 96 MHz로 설정해야 합니다.
직렬 포트
LPC55S16 SoC에는 직렬 통신용 FLEXCOMM 인터페이스가 8개 있습니다. 하나는 콘솔용 USART, 하나는 I2C로 구성되며 나머지는 사용하지 않습니다.
프로그래밍과 디버깅
애플리케이션은 일반적인 Zephyr 절차로 빌드하고 플래시합니다.
디버그 프로브 구성
디버그 프로브는 보드 플래시와 디버깅에 모두 사용됩니다. 이 보드는 기본적으로 LPC-Link2 CMSIS-DAP 온보드 디버그 프로브를 사용하도록 구성되어 있지만, pyOCD 디버그 호스트 도구가 LPC55S16을 아직 지원하지 않으므로 J-Link 디버그 프로브로 재구성해야 합니다.
먼저 J-Link 디버그 호스트 도구를 설치하고 실행 파일이 검색 경로에 있는지 확인합니다. 그런 다음 LPC-Link2 J-Link 온보드 디버그 프로브 안내에 따라 J-Link 펌웨어를 프로그래밍합니다. 이 보드용 최신 펌웨어를 사용해야 합니다.
콘솔 구성
PC와 J1 (LINK2) 사이를 USB 케이블로 연결하고 minicom, PuTTY 등 원하는 직렬 터미널에서 다음 설정을 사용합니다.
- 속도:
115200 - 데이터:
8 bits - 패리티:
None - 정지 비트:
1
플래시
hello_world 애플리케이션을 빌드하고 플래시하는 예는 다음과 같습니다.
west build -b lpcxpresso55s16 samples/hello_world
west flash
직렬 터미널을 열고 RESET 버튼을 눌러 보드를 reset하면 다음 메시지가 나타납니다.
***** Booting Zephyr OS v2.2.0 *****
Hello World! lpcxpresso55s16
디버깅
hello_world 애플리케이션을 빌드하고 디버깅하는 예는 다음과 같습니다.
west build -b lpcxpresso55s16 samples/hello_world
west debug
직렬 터미널을 열고 디버거에서 애플리케이션을 단계 실행하면 터미널에 다음 메시지가 나타납니다.
***** Booting Zephyr OS zephyr-v2.2.0 *****
Hello World! lpcxpresso55s16
참고 자료
Source
출처
영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.