【AT-START-F425测评】+RT-Thread移植到AT32F425
[复制链接]
1、准备好一个keil 工程
2、点击“Manage Run-Time Environment”
3、在“Manage Run-Time Environment”中勾选kernel和shell
4、勾选之后,在工程目录中,可以看到多了RTOS一项,里面是RT-Thread的相关代码
5、FinSH配置,在rtconfig.h中使能FinSH,可以使用配置向导,也可以使用代码
6、控制台使能,在rtconfig.h中使能控制台,可以使用配置向导,也可以使用代码
7、”系统时钟节拍配置报错,#error "TODO 1: OS Tick Configuration."
8、配置系统时钟节拍
在void rt_hw_board_init(void)函数中,设置使用systick为系统时钟。
9、串口初始化报错,“"TODO 2: Enable the hardware uart and config baudrate."”
10、配置串口
在uart_init函数中,调用串口初始化的函数即可。
12、配置串口输出
void rt_hw_console_output(const char *str)
{
//#error "TODO 3: Output the string 'str' through the uart."
rt_size_t i = 0, size = 0;
char a = '\r';
size = rt_strlen(str);
for (i = 0; i < size; i++)
{
if (*(str + i) == '\n')
{
usart_data_transmit(USART1, (uint32_t )a);
while((usart_flag_get(USART1, USART_TDC_FLAG) == RESET));
}
usart_data_transmit(USART1, (uint32_t)*(str + i));
while((usart_flag_get(USART1, USART_TDC_FLAG) == RESET));
}
}
13、串口输入报错,“#error "TODO 4: Read a char from the uart and assign it to 'ch'."”
14、配置串口输入
在at32f425_int.c中屏蔽掉即可,这两个中断RT-Thread已经处理了。
16、Systick中断回调处理
配置了Systick为系统的时钟,需要需要在Systick中处理系统的回调函数
void SysTick_Handler(void)
{
void rt_os_tick_callback(void);
rt_os_tick_callback();
}
在rt_hw_board_init函数中包含led初始化函数。
19、在main函数中调用启动led线程
int main(void)
{
LedThreadStart();
return 0;
}
|