本文是网上转载,版权所有。

Keil环境中建立带FreeRTOS的STM32L项目

1、先把source文件夹复制至project目录,然后在keil中添加RTOS文件,如图:

其中heap_2.c按需选择,可以是heap_1.c等,若需croutine型任务则还需添加croutine.c文件。

2、添加include目录,位于source下的include文件夹。

3、把FreeRTOSConfig.h文件复制到source下的include文件夹,或者其他用户文件夹下也可,这是FreeRTOS的功能配置文件,要按需修改的。

4、为了能连接到portmacro.h文件,还需添加include路径Source\portable\RVDS\ARM_CM3

5、以下移植步骤细节需参考“FreeRTOS在STM32上的移植 V1.0”。首先修改PORTMACRO.H文件。基本不用修改。

6、port.c文件也基本不用修改。

7、PORTASM.S文件在keil环境是不需要的,相关的函数放在了port.c文件中。

8、修改startup文件(要选择对应芯片的文件,并且要先取消其只读属性):

SVC_Handler 修改为vPortSVCHandler

PendSV_Handler 修改为xPortPendSVHandler

SysTick_Handler 修改为xPortSysTickHandler

并在“__heap_limit”下面,“PRESERVE8”前面加入以下内容

IMPORT xPortPendSVHandler

IMPORT xPortSysTickHandler

IMPORT vPortSVCHandler

9、修改PORTMACRO.H中的configCPU_CLOCK_HZ为对应的频率值,单位是Hz。全速的STM32L可设为32000000

1、先把source文件夹复制至project目录,然后在keil中添加RTOS文件,如图:

其中heap_2.c按需选择,可以是heap_1.c等,若需croutine型任务则还需添加croutine.c文件。
2、添加include目录,位于source下的include文件夹。

3、把FreeRTOSConfig.h文件复制到source下的include文件夹,或者其他用户文件夹下也可,这是FreeRTOS的功能配置文件,要按需修改的。
4、为了能连接到portmacro.h文件,还需添加include路径Source\portable\RVDS\ARM_CM3

5、以下移植步骤细节需参考“FreeRTOS 在STM32上的移植 V1.0”。首先修改PORTMACRO.H文件。基本不用修改。
6、port.c文件也基本不用修改。
7、PORTASM.S文件在keil环境是不需要的,相关的函数放在了port.c文件中。
8、修改startup文件(要选择对应芯片的文件,并且要先取消其只读属性):
SVC_Handler 修改为vPortSVCHandler
PendSV_Handler 修改为xPortPendSVHandler
SysTick_Handler 修改为xPortSysTickHandler

并在 “__heap_limit”下面,“PRESERVE8”前面加入以下内容
IMPORT xPortPendSVHandler
IMPORT xPortSysTickHandler
IMPORT vPortSVCHandler
9、修改PORTMACRO.H中的configCPU_CLOCK_HZ为对应的频率值,单位是Hz

