8c81b97148
configs/freedom-k28f: Add button and LED support. arch/arm/src/kinetis: Fix a couple of additional compile problems. arch/arm/src/kinetis/chip and configs/freedom-k28f: Add things needed for a successful build. Still need board LED definitions. |
||
---|---|---|
.. | ||
include | ||
nsh | ||
scripts | ||
src | ||
Kconfig | ||
README.txt |
README ====== This port is for the FRDM-K28F development board that features the MK28FN2M0VMI15 MCU. The features of the FRDM-K28F board are: o Kinetis MK28FN2M0VMI15 MCU (ARM Cortex-M4 at150 MHz, 1 MB SRAM, 2 MB flash, HS and FS USB, 169 MAPBGA package). o Kinetis K20 MCU (K20DX128VFM5) based OpenSDA circuit. o Dual-role high-speed and full-speed USB interface with the micro-B USB connector via the high-speed switch. o One 256 Mbit (32 MB) on-board QuadSPI memory at 1.8 V. o One 128 Mbit (16 MB) on-board mobile SDRAM memory at 3.3 V. o Multiple independent voltage domains: VDD_CORE, VDD, VBAT, and VDDIO_E. o FlexIO socket which enables you to connect an optional TFT Proto 5" CAPACITIVE from MikroElektronika (5" display board with capacitive touch). o Easy access to the MCU input/output through Arduino R3-compatible I/O connectors to connect external add-on boards. o Flexible power supply option—OpenSDA v2.2 USB, Kinetis K28 USB, or an external source. o FXOS8700CQ—6-axis sensor with accelerometer and magnetometer. o RGB LED. o Two mechanical push-buttons for user input and one for the reset. o Programmable OpenSDA v2.2 debug circuit supporting the DAP-Link interface software which provides: - Mass-Storage Device (MSD) flash programming interface. - CMSIS-DAP debug interface over a driverless USB HID connection providing run-control debugging and compatibility with the IDE tools. - Virtual serial port interface. - Open-source CMSIS-DAP software project. Contents ======== o Serial Console o LEDs and Buttons o Configurations Serial Console ============== ----- --------------- ------------------------------- GPIO LPUART FUNCTION BOARD CONFIGURATION ----- --------------- ------------------------------- PTA1 LPUART0_RX PTA1 GPIO0 PTA15 LPUART0_RX PTA15 FXIO0_D21 PTB14 LPUART0_RX PTB14 PTB16 LPUART0_RX PTB16 SDRAM_D17 PTC25 LPUART0_RX PTC25 LPUART0_RX_TGTMCU PTD6 LPUART0_RX PTD6 Arduino_D17_ADC0_SE7b PTA2 LPUART0_TX PTA2 INT PTA14 LPUART0_TX PTA14 FXIO0_D20 PTB15 LPUART0_TX N/C PTB17 LPUART0_TX PTB17 SDRAM_D16 PTC24 LPUART0_TX PTC24 LPUART0_TX_TGTMCU PTD7 LPUART0_TX PTD7 SDRAM_CKE PTA3 LPUART0_RTS PTA3 PTA17 LPUART0_RTS PTA17 FXIO0_D23 PTB2 LPUART0_RTS PTB2 Arduino_D19_ADC0_SE12/I2C0_SCL/SDRAM_WE PTB12 LPUART0_RTS PTB12 Arduino_D5_FTM1_CH0/FTM0_CH4 PTC27 LPUART0_RTS PTC27 FXOS8700CQ_RESET PTD4 LPUART0_RTS PTD4 SDRAM_A10 PTA0 LPUART0_CTS PTA0 K28F_SWD_CLK PTA16 LPUART0_CTS PTA16 FXIO0_D22 PTB3 LPUART0_CTS PTB3 Arduino_D18_ADC0_SE13/I2C0_SDA/SDRAM_CS0 PTB13 LPUART0_CTS PTB13 Arduino_D6_FTM1_CH1/FTM0_CH5 PTC26 LPUART0_CTS PTC26 FXOS8700CQ_INT PTD5 LPUART0_CTS PTD5 SDRAM_A9 ----- --------------- ------------------------------- PTD8 LPUART1_RX PTD8 FXIO0_D24 PTC3 LPUART1_RX PTC3 CLKOUT PTE1 LPUART1_RX PTE1 QSPIA0_SCLK PTC4 LPUART1_TX PTC4 SDRAM_A19 PTD9 LPUART1_TX PTD9 FXIO0_D25 PTE0 LPUART1_TX PTE0 QSPIA0_DATA3 PTD10 LPUART1_RTS PTD10 FXIO0_D26 PTC1 LPUART1_RTS PTC1 SDRAM_A21 PTE3 LPUART1_RTS PTE3 QSPIA0_DATA2 PTC2 LPUART1_CTS PTC1 SDRAM_A21 PTD11 LPUART1_CTS PTD11 FXIO0_D27 PTE2 LPUART1_CTS PTE2 QSPIA0_DATA0 ----- --------------- ------------------------------- PTA25 LPUART2_RX PTA25 SDHC0_D0/Arduino_D0_LPUART2_RX PTD2 LPUART2_RX PTD2 SDRAM_A12 PTE13 LPUART2_RX N/C PTE17 LPUART2_RX N/C PTA24 LPUART2_TX PTA24 SDHC0_D1/Arduino_D1_LPUART2_TX PTD3 LPUART2_TX PTD3 SDRAM_A11 PTE12 LPUART2_TX PTE12 I2S0_TX_BCLK PTE16 LPUART2_TX N/C PTD0 LPUART2_RTS PTD0 Button_LLWU_P12 PTA27 LPUART2_RTS PTA27 SDHC0_CMD PTE19 LPUART2_RTS N/C PTA26 LPUART2_CTS PTA26 SDHC0_DCLK PTD1 LPUART2_CTS PTD1 Arduino_D16_ADC0_SE5b PTE18 LPUART2_CTS N/C ----- --------------- ------------------------------- PTA29 LPUART3_RX PTA29 SDHC0_D2 PTB10 LPUART3_RX PTB10 SDRAM_D19 PTC16 LPUART3_RX PTC16 SDRAM_DQM2 PTE5 LPUART3_RX PTE5 QSPIA0_SS0/USB0_SOF_OUT PTA28 LPUART3_TX PTA28 SDHC0_D3 PTB11 LPUART3_TX PTB11 SDRAM_D18 PTC17 LPUART3_TX PTC17 SDRAM_DQM3 PTE4 LPUART3_TX PTE4 QSPIA0_DATA1 PTB8 LPUART3_RTS PTB8 SDRAM_D21 PTA31 LPUART3_RTS PTA31 PTC18 LPUART3_RTS PTC18 Arduino_D7 PTE7 LPUART3_RTS PTE7 I2S0_RXD0/LEDRGB_GREEN PTA30 LPUART3_CTS PTA30 PTB9 LPUART3_CTS PTB9 SDRAM_D20 PTC19 LPUART3_CTS PTC19 Arduino_D8 PTE6 LPUART3_CTS PTE6 I2S0_MCK/LEDRGB_RED ----- --------------- ------------------------------- PTA21 LPUART4_RX PTA21 TE/FXIO0_D9 PTC14 LPUART4_RX PTC14 SDRAM_D25 PTE21 LPUART4_RX N/C PTA20 LPUART4_TX PTA20 RD/FXIO0_D8 PTC15 LPUART4_TX PTC15 SDRAM_D24 PTE20 LPUART4_TX N/C PTA23 LPUART4_RTS PTA23 WR/FXIO0_D7 PTC12 LPUART4_RTS PTC12 SDRAM_D27 PTE23 LPUART4_RTS N/C PTA22 LPUART4_CTS PTA22 CS/FXIO0_D6 PTC13 LPUART4_CTS PTC13 SDRAM_D26 PTE22 LPUART4_CTS N/C ----- --------------- ------------------------------- Arduino RS-232 Shield --------------------- ----- --------------- ------------------------------- GPIO LPUART FUNCTION BOARD CONFIGURATION ----- --------------- ------------------------------- PTA25 LPUART2_RX PTA25 SDHC0_D0/Arduino_D0_LPUART2_RX PTA24 LPUART2_TX PTA24 SDHC0_D1/Arduino_D1_LPUART2_TX ----- --------------- ------------------------------- Note: PTA24 and PTA25 are shared between Micro SD Card circuit and Arduino connectors. Remove R106 and R107 or R94 and R11 as necessary to prevent contention. Virtual serial port ------------------- A serial port connection is available between the OpenSDA v2.2 MCU and pins PTC24 and PTC25 of the K28 MCU: ----- --------------- ------------------------------- GPIO LPUART FUNCTION BOARD CONFIGURATION ----- --------------- ------------------------------- PTC25 LPUART0_RX PTC25 LPUART0_RX_TGTMCU PTC24 LPUART0_TX PTC24 LPUART0_TX_TGTMCU ----- --------------- ------------------------------- Default Console --------------- Unless otherwise noted, LPUART0 (the virtual serial port) is the console used in all Freedom-K28F configurations. RGB LED ------- An RGB LED is connected through GPIO as shown below: LED K28 ------ ------------------------------------------------------- RED PTE6 GREEN PTE7 BLUE PTE8 If CONFIG_ARCH_LEDs is defined, then NuttX will control the LED on board the Freedom K28. Usage of these LEDs is defined in include/board.h and src/k28_leds.c. The following definitions describe how NuttX controls the LEDs: SYMBOL Meaning LED state RED GREEN BLUE ------------------- ----------------------- ----------------- LED_STARTED NuttX has been started OFF OFF OFF LED_HEAPALLOCATE Heap has been allocated OFF OFF ON LED_IRQSENABLED Interrupts enabled OFF OFF ON LED_STACKCREATED Idle stack created OFF ON OFF LED_INIRQ In an interrupt (no change) LED_SIGNAL In a signal handler (no change) LED_ASSERTION An assertion failed (no change) LED_PANIC The system has crashed FLASH OFF OFF LED_IDLE K28 is in sleep mode (Optional, not used) Buttons ------- Two push button switches, SW2 and SW3, are available on the FRDM-K28F board. SW2 is connected to PTA4 and SW3 is connected to PTD0. Beside the general purpose IO function, both SW2 and SW3 can be used as a low-leakage wakeup (LLWU) source. Switch GPIO Function --------- --------------------------------------------------------------- SW2 PTA4/NMI_B SW3 PTD0/LLWU_P12