[RTOS移植]--STM32F767移植RTThread

2023-12-16 22:20
文章标签 移植 rtos rtthread stm32f767

本文主要是介绍[RTOS移植]--STM32F767移植RTThread,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 通过STM32cube创建一个工程
  • 选择要移植的RTOS源
  • 下载到本地
  • 如果没有重启软件
  • 选择对应配置
  • 后续补充

通过STM32cube创建一个工程

在这里插入图片描述

选择要移植的RTOS源

在这里插入图片描述

下载到本地

在这里插入图片描述

如果没有重启软件

在这里插入图片描述

选择对应配置

Build started: Project: STM32F767
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\myapp\00-live\03stm32\00 keil5\ARM\ARM506\Bin'
Build target 'STM32F767'
compiling cpu_cache.c...
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(21): warning:  #223-D: function "SCB_EnableICache" declared implicitlySCB_EnableICache();
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(26): warning:  #223-D: function "SCB_DisableICache" declared implicitlySCB_DisableICache();
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(41): warning:  #223-D: function "__DSB" declared implicitly__DSB();
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(44): error:  #20: identifier "SCB" is undefinedSCB->ICIMVAU = address;
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(49): warning:  #223-D: function "__ISB" declared implicitly__ISB();
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(55): warning:  #223-D: function "SCB_EnableDCache" declared implicitlySCB_EnableDCache();
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(60): warning:  #223-D: function "SCB_DisableDCache" declared implicitlySCB_DisableDCache();
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(75): warning:  #223-D: function "SCB_CleanInvalidateDCache_by_Addr" declared implicitlySCB_CleanInvalidateDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(75): error:  #20: identifier "uint32_t" is undefinedSCB_CleanInvalidateDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(75): error:  #29: expected an expressionSCB_CleanInvalidateDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(75): error:  #18: expected a ")"SCB_CleanInvalidateDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(79): warning:  #223-D: function "SCB_CleanDCache_by_Addr" declared implicitlySCB_CleanDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(79): error:  #20: identifier "uint32_t" is undefinedSCB_CleanDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(79): error:  #29: expected an expressionSCB_CleanDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(79): error:  #18: expected a ")"SCB_CleanDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(83): warning:  #223-D: function "SCB_InvalidateDCache_by_Addr" declared implicitlySCB_InvalidateDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(83): error:  #20: identifier "uint32_t" is undefinedSCB_InvalidateDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(83): error:  #29: expected an expressionSCB_InvalidateDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(83): error:  #18: expected a ")"SCB_InvalidateDCache_by_Addr((uint32_t *)startAddr, size_byte);
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c(71): warning:  #177-D: variable "size_byte"  was declared but never referencedrt_uint32_t size_byte = size + (rt_uint32_t)addr - startAddr;
D:/myapp/00-live/03stm32/00 keil5/RealThread/RT-Thread/3.1.5/libcpu/arm/cortex-m7/cpu_cache.c: 10 warnings, 10 errors
"STM32F767\STM32F767.axf" - 10 Error(s), 10 Warning(s).
Target not created.
Build Time Elapsed:  00:00:00

失败报错一大堆
这种方法放弃

采用cube 创建裸机工程,移植rt_thread nano 3.03工程,可以运行

后续补充

通过UI 配置移植

这篇关于[RTOS移植]--STM32F767移植RTThread的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/502090

相关文章

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

RT-Thread(Nano版本)的快速移植(基于NUCLEO-F446RE)

目录 概述 1 RT-Thread 1.1 RT-Thread的版本  1.2 认识Nano版本 2 STM32F446U上移植RT-Thread  2.1 STM32Cube创建工程 2.2 移植RT-Thread 2.2.1 安装RT-Thread Packet  2.2.2 加载RT-Thread 2.2.3 匹配相关接口 2.2.3.1 初次编译代码  2.2.3.

libmad音频解码库-Linux交叉编译移植

下载并解压libmad-0.15.1b.tar.gz 下载链接:https://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz $tar -xvf libmad-0.15.1b.tar.gz$cd libmad-0.15.1b 1、先执行下面的命令:这条命令是为了适配高版本的gcc,因为高版本的gcc已经将-fforce-mem去除了:

arm linux lua移植

lua: lua home 1.下载lua源码 lua下载 lua-5.3.4.tar.gz 2.解压: tar xvf lua-5.3.4.tar.gz 3.修改makefile and luaconf.h $修改 lua-5.3.4/Makefile #INSTALL_TOP= /usr/local INSTALL_TOP= $(shell pwd)/out #修改安装目录(当前目录/o

FreeRTOS学习笔记—④RTOS通信管理篇/同步互斥与通信(正在更新中)

二、RTOS的核心功能   RTOS的核心功能块主要分为任务管理、内核管理、时间管理以及通信管理4部分,框架图如下所示:   (1)任务管理:负责管理和调度任务的执行,确保系统中的任务能够按照预期运行。   (2)内核管理:负责系统核心功能的管理,包括内存、中断、异常处理和系统启动等。   (3)时间管理:负责所有与时间相关的操作,包括系统时钟、定时器、任务延迟和周期性任务的执行。   (4)通

基于STM32的RTOS--freertos的使用(HAL实现多任务)

一:STM32cubemx配置         1:工程建立                         (1)打开stm32cubemx  点击进入芯片选择页面                                         (2)选择对应的芯片型号双击         2:调试接口配置                  3:时钟设置

集成电路学习:什么是RTOS实时操作系统

RTOS:实时操作系统         RTOS,全称Real Time Operating System,即实时操作系统,是一种专为满足实时控制需求而设计的操作系统。它能够在外部事件或数据产生时,以足够快的速度进行处理,并在规定的时间内控制生产过程或对处理系统做出快速响应。RTOS的主要特点包括及时响应、高可靠性、多任务处理、确定性、资源管理、优先级调度、中断处理和时间管理等。 一、RT

s3c2440---PWM使用之蜂鸣器驱动移植

一、蜂鸣器驱动介绍 1.1.什么是蜂鸣器               蜂鸣器是一种简单的声响发生器,常用于电子产品中作为警示或提醒作用。其基本原理是通过交替改变直流电的电压方向来产生声音,一般使用交替电流产生声音会比较稳定。 1.2.蜂鸣器的类别 1.有源蜂鸣器 1)结构原理 有源蜂鸣器内部自带振荡源,只需接通电源即可发声。内部电路会自动产生一定频率的振荡信号,从而驱动蜂鸣器发声。

【GD32】---- 移植工程模板及点灯测试

1 新建模板文件夹 新建一个名叫03_GD32TemplateProject的文件夹,用于建造工程模板 2 移植官方库文件 在模板文件夹里新建5个文件夹,分别存放官方库文件和系统驱动文件 01_main 存放main函数 02_Startup 存放系统启动文件 03_System 存放官方的系统文件 04_Firmware_PeripheralDriver 存放官方

[rk3588 ubuntu20.04]移植ROS2

目录 1 使用命令行安装ROS2 1.1设置语言 1.2添加源 1.3安装ROS2 1.4设置环境变量 2 在编译源码阶段安装ROS2 2.1调整roofts.img大小 2.2 安装ROS2 3 ROS2功能测试 1 使用命令行安装ROS2 1.1设置语言         设置语言为UTF-8。 sudo apt update && sudo apt insta