Keil环境中建立带FreeRTOS的STM32L项目的更多相关文章

  1. keil C51中建立多文件时,变量重复定义的解决

    c/c++语言中有很多地方要用到extern,但是如果没有真正的了解它的意义,会给编程带来很大的麻烦,为了使大家少走弯路,特祥细的说明一下. 对于比较小的程序,一般只有一个c文件和一个头文件,全局变量 ...

  2. Keil c中自定义带可变参数的printf函数

    在嵌入式c中,往往采用串口打印函数来实现程序的调试,而在正式程序中一般是不需要这些打印代码的,通常做法是在这些调试用打印代码的前后设置一个宏定义块来实现是否启用这段代码,比如: // other us ...

  3. 搭建Vue.js环境,建立一个简单的Vue项目

    基于vue-cli快速构建 Vue是近年来比较火的一个前端框架,所以搭建Vue.js环境,要装webpack,vue-cli,Vue 安装webpack命令如下 $ cnpm install webp ...

  4. Idea开发环境中,开发springboot类型的项目,如果只引入parent节点,不添加依赖节点,maven是不会加载springboot的任何依赖的

    在SpringBoot类型的项目中,我本来是要使用pringBoot,创建一个Console项目,我原本在pom.xml中添加paren节点了,天真的认为不需要再添加其他任何依赖了,可是接下来的1个小 ...

  5. 用eclipse中自带的jetty启动项目

    1.建立datasources.xml,创建jndi <jee:jndi-lookup id="datasource" jndi-name="jndiname&qu ...

  6. Keil C51中函数指针的使用

    函数指针在C语言中应用较为灵活.在单片机系统中,嵌入式操作系统.文件系统和网络协议栈等一些较为复杂的应用都大量地使用了函数指针.Keil公司推出的C51编译器是事实上80C51 C编程的工业标准,它针 ...

  7. web环境中的spring MVC

    1. web.xml文件的简单详解 在web环境中, spring MVC是建立在IOC容器的基础上,要了解spring mvc,首先要了解Spring IOC容器是如何在web环境中被载入并起作用的 ...

  8. 开发环境中biztalk项目设置注意事项(转)

      适用版本:biztalk 2006 适用环境:开发测试环境 在开发过程中,在开发环境中,一定会是一个对项目不断的修改.编译.部署.测试,查看测试结果,发现有问题,然后回到开发环境再修改.编译.部署 ...

  9. 如何将其它javaweb项目变成可以成功在自己eclipse环境中运行的javaweb项目?

    说明:此文档仅适用于以下两种情况     (1)myeclipse项目需要在eclipse环境中运行     (2)eclipse项目,但是无法在自己的电脑eclipse环境中运行     注意:以下 ...

随机推荐

  1. EF 连接sql2000

    正常连接会提示版本低 可以先用ef连接高版本的sql然后新建好EDMX文件后,在右键xml方式打开,把ProviderManifestToken="2008" 改为2000 然后再 ...

  2. DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)

    前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语 ...

  3. c#开源消息队列中间件EQueue 教程

    一.简介 EQueue是一个参照RocketMQ实现的开源消息队列中间件,兼容Mono,具体可以参看作者的文章<分享一个c#写的开源分布式消息队列equeue>.项目开源地址:https: ...

  4. GIT常用命令笔记

    最近在做了一个自己的项目.两个人合作的,所以需要用到版本管理工具.本来打算学一下自己搭建svn的,后来朋友推荐我用git,免费,流行,好用,逼格.所以就学习了一下.发现这个git与已经使用惯了的svn ...

  5. 剑指Offer面试题:26.字符串的排列

    一.题目:字符串的排列 题目:输入一个字符串,打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a.b.c所能排列出来的所有字符串abc.acb.bac.bca.cab和cba. 二 ...

  6. Go语言的堆栈分析

    本文为理解翻译,原文地址:http://www.goinggo.net/2015/01/stack-traces-in-go.html Introduction 在Go语言中有一些调试技巧能帮助我们快 ...

  7. C#设计模式之命令

    IronMan之命令 在本篇中还是围绕着“IronMan”来讲,在上一篇“外观”中我们说到过“控制中心”.它是负责IronMan的核心,所有能想象到的功能都跟它有关系,就在使用它的时候,发现了一些问题 ...

  8. 利用Hexo搭建个人博客-博客初始化篇

    上一篇博文 <利用Hexo搭建个人博客-环境搭建篇> 中,我们讲解了利用Hexo搭建个人博客应该要配置哪些环境.相信大家已经迫不及待的想要知道接下来应该要怎么把自己的博客搭起来了,下面,让 ...

  9. HTML5新增标签与属性

    目录 一.HTML5新增属性 1.1.contextmenu 1.2.contentEditable 1.3.hidden 1.4.draggable 1.5.data-* 1.6.placehold ...

  10. OpenCASCADE Camera

    OpenCASCADE Camera eryar@163.com Abstract. OpenCASCADE introduce a new class Graphic3d_Camera for th ...