【STM32Cubemx HAL库+STM32F4××+uCOSIII移植】


前言

本文介绍了基于STM32F405ZGT× HAL库的uCOSIII移植的详细过程,创建了三个任务,实现了LED闪烁、浮点数计算和串口打印等功能

一、uCOS源码获取

方法一:可以通过官网下载源码,官网链接:
https://www.silabs.com/developers/micrium
提示:在官网下载资源时需要注册账号。我注册的时候总是提示邮箱有误,不知道怎么解决,有了解的小伙伴欢迎把方法发在评论区


方法二:热心网友的分享:
https://download.youkuaiyun.com/download/fhdghfuiahfsdifbs/18909773
源码目录如下:
图片描述

补充几个UCOS源码下载的相关博客链接:

二、HAL工程建立

1.配置SYS,选择Serial Wire
在这里插入图片描述

2.配置RCC,选择高速外部时钟
在这里插入图片描述


在这里插入图片描述
3.配置GPIO(LED)和USART1,通过实现相关功能来测试uCOS移植效果
在这里插入图片描述


在这里插入图片描述
4.配置完成后,点击“GENERATE CODE”,生成工程代码。生成的keil工程如下
在这里插入图片描述

三、移植uCOS

3.1 工程文件夹的文件移植

1.在工程目录下新建文件夹UCOSIII,将源码内的uC-CPU、uC-LIB和uCOS-III这三个文件夹复制粘贴到UCOSIII文件夹下_
在这里插入图片描述


在这里插入图片描述
2.在UCOSIII目录下创建一个新的文件夹,命名为uCOS-CONFIG。接着,将源代码目录中的八个指定文件复制并粘贴到新创建的uCOS-CONFIG文件夹中。
在这里插入图片描述


在这里插入图片描述
3.在UCOSIII目录下创建一个新的文件夹,命名为uCOS-BSP,并新建两个空白文件bsp.c和bsp.h
在这里插入图片描述
4.在Src和Inc文件夹下分别新建空白文件myucos.c和myucos.h
在这里插入图片描述


在这里插入图片描述

3.2 keil工程目录文件添加

1.向keil工程中添加如下分组
在这里插入图片描述
2.向分组中添加文件(添加.c文件和.asm文件)

在这里插入图片描述


Image 1 Image 2 Image 3
Image 4 Image 5 Image 6

3.添加头文件路径
在这里插入图片描述

3.3 文件修改

1.在bsp.h中添加如下内容

#ifndef  __BSP_H__
#define  __BSP_H__

#include "stm32f4xx_hal.h"

void BSP_Init(void);

#endif

2.在bsp.c中添加如下内容

#include "includes.h"

#define  BSP_REG_DEM_CR                           (*(CPU_REG32 *)0xE000EDFC)	//DEMCR寄存器
#define  BSP_REG_DWT_CR                           (*(CPU_REG32 *)0xE0001000)    //DWT控制寄存器
#define  BSP_REG_DWT_CYCCNT                       (*(CPU_REG32 *)0xE0001004)	//DWT时钟计数寄存器	
#define  BSP_REG_DBGMCU_CR                        (*(CPU_REG32 *)0xE0042004)

//DEMCR寄存器的第24位,如果要使用DWT ETM ITM和TPIU的话DEMCR寄存器的第24位置1
#define  BSP_BIT_DEM_CR_TRCENA                    DEF_BIT_24			

//DWTCR寄存器的第0位,当为1的时候使能CYCCNT计数器,使用CYCCNT之前应当先初始化
#define  BSP_BIT_DWT_CR_CYCCNTENA                 DEF_BIT_00

/*
*********************************************************************************************************
*                                            BSP_CPU_ClkFreq()
* Description : Read CPU registers to determine the CPU clock frequency of the chip.
* Argument(s)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值