STM32 FreeRTOS Keil环境搭建

发布者:zhihua最新更新时间:2024-10-22 来源: cnblogs关键字:STM32  FreeRTOS  Keil  环境搭建 手机看文章 扫描二维码
随时随地手机看文章

由于FreeRTOS的官方已经支持STM32F1X系列的Cortex-M3的移植,所以只需要在Keil IDE中设置相关即可了;

  1. 在Keil中新建一工程,在工程中新建3个组,分别对应3个目录用来存放:user、rtos、stmlib

  2. user中添加用户自己的代码和头文件;

  3. rtos中添加rots的文件主要有:list.c、task.c、queue.c、head_2.c、port.c

  4. stmlib中添加STM32官方提供的STM32操作的lib库(注意stm32f10x_md.s中的内容和替换为FreeRTOS Demo 中的STM32F10X.s否则系统调度不能正常工作)

  5. 另外需要把FreeRTOS/source/include目录下的所有头文件都copy到新建项目的目录中去;

  6. 然后在用户程序中,先初始化硬件,然后创建任务,调用'vTaskStartScheduler()'启动内核即可;


关键字:STM32  FreeRTOS  Keil  环境搭建 引用地址:STM32 FreeRTOS Keil环境搭建

上一篇:STM32的备份电池寿命
下一篇:STM32的IAP下载与设置

推荐阅读最新更新时间:2024-11-20 11:21

高手经验!STM32中的位带(bit-band)操作
支持了位带操作后,可以使用普通的加载/存储指令来对单一的比特进行读写。在 CM3 中,有两个区中实现了位带。其中一个是 SRAM 区的最低 1MB 范围,第二个则是片内外设区的最低 1MB范围。这两个区中的地址除了可以像普通的 RAM 一样使用外,它们还都有自己的“位带别名区”,位带别名区把每个比特膨胀成一个 32 位的字。当你通过位带别名区访问这些字时,就可以达到访问原始比特的目的。 位带操作的概念其实 30 年前就有了,那还是8051 单片机开创的先河,如今,CM3 将此能力进化,这里的位带操作是 8051 位寻址区的威力大幅加强版。 CM3 使用如下术语来表示位带存储的相关地址: 位带区:支持位带操作的地址区
[单片机]
高手经验!<font color='red'>STM32</font>中的位带(bit-band)操作
带你一步步了解STM32启动代码
对于熟悉电脑的伙伴们来说,BIOS(那个蓝色的界面)可能不会太陌生吧,这货就是电脑的启动代码。没有BIOS的电脑,那注定是一块板砖!BIOS主要是做一些开机前的准备工作,例如系统时间设定、启动顺序。。。扯远了 其实电脑本身就是从单片机而来,那么单片机也是有启动代码的,只是我们绝大部分情况 不去关心它。 启动代码究竟都干了些什么工作,为何需要它?想想你在c语言中用到了什么东西,而这些东西却是拿来就可以用的?堆、栈!没错,就是他们。我们知道堆和栈是内存中划分出的一块区域,那为什么我们没有亲自划分呢,因为启动代码帮了你的忙!!!再想想单片机工作的时候,有哪些配置被我们忽略了,而它却可以用?时钟,就是这货,我们可以不配置时钟,而你
[单片机]
带你一步步了解<font color='red'>STM32</font>启动代码
stm32对flash的读写保护与解除
一、STM32对内部Flash的保护措施 所有STM32的芯片都提供对Flash的保护,防止对Flash的非法访问 - 写保护和读保护。 1、读保护即大家通常说的“加密”,是作用于整个Flash存储区域。一旦设置了Flash的读保护,内置的Flash存储区只能通过程序的正常执行才能读出,而不能通过下述任何一种方式读出:A、 通过调试器(JTAG或SWD); B、从RAM中启动并执行的程序; 2、写保护是以四页(1KB/页) Flash存储区为单位提供写保护,对被保护的页实施编程或擦除操作将不被执行,同时产生操作错误标志。 读与写设置的效果见下表: 读保护 写保护 对Flash的操作功能 有效 有效 CPU只能
[单片机]
<font color='red'>stm32</font>对flash的读写保护与解除
STM32 printf函数重映射
/* Private function prototypes -----------------------------------------------*/ #ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker- Libraries- Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fput
[单片机]
STM32驱动直流电机的程序与电路设计
本文介绍如何使用STM32F103单片机,通过官方固件库,设置高级定时器TIM1输出嵌入死区的互补PWM,来驱动直流电机的程序设计与电路设计。硬件电路采用IR2110S芯片作为mos管的驱动,驱动IRF840组成的H桥。IR2110S芯片使用中,有一个比较难理解的点——自举电容,本文对其原理也有涉及。 原理图文件 上图是系统的简化原理图,左侧是单片机。中间是IR2110S芯片,为了方便讲解,把芯片内部结构列出一些。右侧是MOS管组成的H桥。其中M是直流电机,有正反转。其中VCC是15V,MOTOR_VCC是24V,电压可以改变,最大不超过500V。单片机一般是3.3V或5V,无法直接驱动电机。可以借助H桥来实现对直流电机的
[单片机]
<font color='red'>STM32</font>驱动直流电机的程序与电路设计
STM32单片机(8) 程序加密
参考内容 http://www.cnblogs.com/pied/archive/2011/06/08/2075481.html http://v.pps.tv/play_38DQ4J.html#vfrm=8-8-0-1 相关文章 串口中断通信 http://blog.csdn.net/leytton/article/details/38393553 串口通信printf重定向 http://blog.csdn.net/leytton/article/details/38393967 STM32程序加密有两种方式 1、禁止读出Flash存储器内容 2、用ID加密程序 u8 Sys_ID ,i; for(i
[单片机]
STC12C5A60S2使用NRF24L01和stm32通信
/******************************************/ // // 该程序工作的主频是12MHz,单片机使用STC12C5A60S2 // /******************************************/ #include STC12C5A60S2.H #define uchar unsigned char #define uint unsigned int /********** NRF24L01寄存器操作命令 ***********/ #define READ_REG 0x00 //读配置寄存器,低5位为寄存器地址 #define WRITE_REG
[单片机]
stm32 外扩SRAM使用问题
当把外扩SRAM内存拷贝到片上SRAM内存时使用内存拷贝函数memset()或者原子定义的mymemset()函数,编译器会提示空间不足。 原因是这两个函数一个是只能对片上SRAM操作,一个是只能对外扩SRAM操作,两者没有一个可以同时操作片上SRAM和外扩SRAM,所以编译器会提示内存空间不足。
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved