UCOS III移植到STM32F407过程

2023-05-16

UCOS III移植步骤

  1. 第一步:
    首先打开找到Mirium的官网,找到下载区域,按照MCU制造商来查找(看图)来下载对应的UCOS III系统,由于官方并没有直接对stm32f407系列的移植,所以我们就在官网上找到和stm32f407相近的芯片stm32f429(直接ctrl+F查找429即可)
    下载
    找到对应的系列
    下载

tips:需要注册登录才可以下载,由于不可描述的原因,下载比较慢,这里我把下载好的文件放一份链接在这里
http://t.cn/AikpPdht

  1. 第二步:
    添加一个已经配置好时钟的工程(LED)到复制到你创建好的一个工程文件夹(STMUCOSIII移植),然后将下载的UCOS III系统也解压到这个文件夹
    解压
  2. 第三步:
    把工程文件夹重命名为STM32F407UCOSIII,然后进入文件夹STM32F407UCOSIII,创建新的文件夹UCOSIII,在UCOSIII文件夹下面分别创建这几个文件夹
    在这里插入图片描述
  3. 第四步:
    参考下图的路径,把这几个文件复制到刚刚创建的APP目录下
    在这里插入图片描述
    在这里插入图片描述
  4. 第五步:
    同上,步骤类似具体看图
    在这里插入图片描述
    在这里插入图片描述
  5. 第六步:
    复制下图路径三个文件夹到UCOSIII目录下
    在这里插入图片描述
    在这里插入图片描述
  6. 第七步:
    因为main.c当中已经有了一个main()函数,本着主函数有且只能有一个的原则,我们要把这个main.c删除,同时工程里面对应的main.c也需要删除
    在这里插入图片描述
    在这里插入图片描述
  7. 添加APP组对应的代码文件
    在这里插入图片描述
    在这里插入图片描述
  8. 添加BSP组和APP组的过程一样,不再重复
  9. 添加剩余三个组的文件
    tips:
    这里三个组和其他两个组不太一样,他们还需要添加对应目录下的一个 RealView 的 文件夹里面的所有文件
    在这里插入图片描述
    添加完成后该有的文件
    uC-CPU
    uC-LIB
    uCOS-III
  10. 添加对应的头文件路径
    在这里插入图片描述
  11. 修改启动文件 startup_stm32f40_41xxx.s

ctrl+F查找 " PendSV_Handler " 修改为 OS_CPU_PendSVHandler 千万要注意需要删除那个横线
如下图
ctrl+F查找 " SysTick_Handler " 修改位 OS_CPU_SysTickHandler 千万要注意需要删除那个横线

替换成这样
在这里插入图片描述
13. 添加浮点型支持代码到startup_stm32f40_41xxx.s
浮点型代码在这个目录下的这个文件里在这里插入图片描述

//浮点型支持代码
                IF {FPU} != "SoftVFP"
                                                ; Enable Floating Point Support at reset for FPU
                LDR.W   R0, =0xE000ED88         ; Load address of CPACR register
                LDR     R1, [R0]                ; Read value at CPACR
                ORR     R1,  R1, #(0xF <<20)    ; Set bits 20-23 to enable CP10 and CP11 coprocessors
                                                ; Write back the modified CPACR value
                STR     R1, [R0]                ; Wait for store to complete
                DSB
                
                                                ; Disable automatic FP register content
                                                ; Disable lazy context switch
                LDR.W   R0, =0xE000EF34         ; Load address to FPCCR register
                LDR     R1, [R0]
                AND     R1,  R1, #(0x3FFFFFFF)  ; Clear the LSPEN and ASPEN bits
                STR     R1, [R0]
                ISB                             ; Reset pipeline now the FPU is enabled
                ENDIF

