58 lines
1.3 KiB
C
58 lines
1.3 KiB
C
/*
|
|
* Copyright 2021 MindMotion Microelectronics Co., Ltd.
|
|
* All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include "board_init.h"
|
|
#include "tos_shell.h"
|
|
#include "hal_gpio.h"
|
|
|
|
#define APPLICATION_TASK_STK_SIZE 0x1000
|
|
k_task_t application_task;
|
|
uint8_t application_task_stk[APPLICATION_TASK_STK_SIZE];
|
|
static char gs_cmd_buffer[32];
|
|
|
|
__attribute__ ((__weak__)) void application_entry(void *arg)
|
|
{
|
|
NVIC_EnableIRQ(BOARD_DEBUG_UART_IRQ);
|
|
while (1) {
|
|
GPIO_WriteBit(GPIOI, GPIO_PIN_0, 0);
|
|
tos_task_delay(1000);
|
|
GPIO_WriteBit(GPIOI, GPIO_PIN_0, 1);
|
|
tos_task_delay(1000);
|
|
}
|
|
}
|
|
|
|
static void board_shell_output_t(const char ch)
|
|
{
|
|
if (ch == '\n')
|
|
{
|
|
while ( 0u == (UART_STATUS_TX_EMPTY & UART_GetStatus(BOARD_DEBUG_UART_PORT)) )
|
|
{}
|
|
UART_PutData(BOARD_DEBUG_UART_PORT, '\r');
|
|
}
|
|
while ( 0u == (UART_STATUS_TX_EMPTY & UART_GetStatus(BOARD_DEBUG_UART_PORT)) )
|
|
{}
|
|
UART_PutData(BOARD_DEBUG_UART_PORT, ch);
|
|
}
|
|
|
|
/*
|
|
* Functions.
|
|
*/
|
|
int main(void)
|
|
{
|
|
BOARD_Init();
|
|
|
|
tos_knl_init();
|
|
tos_task_create(&application_task, "main_task", application_entry, NULL, 1, application_task_stk, APPLICATION_TASK_STK_SIZE, 0);
|
|
tos_shell_init(gs_cmd_buffer, sizeof(gs_cmd_buffer), board_shell_output_t, NULL);
|
|
tos_knl_start();
|
|
|
|
return 0;
|
|
}
|
|
|
|
/* EOF. */
|
|
|