Merge pull request #117 from DavidLin1577/patch-2
Improve readability of codes
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
#include "stdio.h"
|
#include "stdio.h"
|
||||||
#include "NuMicro.h"
|
#include "NuMicro.h"
|
||||||
#include "tos_k.h"
|
#include "tos_k.h"
|
||||||
#define task1_size 240 // size of task1 stack
|
#define task1_size 240 // size of task1 stack
|
||||||
#define task2_size 240
|
#define task2_size 240
|
||||||
k_task_t task1; //structure of task1
|
k_task_t task1; // structure of task1
|
||||||
k_task_t task2;
|
k_task_t task2;
|
||||||
|
|
||||||
k_stack_t task1_stack[task1_size]; //stack of task1
|
k_stack_t task1_stack[task1_size]; //stack of task1
|
||||||
@@ -14,23 +14,23 @@ void SYS_Init(void)
|
|||||||
/*---------------------------------------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------------------------------------*/
|
||||||
/* Init System Clock */
|
/* Init System Clock */
|
||||||
/*---------------------------------------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------------------------------------*/
|
||||||
/* Unlock protected registers */
|
/* Unlock protected registers */
|
||||||
SYS_UnlockReg();
|
SYS_UnlockReg();
|
||||||
|
|
||||||
/* Set XT1_OUT(PF.2) and XT1_IN(PF.3) to input mode to prevent leakage */
|
/* Set XT1_OUT(PF.2) and XT1_IN(PF.3) to input mode to prevent leakage */
|
||||||
PF->MODE &= ~(GPIO_MODE_MODE2_Msk | GPIO_MODE_MODE3_Msk);
|
PF->MODE &= ~(GPIO_MODE_MODE2_Msk | GPIO_MODE_MODE3_Msk);
|
||||||
|
|
||||||
/* Disable digital input path of analog pin XT1_OUT to prevent leakage */
|
/* Disable digital input path of analog pin XT1_OUT to prevent leakage */
|
||||||
GPIO_DISABLE_DIGITAL_PATH(PF, BIT2 | BIT3);
|
GPIO_DISABLE_DIGITAL_PATH(PF, BIT2 | BIT3);
|
||||||
|
|
||||||
/* Enable<EFBFBD><EFBFBD> HXT clock */
|
/* Enable£¬ HXT clock */
|
||||||
CLK_EnableXtalRC(CLK_PWRCTL_HXTEN_Msk);
|
CLK_EnableXtalRC(CLK_PWRCTL_HXTEN_Msk);
|
||||||
|
|
||||||
/* Switch HCLK clock source to external */
|
/* Switch HCLK clock source to external */
|
||||||
CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HXT, CLK_CLKDIV0_HCLK(1)); //here switch zhe MCU clock to external
|
CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HXT, CLK_CLKDIV0_HCLK(1)); //here switch zhe MCU clock to external
|
||||||
|
|
||||||
/*Set the core clock freq*/
|
/*Set the core clock freq*/
|
||||||
CLK_SetCoreClock(FREQ_32MHZ); //set the core clock freq,should not higher than your HCLK clock freq
|
CLK_SetCoreClock(FREQ_32MHZ); //set the core clock freq,should not higher than your HCLK clock freq
|
||||||
|
|
||||||
/* Enable UART module clock */
|
/* Enable UART module clock */
|
||||||
CLK_EnableModuleClock(UART0_MODULE);
|
CLK_EnableModuleClock(UART0_MODULE);
|
||||||
@@ -59,37 +59,35 @@ void UART0_Init()
|
|||||||
//task1 function
|
//task1 function
|
||||||
void task1_fun(void *Parameter)
|
void task1_fun(void *Parameter)
|
||||||
{
|
{
|
||||||
|
while(1)
|
||||||
while(1)
|
{
|
||||||
{
|
printf("Task1: Thansplant CORTEX-M23 Succeed\r\n");
|
||||||
printf("Task1 <20><>Thansplant CORTEX-M23 Succeed\r\n");
|
PB14 =~ PB14;
|
||||||
PB14 =~ PB14;
|
tos_task_delay(1000);
|
||||||
tos_task_delay(1000);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void task2_task(void *Parameter)
|
void task2_task(void *Parameter)
|
||||||
{
|
{
|
||||||
|
k_err_t err;
|
||||||
k_err_t err;
|
while(1)
|
||||||
while(1)
|
{
|
||||||
{
|
printf("Task2: hello world, hello Nuvoton \r\n");
|
||||||
printf("Task2: hello world, hello Nuvoton \r\n");
|
tos_task_delay(100);
|
||||||
tos_task_delay(100);
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
k_err_t err;
|
k_err_t err;
|
||||||
/* Unlock protected registers */
|
/* Unlock protected registers */
|
||||||
SYS_UnlockReg();
|
SYS_UnlockReg();
|
||||||
|
|
||||||
/* Init System, peripheral clock and multi-function I/O */
|
/* Init System, peripheral clock and multi-function I/O */
|
||||||
SYS_Init();
|
SYS_Init();
|
||||||
|
|
||||||
tos_knl_init(); //tos init ,include SystickInit,should init after protected registers unlock
|
/* tos init ,include SystickInit,should init after protected registers unlock */
|
||||||
|
tos_knl_init();
|
||||||
|
|
||||||
/* Lock protected registers */
|
/* Lock protected registers */
|
||||||
SYS_LockReg();
|
SYS_LockReg();
|
||||||
@@ -97,35 +95,32 @@ int main()
|
|||||||
/* Init UART0 for printf */
|
/* Init UART0 for printf */
|
||||||
UART0_Init();
|
UART0_Init();
|
||||||
|
|
||||||
printf("system clock to %d Hz, PLL clock to %d Hz...................... ", SystemCoreClock, CLK_SetCoreClock(FREQ_32MHZ));
|
printf("system clock to %d Hz, PLL clock to %d Hz...................... ", SystemCoreClock, CLK_SetCoreClock(FREQ_32MHZ));
|
||||||
|
|
||||||
GPIO_SetMode(PB, BIT14, GPIO_MODE_OUTPUT);
|
GPIO_SetMode(PB, BIT14, GPIO_MODE_OUTPUT);
|
||||||
|
|
||||||
err = tos_task_create(
|
err = tos_task_create(
|
||||||
&task1,
|
&task1,
|
||||||
"Task1",
|
"Task1",
|
||||||
task1_fun,
|
task1_fun,
|
||||||
NULL,
|
NULL,
|
||||||
2,
|
2,
|
||||||
task1_stack,
|
task1_stack,
|
||||||
task1_size,
|
task1_size,
|
||||||
100
|
100);
|
||||||
);
|
|
||||||
|
err = tos_task_create(
|
||||||
err = tos_task_create(
|
&task2,
|
||||||
&task2,
|
"display",
|
||||||
"display",
|
task2_task,
|
||||||
task2_task,
|
NULL,
|
||||||
NULL,
|
2,
|
||||||
2,
|
task2_stack,
|
||||||
task2_stack,
|
task2_size,
|
||||||
task2_size,
|
100);
|
||||||
100);
|
|
||||||
|
|
||||||
if(err != K_ERR_NONE)
|
|
||||||
printf("TenentOS creat task fail! code is %d\r\n",err);
|
|
||||||
|
|
||||||
tos_knl_start(); //Start TOS TINY
|
|
||||||
|
|
||||||
|
if(err != K_ERR_NONE)
|
||||||
|
printf("TencentOS create task fail! errcode is %d\r\n",err);
|
||||||
|
|
||||||
|
tos_knl_start(); //Start TOS TINY
|
||||||
}
|
}
|
||||||
|
@@ -140,23 +140,18 @@ void Uart0DefaultMPF(void)
|
|||||||
{
|
{
|
||||||
|
|
||||||
/* Set GPB multi-function pins for UART0 RXD and TXD */
|
/* Set GPB multi-function pins for UART0 RXD and TXD */
|
||||||
SYS->GPA_MFPL = (SYS->GPA_MFPL & ~SYS_GPA_MFPL_PA0MFP_Msk) | SYS_GPA_MFPL_PA0MFP_UART0_RXD;
|
SYS->GPA_MFPL = (SYS->GPA_MFPL & ~SYS_GPA_MFPL_PA0MFP_Msk) | SYS_GPA_MFPL_PA0MFP_UART0_RXD;
|
||||||
SYS->GPA_MFPL = (SYS->GPA_MFPL & ~SYS_GPA_MFPL_PA1MFP_Msk) | SYS_GPA_MFPL_PA1MFP_UART0_TXD;
|
SYS->GPA_MFPL = (SYS->GPA_MFPL & ~SYS_GPA_MFPL_PA1MFP_Msk) | SYS_GPA_MFPL_PA1MFP_UART0_TXD;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//systick interrupt Handler function
|
//systick interrupt Handler function
|
||||||
void SysTick_Handler(void)
|
void SysTick_Handler(void)
|
||||||
{
|
{
|
||||||
|
if (tos_knl_is_running())
|
||||||
if (tos_knl_is_running())
|
{
|
||||||
{
|
tos_knl_irq_enter();
|
||||||
tos_knl_irq_enter();
|
tos_tick_handler();
|
||||||
tos_tick_handler();
|
tos_knl_irq_leave();
|
||||||
tos_knl_irq_leave();
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -176,7 +176,7 @@ int main()
|
|||||||
oled_size, //任务堆栈大小
|
oled_size, //任务堆栈大小
|
||||||
100); //时间片轮转机制下当前任务的时间片大小。当timeslice为0时,任务调度时间片会被设置为默认大小(TOS_CFG_CPU_TICK_PER_SECOND / 10),系统时钟滴答(systick)数 / 10。
|
100); //时间片轮转机制下当前任务的时间片大小。当timeslice为0时,任务调度时间片会被设置为默认大小(TOS_CFG_CPU_TICK_PER_SECOND / 10),系统时钟滴答(systick)数 / 10。
|
||||||
if(err != K_ERR_NONE)
|
if(err != K_ERR_NONE)
|
||||||
printf("TenentOS creat task fail! code is %d\r\n",err);
|
printf("TencentOS create task fail! code is %d\r\n",err);
|
||||||
|
|
||||||
tos_knl_start(); //Start TOS TINY
|
tos_knl_start(); //Start TOS TINY
|
||||||
}
|
}
|
||||||
@@ -236,4 +236,4 @@ void SysTick_Handler(void)
|
|||||||

|

|
||||||
|
|
||||||
|
|
||||||
到这里,TencentOS tiny 移植新塘M251 cortex-M23内核成功!
|
到这里,TencentOS tiny 移植新塘M251 cortex-M23内核成功!
|
||||||
|
Reference in New Issue
Block a user