添加完成的样子
在这里插入图片描述

  1. 修改板卡驱动的bsp.h和bsp.c文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    然后删除剩下的BSP开头的函数

  2. 在 app_cfg.h 文件删除堆栈限制函数
    在这里插入图片描述

  3. 修改 app.c 相关文件在这里插入图片描述
    删除不必要的函数
    在这里插入图片描述
    在这里插入图片描述
    删除后续的无关代码
    完成!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UCOS III移植到STM32F407过程 的相关文章

  • MAX30102

    include 34 myiic h 34 include 34 delay h 34 初始化IIC void IIC Init void GPIO InitTypeDef GPIO InitStructure RCC gt APB2ENR
  • linux系统开机自动挂载分区

    以挂载分区 dev sdb1为例 1 查看所有的分区 xff1a sudo fdisk l 1 修改分区类型 fdisk dev sdb 输入m可以查看帮助 xff0c 修改分区类型需要使用t命令 xff0c 并输入分区类型标号 2 查看分
  • Python文件处理相关函数

    文件 xff0c 文件夹 xff0c 压缩包处理模块模块 shutil模块 引入 xff1a import shutil shutil是对OS中文件操作的补充 xff1a 移动 复制 打包 压缩 解压 1 copy文件内容到另一个文件 xf
  • Python多线程

    线程的创建 加入 锁 待补充完善
  • noVNC压缩包下载

    1 浏览器器输入地址 Git地址 xff1a GitHub Where the world builds software GitHub https github com 2 搜索noVNC 3 选择novnc noVNC 4 点击发行版本
  • Python数据类型(结构)

    Python复合数据类型之一 列表 即写在方括号之间 用逗号隔开的数值列表 列表内的数值不必全是相同的类型 list1 span class token operator 61 span span class token punctuati
  • Python条件循环控制语句

    Python 条件语句 通过一条或多条语句的执行结果 xff08 True或者False xff09 来决定执行的代码块 Python程序语言指定任何非0和非空 xff08 null xff09 值为true xff0c 0 或者 null
  • Python面向对象编程

    Python面向对象编程
  • Python基础

    span class token comment 这是单行注释 span span class token triple quoted string string 39 39 39 多行注释 多行注释 39 39 39 span span
  • Python运算符

    Python 运算符 算术运算符 比运 关系 算符较 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 1 Python算术运算符 下假设变量 xff1a a 61 10 xff0c b 61 20 43 加 两个对象相加 a 43
  • Ubuntu环境搭建(NFS、ftp、ssh)

    文章目录 1 安装FTP2 安装NFS服务3 安装SSH 1 安装FTP 在开发的过程中会频繁的在 Windows 和 Ubuntu 下进行文件传输 xff0c 比如在 Windwos 下进行 代码编写 xff0c 然后将编写好的代码拿到
  • boa服务器之boa.conf文件的基本配置详解

    1 Port span class hljs number 80 span 2 User root span class hljs keyword 3 Group span root 4 ErrorLog dev console 5 Acc
  • 【文献阅读】VQA入门——Tips and Tricks for Visual Question Answering: Learnings from the 2017 Challenge

    本人在读研一 xff0c 想要学习多模态这一块的工作 我在这里记录下我看的第一篇论文 Tips and Tricks for Visual Question Answering Learnings from the 2017 Challen
  • 若依分离版集成CAS单点登录-完整版

    前面用三篇文章介绍了若依前后端分离版集成CAS xff0c 实现单点登录功能 xff0c 同时对功能做了一点优化 xff0c 一是实现了单点登录成功后重定向页面为用户访问页面 xff1b 二是解决了单点登出缺陷 xff0c 三是介绍了解决跨
  • 无外接环境下,单笔记本直连浪潮服务器BMC灌装系统

    1 环境因素 xff1a 单服务器无网络无显示器等外接 xff0c 需要对浪潮防火墙灌装系统 xff1b 2 所需材料 xff1a 1 浪潮服务器 2 可接网线笔记本电脑 xff08 Windows平台 xff09 3 网线一根 3 连接拓
  • MySQL5.7免安装版安装操作

    一 下载地址 xff1a MySQL Begin Your Download http dev mysql com downloads file id 61 467269 下载到本地某一路径下 xff0c 下面开始安装 二 安装过程 1 创
  • Parseval’s theorem帕萨瓦尔定理及其证明过程

    Parseval 定理是信号视频分析 xff0c 相关推导过程汇总最常用的定理之一 xff0c 我们较为常用的表述是 xff0c 信号在时域和频域上的功率相等 xff0c 现在找到一个较为详细的帕萨瓦尔定理的原始版本及其证明过程 xff0c
  • 外包or外派岗,可以去?

    大家好 xff0c 今天说说外包 外派岗位那些事 上一回 说到 xff0c Sheldon争取到大厂工作的机会 xff0c 其实是世界500强外资银行H xff0c 委托某上市人力外包公司C招的外派岗位 外包 外派的本质 在H银行的经理口中
  • 仓库 “http://ppa.launchpad.net/v-launchpad-jochen-sprickerhof-de/pcl/ubuntu focal Release” 没有 Release

    sudo add apt repository ppa v launchpad jochen sprickerhof de pcl报错仓库 http ppa launchpad net v launchpad jochen spricker
  • VNCViewer 灰屏白屏 没有按钮没有桌面 非root,实验室环境

    背景 实验室有很多的账户 xff0c 我不是root用户 我想开一个vnc远程 我依次执行下面的代码 vncserver cmd打印的结果会包括有一个你对应的序号 xff0c 也就是你是第几个申请使用vncserver的 例如我是10 接着

