84 lines
2.2 KiB
C
84 lines
2.2 KiB
C
#include "fsl_debug_console.h"
|
|
#include "board.h"
|
|
#include "pin_mux.h"
|
|
#include "clock_config.h"
|
|
#include "bsp_led.h"
|
|
#include "cmsis_os.h"
|
|
|
|
|
|
#define TASK1_STK_SIZE 512
|
|
void task1(void *arg);
|
|
osThreadDef(task1, osPriorityNormal, 1, TASK1_STK_SIZE);
|
|
|
|
#define TASK2_STK_SIZE 512
|
|
void task2(void *arg);
|
|
osThreadDef(task2, osPriorityNormal, 1, TASK2_STK_SIZE);
|
|
|
|
|
|
void task1(void *arg)
|
|
{
|
|
int count = 0;
|
|
while(1)
|
|
{
|
|
PRINTF("********This is Task 1, count is %d \r\n",count++);
|
|
/* LED亮 */
|
|
CORE_BOARD_LED_ON;
|
|
|
|
/* 整体操作红色 */
|
|
RGB_LED_COLOR_RED;
|
|
osDelay(1000);
|
|
}
|
|
}
|
|
|
|
|
|
void task2(void *arg)
|
|
{
|
|
int count = 0;
|
|
while(1)
|
|
{
|
|
/* 整体操作绿色 */
|
|
RGB_LED_COLOR_GREEN;
|
|
PRINTF("++++++++This is Task 2, count is %d \r\n",count++);
|
|
osDelay(2000);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @brief 主函数
|
|
* @param 无
|
|
* @retval 无
|
|
*/
|
|
int main(void)
|
|
{
|
|
/* 初始化内存保护单元 */
|
|
BOARD_ConfigMPU();
|
|
/* 初始化开发板引脚 */
|
|
BOARD_InitPins();
|
|
/* 初始化开发板时钟 */
|
|
BOARD_BootClockRUN();
|
|
/* 初始化调试串口 */
|
|
BOARD_InitDebugConsole();
|
|
/* 打印系统时钟 */
|
|
PRINTF("\r\n");
|
|
PRINTF("*****欢迎使用i.MX RT1052 开发板*****\r\n");
|
|
PRINTF("CPU: %d Hz\r\n", CLOCK_GetFreq(kCLOCK_CpuClk));
|
|
PRINTF("AHB: %d Hz\r\n", CLOCK_GetFreq(kCLOCK_AhbClk));
|
|
PRINTF("SEMC: %d Hz\r\n", CLOCK_GetFreq(kCLOCK_SemcClk));
|
|
PRINTF("SYSPLL: %d Hz\r\n", CLOCK_GetFreq(kCLOCK_SysPllClk));
|
|
PRINTF("SYSPLLPFD0: %d Hz\r\n", CLOCK_GetFreq(kCLOCK_SysPllPfd0Clk));
|
|
PRINTF("SYSPLLPFD1: %d Hz\r\n", CLOCK_GetFreq(kCLOCK_SysPllPfd1Clk));
|
|
PRINTF("SYSPLLPFD2: %d Hz\r\n", CLOCK_GetFreq(kCLOCK_SysPllPfd2Clk));
|
|
PRINTF("SYSPLLPFD3: %d Hz\r\n", CLOCK_GetFreq(kCLOCK_SysPllPfd3Clk));
|
|
|
|
PRINTF("GPIO输出-使用固件库点亮LED\r\n");
|
|
|
|
/* 初始化LED引脚 */
|
|
LED_GPIO_Config();
|
|
printf("Welcome to TencentOS tiny\r\n");
|
|
osKernelInitialize(); // TencentOS Tiny kernel initialize
|
|
osThreadCreate(osThread(task1), NULL); // Create task1
|
|
osThreadCreate(osThread(task2), NULL); // Create task2
|
|
osKernelStart(); // Start TencentOS Tiny
|
|
}
|
|
/****************************END OF FILE**********************/
|