【国民技术N32G430】6、移植FreeRtos
[复制链接]
【目的】移植freertos到N32G430开发板上,并实现一个LED闪烁的基本例程:
1、新建一个空白文件夹,用于存放工程,文件夹下新建FreeRTOS、MDK、User三个文件夹,分别用于存放freertos的系统文件、MDK工程项目文件、用户文件。
2、拷贝厂商提供的firmware文件夹到Template目录下面:
3、新建工程到MDK目录下面,并按图示的建立相关引用以后头文件的位置设置:
4、新建main.c
#include "main.h"
#include "bsp_led.h"
#include "cmsis_os.h"
void MX_FREERTOS_Init(void);
int main(void)
{
LED_Initialize(LED1_GPIO_PORT, LED1_GPIO_PIN );
osKernelInitialize(); /* Call init function for freertos objects (in freertos.c) */
MX_FREERTOS_Init();
osKernelStart();
while(1)
{
}
}
osThreadId_t defaultTaskHandle;
const osThreadAttr_t defaultTask_attributes = {
.name = "defaultTask",
.stack_size = 128 * 4,
.priority = (osPriority_t) osPriorityNormal,
};
void StartDefaultTask(void *argument);
void MX_FREERTOS_Init(void);
void MX_FREERTOS_Init(void) {
defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes);
}
void StartDefaultTask(void *argument)
{
for(;;)
{
osDelay(500);
LED_Toggle(LED1_GPIO_PORT, LED1_GPIO_PIN);
}
}
编译无错误,下载到开发板,可以看到PA1灯按规律闪烁。
|