随机推荐

  • 20200628-01 树莓派4B 交叉编译 Qt5.14.2 基于 ubuntu18.04 & ubuntu20.0

    修改日志 20210813 增加部分内容 1 rpi update 本地更新的方式 2 tests pkg config fail 错误的处理 3 增加 GL 驱动开启的说明 前言 执行流程包含树莓派上的操作 xff0c 以及 PC 机上的
  • 基于K-近邻算法的手写字符识别

    收集数据集 包括trainingDigits和testDigits文件夹 文件夹下是字符图像的二进制文本文件 大小为32 32 如下图所示 1 将二进制图像文本文件转换为一行向量 首先介绍listdir 它能返回文件夹路径下的所有子文件 i
  • vncviewer客户端连接服务器失败,报connect:connect refused(10061)

    这个问题百度了一下 xff0c 发现百度说的这个拒绝连接千遍一律都是 xff1a 1 服务器上的vnc没起来 xff0c service vncserver status 查看运行状态 xff0c 如果没起来就重新启动service vnc
  • virtualbox ubuntu桥接网卡不能上网,重启后不能上网问题

    设置完桥接网卡后 sudo vim etc network interfaces ip根据宿主机ip设置 编辑虚拟机网络配置文件 内容如下 interfaces 5 file used by ifup 8 and ifdown 8 auto
  • STM32 模拟IIC驱动MS5607气压传感器调试记录

    标题 STM32 模拟IIC驱动MS5607调试记录 因项目需求 xff0c 需使用MS5607的作为检测气压 xff0c 再此写下自己遇见的问题以及调试记录 硬件原理图如下 xff1a IIC接口总线使用了气压传感器 xff0c SHT3
  • 单片机学习 2-蜂鸣器

    蜂鸣器 蜂鸣器介绍 压电式蜂鸣器 xff08 无源蜂鸣器 xff09 发出声音必须提供一定频率的脉冲信号 1 5 5000HZ 频率周期固定 xff0c 高电平占用周期内时间不同 xff0c 音调不同 xff1b 高电平占用比不变 xff0
  • Linux配置网桥

    一 创建网桥配置文件 cp etc sysconfig network scripts ifcfg eth0 etc sysconfig network scripts ifcfg br0 二 配置网卡 设置网络为静态IP vi etc s
  • “野火FreeRTOS教程”第9章知识点总结-空闲任务与阻塞延时

    前言 在第7章我们知道在创建任务并启动任务调度器后 xff0c 当前任务控制块是指向第一个任务 xff08 即pxCurrentTCB 61 amp Task1TCB xff09 xff0c 然后会产生SVC中断 xff0c 将pxCurr
  • XShell+Xmanager实现在XShell中显示远程服务器的图形界面

    最近开始学习机器学习的知识 xff0c 迫切的需要用到Linux环境 xff0c 但是因为虚拟机用着电脑会变卡 xff0c 而且自己有台式 43 笔记本 xff0c 所以自己想要创建一个随时随地多设备可以用的实验环境 因此想到了搭建一个Li
  • MFC CStringArray使用方法

    xfeff xfeff MFC CStringArray使用方法 2014 07 04 10 03 34 转载 标签 xff1a vc 分类 xff1a Visual C CArray arrroads CStringArray road
  • 致我们终将逝去的2014

    一眨眼 xff0c 2014年的最后一张日历即将撕去 xff0c 迎来的是面貌全新的2015 回首2014 xff0c 回首这一年所经历的一切 xff0c 感觉那么近又那么远 下面将从几个方便总结自己的2014 xff1a 一 专业方面 x
  • 计算机基础知识之-线程&进程

    线程 amp 进程 死锁 多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力 然而 xff0c 并发执行也带来了新的问题 死锁 死锁是指两个或两个以上的进程 xff08 线程 xff09 在运行过程中因争夺资源而造成的一种僵局
  • linux下mysql访问速度缓慢并且ssh连接缓慢

    最近发现ssh连接的时候却很慢 xff0c ping的速度非常好 xff0c 让人误以为是ssh连接不上 分析结果 xff0c 主要原因为 xff1a DNS的解析IP导致 xff0c 可分别使用以下几种分析处理方式 1 linux ssh
  • vmware安装centos8之网络配置

    1 下载vmware 2 新建虚拟机 3 网络配置 3 1 查看自己主机ip 网关等信息 xff0c 例如个人主机信息如下 3 2 设置vmware网络连接 vmware gt 我的计算机 gt 设置 gt 网络适配器 gt 网络连接 gt
  • Ubuntu连上wifi后,能内网通讯,但访问不了外网的问题解决办法

    最近用Jetson Nano遇到了这样一个问题 系统时间一直定格在了2月7日的晚上 每次重启 xff0c 就会回到那个时间 经过一番检测 xff0c 发现是因为连不上外网 xff0c 导致不能同步时间 然后按照常规方法 xff0c 检测DN
  • simplegui自定义字库——UTF8版

    写作背景 日前 xff0c 笔者在学习simplegui xff0c 制作了一套适用于simplegui的自定义字库 UTF8版 在和群友交流的时候感觉自己讲不清楚 xff0c 经过分析是自己还没能深入理解相关知识 xff01 xff01
  • StarWind Software Image Converter:虚拟机镜像转换工具,可将 img 文件转换为 VMware虚拟机 Vmdk 文件

    然后添加官网下载解压好的 img文件 xff1a
  • 工作站启动不起来的解决方案

    我是一个运维小白 xff0c 今天遇到了公司工作站启动不起来的情况 工作站是DELL的 xff0c 尝试强制启动了好几次 xff0c 都没有启动起来 拔了电源 xff0c 静置一段时间后 xff0c 再插上电源 xff0c 再启动工作站 x
  • VNC连不上服务器,无法远程控制

    我是在服务器上添加了分帐户 xff0c 然后使用vnc连接 xff0c 遇到了vnc连不上的问题 有好几个问题导致这个原因 xff0c 这里说两个我遇到的 xff1a 第一 xff1a vnc连接失败 xff0c 此时 xff0c 可以试试
  • UCOS III移植到STM32F407过程

    UCOS III移植步骤 第一步 首先打开找到Mirium的官网 找到下载区域 按照MCU制造商来查找 看图 来下载对应的UCOS III系统 由于官方并没有直接对stm32f407系列的移植 所以我们就在官网上找到和stm32f407相近