ⅰ
写在前面
为满足大家的好奇心,本文将讲述几个步骤可以让freertos系统直接在芯片上运行,源代码里面的许多细节将在下一篇文章呈现。最后提供可以直接运行的demo工程给大家,方便大家直接拿来修改测试。
为什么不先讲述源代码?
相信很多朋友开始学习的时候都是参看别人写好的,可以直接使用的源代码。在正确代码工程的基础上,我们可以展开很多测试,从而可以知道为什么这样才可以运行。
整个freertos工程源代码里面的内容牵涉到许多东西,而只需要简单几个步骤就能将代码运行起来,看到效果。如果我一一给你们讲述源代码,估计没怎么讲述几条,大家都晕了,不知道为什么这个地方是这样。
所以,给你看写好源代码工程,让你们自己测试,并分析才是最好的。
ⅱ
移植几个步骤
源代码里面的内容有很少变动,本篇文章不具体讲述,只讲述移植的几个步骤,最终让代码工程可以运行在板子上。只需要如下简单几步即可:
1.提取源码添加到工程
上一篇文章讲述了下载freertos源码中各个目录及文件的意思,也大概讲述了一下需要提取源码。
主要提取:source目录+freertosconfig.h
(里面有部分内容未使用,为了不让大家感觉文件比较多,或者杂,我删除了)
将这些源码添加到自己的工程(之前讲述并建立好的stm32工程),具体提取的源码和添加到工程中的效果,请下载代码查看。
2.添加路径
我们添加源码到工程,有部分头文件include需要添加到工程。因此,我们需要添加相应路径。
.c源代码添加路径的方法见文章:
1.mdk-arm_新建软件工程详细过程
2.ewarm_新建软件工程详细过程
这里主要想提醒的是:在iar工程中有个汇编文件portasm.s包含了,需要我们添加所在文件下的路径。
注意:是在ewarm的project -> options -> assembler -> preprocessor中添加。
3.创建自己任务和添加相应代码
我们创建四个任务,还是使用比较经典的led灯任务。
void apptaskcreate(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);
xtaskcreate(vapptask4, task4, task4_stack_size, null, task4_priority, null);
}
void vapptask1(void *pvparameters)
{
for(;;)
{
led1_toggle;
vtaskdelay(50);
}
}
我新建了app_task.c和app_task.h文件添加任务的源代码。
4.修改freertosconfig.h配置文件
这个文件是必须配置的,而且根据实际情况而定。我们系统的裁剪也与该文件有关,类似于ucos中的os_cfg.h文件。
比如:主频、系统滴答、系统堆栈大小等。
#define configcpu_clock_hz ((unsigned long)72000000)
#define configtick_rate_hz ((ticktype_t)100)
#define configtotal_heap_size ((size_t)(4 * 1024))
本文不讲述具体内容。后期详细分析freertosconfig.h中的每一个参数。
至此,基本的步骤算是完成了。
ⅲ
代码下载
目前只提供了stm32f0、f1和f4的demo工程,后期更新。
【提示:微信公众号不支持外链接】
freertos_stm32f0_demo下载地址:
http://pan.baidu.com/s/1qybmfy0
freertos_stm32f1_demo下载地址:
http://pan.baidu.com/s/1jhdhrpc
freertos_stm32f4_demo下载地址:
http://pan.baidu.com/s/1bpllz7x
中微爱芯通用逻辑芯片AIP74HC14,可替代恩智浦74HC14、德州仪器CD74HC14
关于PSP-SOI模型在RF SOI工艺上的优势分析和应用
RT-Thread启动进入就绪态最高优先级线程的全过程与栈帧分析(下)
工控主板如何安装,具体安装步骤是怎样的
大数据在支付领域怎样改善用户体验
FreeRTOS_003 _让系统在板子上跑起来
可穿戴设备中的传感器:尺寸越来越“小”,左右越来越“大”
L-com诺通推出新型高增益8端口MIMO扇形天线
校准示波器的具体步骤
东芝发布眼镜式可穿戴终端“Wearvue™ TG-1”
豪威发布国内首款支持功能安全ASIL B的汽车摄像头PMIC
电动势的定义
追觅多款扫地机器人通过TÜV莱茵防缠绕和高效自清洁认证
DFM在PCBA设计中的作用
中国300多家智能手机品牌,半数已阵亡
电桩测试仪的单/三相适配器METRALINE PRO-TYP EM I介绍
基于DSP和μC/OS-II操作系统的双CPU架构实现微机保护装置的设计
功耗:获取有关电源应用和电路设计技巧以更少的成本系统电源保护
小米净水器开箱评测:净化效果显著 价格合理
金属-氧化半导体外效晶体管和隔热双极晶体管的特性和使用