2016-11-30 04:35:13 +00:00
|
|
|
KL27Z128/256 board
|
|
|
|
==================
|
|
|
|
2016/11/30
|
|
|
|
|
|
|
|
KL27Z is configured to use internal 48MHz RC oscillator.
|
|
|
|
|
|
|
|
The board has push button on PTA4 and LED on PTD7. The button works as 'a' key and the LED as an indicator for capslock.
|
|
|
|
|
|
|
|
|
2016-12-02 01:10:49 +00:00
|
|
|
ELF board
|
|
|
|
---------
|
2016-12-05 02:49:39 +00:00
|
|
|
This board acommodates 48QFN chip.
|
|
|
|
|
2016-12-02 01:10:49 +00:00
|
|
|
### prototypte pinout
|
|
|
|
- pcb layout https://deskthority.net/resources/image/33293
|
|
|
|
- schematic https://deskthority.net/resources/image/33252
|
|
|
|
|
|
|
|
|
|
|
|
39 ..... 44 \ conn / 1 ..... 6
|
|
|
|
38 |______| LED 7
|
|
|
|
: Rst :
|
|
|
|
: :
|
|
|
|
32 Bl 13
|
|
|
|
31 .........24 23............ 14
|
|
|
|
|
2016-12-05 02:49:39 +00:00
|
|
|
1 PTD6 12 PTC3 23 GND 34 PTE20*
|
2016-12-02 01:10:49 +00:00
|
|
|
2 PTD5 13 PTC2 24 PTA18 35 PTA20 Reset
|
|
|
|
3 PTD4 14 PTC1 25 3.3V 36 PTA3 SWD_DIO
|
2016-12-05 02:49:39 +00:00
|
|
|
4 PTD3* 15 PTC0* 26 PTA4 NMI 37 PTA0 SWD_CLK
|
|
|
|
5 PTD2* 16 PTB17* 27 PTA2 38 3.3V
|
|
|
|
6 PTD1* 17 PTB16* 28 PTA1 39 GND
|
|
|
|
7 PTD0* 18 PTB3* 29 PTE25* 40 VBUS VREGIN
|
|
|
|
8 PTC7 19 PTB2* 30 PTE24* 41 USB D-
|
2016-12-02 01:10:49 +00:00
|
|
|
9 PTC6 20 PTB1 31 PTE30 42 USB D+
|
2016-12-05 02:49:39 +00:00
|
|
|
10 PTC5 21 PTB0 32 PTE29* 43 GND
|
|
|
|
11 PTC4 22 PTA19 33 PTE21* 44 USB Shield
|
|
|
|
|
|
|
|
|
|
|
|
TMK KL27Z breakout
|
|
|
|
------------------
|
|
|
|
This board acommodates 48QFN chip.
|
|
|
|
|
|
|
|
### Pinputs
|
|
|
|
|
|
|
|
_\ conn /_
|
|
|
|
1 28
|
|
|
|
: :
|
|
|
|
: PROG :
|
|
|
|
: RST :
|
|
|
|
14 15
|
|
|
|
----------
|
|
|
|
|
|
|
|
1 VUSB 28 GND
|
|
|
|
2 VIN VREGIN 27 PTD4
|
|
|
|
3 PTD5 26 PTC7
|
|
|
|
4 PTD6 25 PTC6
|
|
|
|
5 PTD7 24 PTC5
|
|
|
|
6 PTE0* 23 PTC4
|
|
|
|
|
|
|
|
7 3.3V 22 GND
|
|
|
|
8 PTE30 21 PTC3
|
|
|
|
9 PTA0 SWD_CLK 20 PTC2
|
|
|
|
10 PTA1 19 PTC1
|
|
|
|
11 PTA2 18 PTB1
|
|
|
|
12 PTA3 SWD_DIO 17 PTB0
|
|
|
|
13 PTA4 NMI 16 PTA20 Reset
|
|
|
|
14 PTA18 15 PTA19
|
|
|
|
|
|
|
|
|
|
|
|
#### Pinouts difference between 32QFN and 48QFN
|
|
|
|
48QFN doesn't have PTE0
|
|
|
|
32QFN doesn't have PTD0-3, PTC0, PTE20-21,24,25,29, PTB2-3,16,17
|
2016-12-02 01:10:49 +00:00
|
|
|
|
|
|
|
### ROM bootloader pins
|
|
|
|
See Reference Manual Chapter 13.
|
|
|
|
|
|
|
|
PTA2 LPUART0_TX
|
|
|
|
PTA1 LPUART0_RX *
|
|
|
|
PTB0 I2C0_SCL
|
|
|
|
PTB1 I2C0_SDA
|
|
|
|
PTC4 SPI0_SS_b *
|
|
|
|
PTC7 SPI0_MISO
|
|
|
|
PTC6 SPI0_MOSI
|
|
|
|
PTC5 SPI0_SCK *
|
|
|
|
|
|
|
|
Due to errata e9457, need to pull-up `SPI0_SS_b`(or `SPI0_SCK`) to prevent false detection of SPI.
|
2016-12-05 02:49:39 +00:00
|
|
|
The errata doesn't refer UART though, `LPUART0_RX` also requires pull-up or down resisitor from experience.
|
2016-12-02 01:10:49 +00:00
|
|
|
Without resistor it easily false-detects activity on UART interface with finger touch on the pin.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-30 04:35:13 +00:00
|
|
|
Resources
|
|
|
|
---------
|
2016-12-02 01:10:49 +00:00
|
|
|
### Deskthority thread
|
|
|
|
https://deskthority.net/workshop-f7/can-we-design-the-teensy-alternative-for-keyboards-t13662-510.html
|
|
|
|
|
2016-11-30 04:35:13 +00:00
|
|
|
### Kinetis KL2x
|
|
|
|
http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/l-series-ultra-low-power-m0-plus/kinetis-kl2x-48-mhz-usb-ultra-low-power-microcontrollers-based-on-arm-cortex-m0-plus:KL2x
|
|
|
|
|
|
|
|
### KL27Z128/256 Data Sheet
|
|
|
|
http://www.nxp.com/assets/documents/data/en/data-sheets/KL27P64M48SF6.pdf
|
|
|
|
|
|
|
|
### KL27Z128/256 Reference Manual
|
|
|
|
http://www.nxp.com/assets/documents/data/en/reference-manuals/KL27P64M48SF6RM.pdf
|
|
|
|
|
|
|
|
### Errata
|
|
|
|
http://www.nxp.com/assets/documents/data/en/errata/KINETIS_L_1N71K.pdf
|
|
|
|
|
|
|
|
>>
|
|
|
|
e9457: Kinetis Flashloader/ ROM Bootloader: The peripheral auto-detect code in
|
|
|
|
bootloader can falsely detect presence of SPI host causing non-responsive
|
|
|
|
bootloader
|
|
|
|
Description: During the active peripheral detection process, the bootloader can interpret spurious data on
|
|
|
|
the SPI peripheral as valid data. The spurious data causes the bootloader to shutdown all
|
|
|
|
peripherals except the “falsely detected" SPI and enter the command phase loop using the
|
|
|
|
SPI. After the bootloader enters the command phase loop using the SPI, the other peripherals
|
|
|
|
are ignored, so the desired peripheral is no longer active.
|
|
|
|
The bootloader will not falsely detect activity on the I2C, UART, or USB interfaces, so only the
|
|
|
|
SPI interface is affected.
|
|
|
|
Workaround: Ensure that there is an external pull-up on the SPI chip-select pin or that the pin is driven high.
|
|
|
|
This will prevent the bootloader from seeing spurious data due to activity on the SPI clock pin.
|
|
|
|
|
|
|
|
### Kinetis Bootloader and blhost
|
|
|
|
http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/kinetis-symbols-footprints-and-models/kinetis-bootloader:KBOOT
|
|
|
|
|
|
|
|
|
|
|
|
Build
|
|
|
|
-----
|
|
|
|
|
|
|
|
make
|
|
|
|
|
|
|
|
|
|
|
|
Program
|
|
|
|
-------
|
|
|
|
Flash firmware with ROM bootloader.
|
|
|
|
|
|
|
|
blhost -u -- flash-image build/kl27z.hex erase
|
|
|
|
|
|
|
|
|
|
|
|
TODO
|
|
|
|
----
|
|
|
|
- Fix boards/ELF files
|
|
|
|
- add macro `USBx_CTL_RESUME` to ChibiOS-Contrib/os/common/ext/CMSIS/KINETIS/kl27zxxx.h
|