Minor Freedom-KL25Z updates
This commit is contained in:
parent
69d3978837
commit
7fe5a2b78d
@ -359,7 +359,7 @@ int up_prioritize_irq(int irq, int priority)
|
|||||||
irq == KL_IRQ_PENDSV ||
|
irq == KL_IRQ_PENDSV ||
|
||||||
irq == KL_IRQ_SYSTICK ||
|
irq == KL_IRQ_SYSTICK ||
|
||||||
(irq >= KL_IRQ_EXTINT && irq < NR_IRQS));
|
(irq >= KL_IRQ_EXTINT && irq < NR_IRQS));
|
||||||
DEBUGASSERT(priority >= NVIC_SYSH_DISABLE_PRIORITY &&
|
DEBUGASSERT(priority >= NVIC_SYSH_PRIORITY_MAX &&
|
||||||
priority <= NVIC_SYSH_PRIORITY_MIN);
|
priority <= NVIC_SYSH_PRIORITY_MIN);
|
||||||
|
|
||||||
/* Check for external interrupt */
|
/* Check for external interrupt */
|
||||||
|
@ -56,18 +56,35 @@
|
|||||||
#include "chip/kl_uart.h"
|
#include "chip/kl_uart.h"
|
||||||
#include "chip/kl_pinmux.h"
|
#include "chip/kl_pinmux.h"
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* Private Definitions
|
* Private Definitions
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
|
||||||
|
#warning "Revisit"
|
||||||
|
#undef BOARD_CORECLK_FREQ
|
||||||
|
#define BOARD_CORECLK_FREQ 48000000
|
||||||
|
|
||||||
/* Select UART parameters for the selected console */
|
/* Select UART parameters for the selected console */
|
||||||
|
|
||||||
|
#if defined(CONFIG_UART0_SERIAL_CONSOLE)
|
||||||
# define CONSOLE_BASE KL_UART0_BASE
|
# define CONSOLE_BASE KL_UART0_BASE
|
||||||
# define CONSOLE_FREQ 48000000
|
# define CONSOLE_FREQ 48000000
|
||||||
# define CONSOLE_BAUD CONFIG_UART0_BAUD
|
# define CONSOLE_BAUD CONFIG_UART0_BAUD
|
||||||
# define CONSOLE_BITS CONFIG_UART0_BITS
|
# define CONSOLE_BITS CONFIG_UART0_BITS
|
||||||
# define CONSOLE_PARITY CONFIG_UART0_PARITY
|
# define CONSOLE_PARITY CONFIG_UART0_PARITY
|
||||||
|
#elif defined(CONFIG_UART1_SERIAL_CONSOLE)
|
||||||
|
# define CONSOLE_BASE KL_UART1_BASE
|
||||||
|
# define CONSOLE_FREQ 48000000
|
||||||
|
# define CONSOLE_BAUD CONFIG_UART1_BAUD
|
||||||
|
# define CONSOLE_BITS CONFIG_UART1_BITS
|
||||||
|
# define CONSOLE_PARITY CONFIG_UART1_PARITY
|
||||||
|
#elif defined(CONFIG_UART2_SERIAL_CONSOLE)
|
||||||
|
# define CONSOLE_BASE KL_UART2_BASE
|
||||||
|
# define CONSOLE_FREQ 48000000
|
||||||
|
# define CONSOLE_BAUD CONFIG_UART2_BAUD
|
||||||
|
# define CONSOLE_BITS CONFIG_UART2_BITS
|
||||||
|
# define CONSOLE_PARITY CONFIG_UART2_PARITY
|
||||||
|
#endif
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
@ -215,7 +232,7 @@ void kl_lowsetup(void)
|
|||||||
//#if defined(HAVE_SERIAL_CONSOLE) && !defined(CONFIG_SUPPRESS_UART_CONFIG)
|
//#if defined(HAVE_SERIAL_CONSOLE) && !defined(CONFIG_SUPPRESS_UART_CONFIG)
|
||||||
|
|
||||||
// kl_uartconfigure(CONSOLE_BASE, CONSOLE_BAUD, CONSOLE_FREQ,
|
// kl_uartconfigure(CONSOLE_BASE, CONSOLE_BAUD, CONSOLE_FREQ,
|
||||||
// CONSOLE_PARITY, CONSOLE_BITS);
|
// CONSOLE_PARITY, CONSOLE_BITS);
|
||||||
//#endif
|
//#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -249,9 +266,8 @@ void kl_uartreset(uintptr_t uart_base)
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
#ifdef HAVE_UART_DEVICE
|
#ifdef HAVE_UART_DEVICE
|
||||||
void kl_uartconfigure(uintptr_t uart_base, uint32_t baud,
|
void kl_uartconfigure(uintptr_t uart_base, uint32_t baud, uint32_t clock,
|
||||||
uint32_t clock, unsigned int parity,
|
unsigned int parity, unsigned int nbits)
|
||||||
unsigned int nbits)
|
|
||||||
{
|
{
|
||||||
uint32_t sbr;
|
uint32_t sbr;
|
||||||
uint32_t brfa;
|
uint32_t brfa;
|
||||||
|
@ -69,6 +69,11 @@
|
|||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
/* Some sanity checks *******************************************************/
|
/* Some sanity checks *******************************************************/
|
||||||
|
|
||||||
|
#warning "Revisit"
|
||||||
|
#undef BOARD_CORECLK_FREQ
|
||||||
|
#define BOARD_CORECLK_FREQ 48000000
|
||||||
|
|
||||||
/* Is there at least one UART enabled and configured as a RS-232 device? */
|
/* Is there at least one UART enabled and configured as a RS-232 device? */
|
||||||
|
|
||||||
#ifndef HAVE_UART_DEVICE
|
#ifndef HAVE_UART_DEVICE
|
||||||
|
@ -13,7 +13,7 @@ Contents
|
|||||||
- NuttX Buildroot Toolchain
|
- NuttX Buildroot Toolchain
|
||||||
- LEDs
|
- LEDs
|
||||||
- Serial Console
|
- Serial Console
|
||||||
- Debugging
|
- mbed
|
||||||
- NuTiny-specific Configuration Options
|
- NuTiny-specific Configuration Options
|
||||||
- Configurations
|
- Configurations
|
||||||
|
|
||||||
@ -97,42 +97,35 @@ Serial Console
|
|||||||
|
|
||||||
As with most NuttX configurations, the Freedom KL25Z configurations
|
As with most NuttX configurations, the Freedom KL25Z configurations
|
||||||
depend on having a serial console to interact with the software. The
|
depend on having a serial console to interact with the software. The
|
||||||
Freedom KL25Z, however, has not on-board RS-232 drivers so will be
|
Freedom KL25Z, however, has no on-board RS-232 drivers so will be
|
||||||
necessary to connect the Freedom KL25Z UART pins to an external
|
necessary to connect the Freedom KL25Z UART pins to an external
|
||||||
RS-232 driver board or TTL-to-Serial USB adaptor.
|
RS-232 driver board or TTL-to-Serial USB adaptor.
|
||||||
|
|
||||||
By default UART1 is used as the serial console on these boards. K25Z120LE3AN
|
By default UART0 is used as the serial console on this boards. The UART0
|
||||||
is provided as an LQFP48 package and, for this case, the UART1 RX signal
|
is configured to work with the OpenSDA USB CDC/ACM port:
|
||||||
(RXD1) is on PB.4, pin 8, and the TX signal (TXD1) is on PB.5, pin 9.
|
|
||||||
These pins are available on the Freedom KL25Z JP5.
|
|
||||||
|
|
||||||
NOTE: The TX vs RX labeling may be confusing. On one RS-232 driver board,
|
------ ------------------------------- -----------------------------
|
||||||
I had to connect the K25Z120 TXD0 pin to the driver boards RXD pin. How
|
PIN PIN FUNCTIONS BOARD SIGNALS
|
||||||
confusing!
|
------ ------------------------------- -----------------------------
|
||||||
|
Pin 27 PTA1/TSI0_CH2/UART0_RX/FTM2_CH0 UART1_RX_TGTMCU and D0 (PTA1)
|
||||||
|
Pin 28 PTA2/TSI0_CH3/UART0_TX/FTM2_CH1 UART1_TX_TGTMCU and D1 (PTA2)
|
||||||
|
|
||||||
UART0 is an alternative that can be selected by modifying the default
|
But the UART Tx/Rx signals are also available on J1:
|
||||||
configuation. UART0 RX (RXD0) is on PB.0, pin 17, and the TX signal (TXD0)
|
|
||||||
is on PB.1, pin 18. These pins are available on the Freedom KL25Z JP1.
|
|
||||||
|
|
||||||
NOTE: PB.0, pin 17, is also used to control the user LED on board (labeled
|
---------------- ---------
|
||||||
"IO"). CONFIG_ARCH_LED should not be selected if UART0 is used.
|
UART0 SIGNAL J1 pin
|
||||||
|
---------------- ---------
|
||||||
|
UART0_RX (PTA1) J1, pin 2
|
||||||
|
UART0_TX (PTA2) J1, pin 4
|
||||||
|
|
||||||
The K25Z120LE3AN does not support UART2.
|
mbed
|
||||||
|
====
|
||||||
|
|
||||||
Debugging
|
The Freedom KL25Z includes a built-in SDA debugger. An alternative
|
||||||
=========
|
to the SDA bootloader is this boot loader from mbed:
|
||||||
|
|
||||||
The Freedom KL25Z includes a built-in SDA debugger. Unfortunately,
|
http://mbed.org/handbook/mbed-FRDM-KL25Z-Getting-Started
|
||||||
full debug support is available only with the Keil and IAR toolchains.
|
http://mbed.org/handbook/Firmware-FRDM-KL25Z
|
||||||
There is, however, a free program called ICP (In-Circuit Programmer). It
|
|
||||||
can be used to burn programs into FLASH (aka APROM).
|
|
||||||
|
|
||||||
The ICP program can also be used to burn an ISP program into LDROM. The
|
|
||||||
ISP (In-System Programmer) is available free from the Nuvton website.
|
|
||||||
|
|
||||||
Then NuttX build does not set the configuration words at 0x0030000-0x00300004.
|
|
||||||
You should uncheck the Config box when burning APROM or the previous contents
|
|
||||||
of the configuration words will be erased.
|
|
||||||
|
|
||||||
NuTiny-specific Configuration Options
|
NuTiny-specific Configuration Options
|
||||||
=====================================
|
=====================================
|
||||||
|
@ -23,8 +23,8 @@ CONFIG_HOST_LINUX=y
|
|||||||
# Binary Output Formats
|
# Binary Output Formats
|
||||||
#
|
#
|
||||||
# CONFIG_RRLOAD_BINARY is not set
|
# CONFIG_RRLOAD_BINARY is not set
|
||||||
CONFIG_INTELHEX_BINARY=y
|
# CONFIG_INTELHEX_BINARY=y
|
||||||
# CONFIG_MOTOROLA_SREC is not set
|
CONFIG_MOTOROLA_SREC=y
|
||||||
CONFIG_RAW_BINARY=y
|
CONFIG_RAW_BINARY=y
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -23,8 +23,8 @@ CONFIG_HOST_LINUX=y
|
|||||||
# Binary Output Formats
|
# Binary Output Formats
|
||||||
#
|
#
|
||||||
# CONFIG_RRLOAD_BINARY is not set
|
# CONFIG_RRLOAD_BINARY is not set
|
||||||
CONFIG_INTELHEX_BINARY=y
|
# CONFIG_INTELHEX_BINARY=y
|
||||||
# CONFIG_MOTOROLA_SREC is not set
|
CONFIG_MOTOROLA_SREC=y
|
||||||
CONFIG_RAW_BINARY=y
|
CONFIG_RAW_BINARY=y
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -235,7 +235,6 @@ int task_delete(pid_t pid)
|
|||||||
* don't bother to unlock the TCB since it will be going away.
|
* don't bother to unlock the TCB since it will be going away.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DEBUGASSERT(!nonblocking);
|
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user