硬件环境:AC7811 demo板软件环境:keil 5.23
在keil下面已经有了RT-thread的CMSIS包,但直接用于AC7811上还是需要做一些修改的:
首先在board.c中,将SystemCoreClockUpdate()函数注释掉,并将_SysTick_Config()调用的SystemCoreClock修改为SYSCLK_FREQ,因为AC7811中未定义SystemCoreClock这个变量,但在AC7801中定义了,可以不用修改。然后在最上面添加头文件#include "system_ac78xx.h"。
void rt_hw_board_init()
{
/* System Clock Update */
// SystemCoreClockUpdate();
/* System Tick Configuration */
_SysTick_Config(SYSCLK_FREQ / RT_TICK_PER_SECOND);
/* Call components board initial (use INIT_BOARD_EXPORT()) */
#ifdef RT_USING_COMPONENTS_INIT
rt_components_board_init();
#endif
再来实现我们的main函数,此时main函数已经只是RT-thread里面的一个线程了,我们可以在mian函数中添加自己新的任务。
#include "ac78xx.h"
#include "ac78xx_debugout.h"
#include <rtthread.h>
int main(void)
{
InitDebug();
while(1)
{
rt_thread_mdelay(500);
printf("this is man func\r\n");
}
}
顺便附上代码以及keil平台的使用文档。
RT-ThreadSample-keil.rar
(837.8 KB)
an0039-nano-port-keil.pdf
(399.36 KB)
|