欢迎来到天天文库
浏览记录
ID:27873558
大小:25.00 KB
页数:4页
时间:2018-12-06
《如何让FreeRTOS系统直接在芯片上运行?.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、如何让FreeRTOS系统直接在芯片上运行? 为什么不先讲述源代码? 相信很多朋友开始学习的时候都是参看别人写好的,可以直接使用的源代码。在正确代码工程的基础上,我们可以展开很多测试,从而可以知道为什么这样才可以运行。 整个FreeRTOS工程源代码里面的内容牵涉到许多东西,而只需要简单几个步骤就能将代码运行起来,看到效果。如果我一一给你们讲述源代码,估计没怎么讲述几条,大家都晕了,不知道为什么这个地方是这样。 所以,给你看写好源代码工程,让你们自己测试,并分析才是最好的。 移植几个步骤 源代码里面的
2、内容有很少变动,本篇文章不具体讲述,只讲述移植的几个步骤,最终让代码工程可以运行在板子上。只需要如下简单几步即可: 1.提取源码添加到工程 上一篇文章讲述了下载FreeRTOS源码中各个目录及文件的意思,也大概讲述了一下需要提取源码。 主要提取:Source目录+FreeRTOSConfig.h (里面有部分内容未使用,为了不让大家感觉文件比较多,或者杂,我删除了) 将这些源码添加到自己的工程(之前讲述并建立好的STM32工程),具体提取的源码和添加到工程中的效果,请下载代码查看。 2.添加路径
3、 我们添加源码到工程,有部分头文件include需要添加到工程。因此,我们需要添加相应路径。 .c源代码添加路径的方法见文章: 1.MDK-ARM_新建软件工程详细过程 2.EWARM_新建软件工程详细过程 这里主要想提醒的是:在IAR工程中有个汇编文件portasm.s包含了,需要我们添加所在文件下的路径。 注意:是在EWARM的Project->Options->Assembler->Preprocessor中添加。 3.创建自己任务和添加相应代码 我们创建四个任务,还是使用比较经典的LED灯任
4、务。 voidAppTaskCreate(void) { xTaskCreate(vAppTask1,“Task1”,TASK1_STACK_SIZE,NULL,TASK1_PRIORITY,NULL); xTaskCreate(vAppTask2,“Task2”,TASK2_STACK_SIZE,NULL,TASK2_PRIORITY,NULL); xTaskCreate(vAppTask3,“Task3”,TASK3_STACK_SIZE,NULL,TASK3_PRIORITY,NULL); xT
5、askCreate(vAppTask4,“Task4”,TASK4_STACK_SIZE,NULL,TASK4_PRIORITY,NULL); } voidvAppTask1(void*pvParameters) { for(;;) { LED1_TOGGLE; vTaskDelay(50); } } 我新建了app_task.c和app_task.h文件添加任务的源代码。 4.修改FreeRTOSConfig.h配置文件 这个文件是必须配置的,而且根据实际情况而定。我们系统的裁剪也与该文
6、件有关,类似于UCOS中的os_cfg.h文件。 比如:主频、系统滴答、系统堆栈大小等。 #defineconfigCPU_CLOCK_HZ ((unsignedlong)72000000) #defineconfigTICK_RATE_HZ ((TickType_t)100) #defineconfigTOTAL_HEAP_SIZE((size_t)(4*1024)) 本文不讲述具体内容。后期详细分析FreeRTOSConfig.h中的每一个参数。 至此,基本的步骤算是完成了。
此文档下载收益归作者所有