UCOSII在STM32F407上的移植
1、ucosii移植准备工作
1.1准备基础工程:
移植的时候需要一个基础工程,为了方便起见我们就选取跑马灯实验,作为ucossii移植的基础工程。
1.2Ucossii源码:
1)Micrium官网下载
2)开发板光盘自带
2、Ucossii移植步骤
1)step1
在基础工程文件夹中先建立UCOSII文件夹,然后在基础工程中UCOSII下建立相应的文件夹:CONFIG、CORE和PORT。

2)step2
向core文件夹中添加文件,

3)step3
向CONFIG文件夹中添加文件,

4)step4
向PORT文件件中添加文件,

5)step5
将Ucosii源码添加到工程中,打开工程,选择

新建三个分组:

往分组里面添加文件,CORE

PORT

CONFIG



结果如下

把头文件路径添加进去,

编译后出现如下错误


这个文件没用到,可以注释掉

再编译,又有一个错误

这个中断服务函数完成上下文切换,一般都是用汇编来编写的,


把stm32f4xx_it.c里面的函数注释掉

再编译就没有错误了。
6)step6
修改sys.h文件

再编译会出现错误


再编译,没有错误
因为F4系列会有FPU浮点运算单元:

应该改为

重复定义了,不应该定义去掉__FPU_PRESENT=1
再编译,没有错误,
2.文件作用
1、CONFIG中文件

os_cfg.h文件很重要的一些系统相关的宏定义,主要用于系统的裁剪等。

2)PORT中的文件

注意多参考STM32的参考资料
3)CORE中的文件

4)整个架构
红色部分为整个源码部分,跟CPU无关的,
绿色部分与应用程序相关的代码
蓝色部分与移植相关的部分

3、测试软件是否移植成功
1)创建一个start_task任务,start任务用来创建其他任务。
2)创建一个led0_task任务,用来控制LED0的亮灭
3)创建一个led1_task任务,用来控制LED1的亮灭
4)创建一个float_task任务,用来测试浮点计算。

UCOSII在STM32F407上的移植的更多相关文章
- KEIL MDK环境下uCOS-II在LPC17xx上的移植实例
1. 知识准备 要想对ucos-ii的移植有较深的理解,需要两方面知识: (1)目标芯片,这里是lpc17xx系列芯片,它们都是基于ARMv7 Cortex-M3内核,所以这一类芯片的ucos-ii移 ...
- UCOSII在STM32F1上的移植
UCOSII在STM32F1上的移植 首先准备好一份STM32F1的工程.UCOSII源码. 在准备好的工程中新建一个"UCOSII"文件夹(或者取其它名字也行): UCOSII文 ...
- 怎样把UCos-ii_在STM32上的移植
下载代码 stm32 标准外设库是 stm32 全系列芯片的外设驱动,有了它能够大大加速我们 开发 stm32. 首先从 st 公司的站点下载最新的 stm32 标准外设库,写本文时最新的版本号是 V ...
- Qt4.8.5在ARM9上的移植
Qt4.8.5在ARM9开发板上的移植 以前移植过qtopia-embedded-2.2.0,俗称Qt/E,在早期的Qt框架中是使用X11桌面服务器系统,无法应用于嵌入式平台,为此产生了qtopia, ...
- OpenCV在ARM上的移植
OpenCV在ARM上的移植 与X86 Linux类似,请参考:Linux 下编译安装OpenCV 本文在此基础上进行进一步操作. 网络上很多移植编译的方法比较老,多数针对OpenCV 1.0,而且方 ...
- SPI在linux3.14.78 FS_S5PC100(Cortex A8)和S3C2440上驱动移植(deep dive)
由于工作的原因,对SPI的理解最为深刻,也和SPI最有感情了,之前工作都是基于OSEK操作系统上进行实现,也在US/OS3上实现过SPI驱动的实现和测试,但是都是基于基本的寄存器操作,没有一个系统软件 ...
- opus在arm的嵌入式平台上的移植和开发
最近产品中要用到opus,圣上一声令下,把opus移植到我们平台上,什么?opus?opus是什么?在一脸 茫然中,我这特种兵码农就赤手空拳上战场了. 废话少说,赶紧在网站:https://opus- ...
- μC/OS-II在Microblaze上的移植与使用专题--“安富利杯”赛灵思FPGA设计技巧与应用创新博文大赛参赛作品
reference:http://xilinx.eetrend.com/d6-xilinx/blog/2010-05/682.html 随着集成电路设计与制造技术的发展,FPGA芯片的容量越来越大 ...
- PCIE_DMA实例四:xapp1052在Xilinx 7系列(KC705/VC709)FPGA上的移植
PCIE_DMA实例四:xapp1052在Xilinx 7系列(KC705/VC709)FPGA上的移植 一:前言 这段时间有个朋友加微信请求帮忙调试一块PCIe采集卡.该采集卡使用xilinx xc ...
随机推荐
- 【策略】一致性Hash算法(Hash环)的java代码实现
[一]一致性hash算法,基本实现分布平衡. package org.ehking.quartz.curator; import java.util.SortedMap; import java.ut ...
- BZOJ4260,LOJ10051 Nikitosh 和异或
题意 给定一个含 \(N\) 个元素的数组 \(A\),下标从 \(1\) 开始.请找出下面式子的最大值:\((A[l_1]\bigoplus A[l_1+1]\bigoplus -\bigoplus ...
- JAVA内置注解 基本注解
温故而知新,可以为师矣! 每天复习,或者学习一点小东西,也能水滴石穿! 今天复习5个JAVA内置基本注解(贴代码胜过千言万语): package com.lf.test; import java.ut ...
- eclipse解决git冲突举例
本地修改了两个文件,提交时提示有冲突,想来应该是没有从远程仓库下载最新代码导致的.通过右击项目 -> Team -> Sychronized WorkSpace,比较本地仓库和远程仓库的异 ...
- Ubuntu-14.04-QT开发环境搭建-(一)
Ubuntu 14.04 QT 开发环境搭建 一 . 软件:qt-creator-linux-x86-opensource-2.7.0.binqt-everywhere-opensource-src- ...
- java代码逆序输出再连篇
总结:思维方式关键 package com.dfd; import java.util.Scanner; //逆序输出数字 public class fdad { public static void ...
- 根据MAC地址前6位知道网络设备是哪家公司生产的
http://standards-oui.ieee.org/oui/oui.txt https://files.cnblogs.com/files/itfat/oui.rar
- ARM-Linux内核移植之(一)——内核启动流程分析
内核版本:2.6.22 为什么要采用这样一个较低的版本进行移植了,因为韦东山大牛说了,低版本的才能学到东西,越是高版本需要移植时做的工作量越少,学的东西越少. 内核启动分为三个阶段,第一是运行hea ...
- c语言活动记录-图解(一)
来源: 1.<代码揭秘>第六章函数与函数调用 2.http://blog.csdn.net/zhuliting/article/details/6839233 引入话题: 局部变量是动态分 ...
- ceph 创建和删除osd
ceph 创建和删除osd 1.概述 本次主要是使用ceph-deploy工具和使用ceph的相关命令实现在主机上指定磁盘创建和删除osd,本次以主机172.16.1.96(主机名ha ...