KEA128 移植/嵌入Free_RTOS

2024-06-16 23:38
文章标签 移植 free 嵌入 rtos kea128

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

话不多说,直接上步骤:

1.准备一个KEA128的空工程,如LED闪烁工程

2.去除工程中的PendSV_Handler和SVC_Handler,以免报错重定义

3.将Free_RTOS相关文件复制入系统,这里我是从原子的工程里面复制来的

4.将RTOS系统文件加入工程,KEA128是CM0+内核的,所以port.c应该选择 portable\RVDS\ARM_CM0中的

5.修改FreeRTOSConfig.h中的各项宏定义:

      1.configUSE_PORT_OPTIMISED_TASK_SELECTION 设置为0,CM0+内核不支持CLZ指令

      2.configCPU_CLOCK_HZ    设置系统频率,我这里为40M

      3.configTICK_RATE_HZ    设置时钟节拍,这里为1000

      4.configMINIMAL_STACK_SIZE    设置空闲任务使用的堆栈大小,这里为128

      5.configTOTAL_HEAP_SIZE    设置给系统使用的总内存大小,这里为8KB,即总内存的一半

      6.configLIBRARY_LOWEST_INTERRUPT_PRIORITY    设置最低中断优先级,由于KEA128只有两位用于优先级配置,所以这里为3

      7.configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY    设置系统可管理的最高中断优先级,我这里设置为2,即优先级0、1 不被系统控制

      8.configPRIO_BITS    设置NVIC使用几个位来配置中断优先级,这里上面说过了,为2

6.增加 SysTick_Handler 的处理

void SysTick_Handler(void)
{if(xTaskGetSchedulerState()!=taskSCHEDULER_NOT_STARTED)//ϵͳÒѾ­ÔËÐÐ{xPortSysTickHandler();}
}

7.主函数中初始化任务前记得初始化SysTick,并把中断频率定为1000HZ

 

至此大功告成!需要源代码的可以在此下载:https://download.csdn.net/download/u011764302/12536057

这篇关于KEA128 移植/嵌入Free_RTOS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

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.

HumanNeRF:Free-viewpoint Rendering of Moving People from Monocular Video 翻译

HumanNeRF:单目视频中运动人物的自由视点绘制 引言。我们介绍了一种自由视点渲染方法- HumanNeRF -它适用于一个给定的单眼视频ofa人类执行复杂的身体运动,例如,从YouTube的视频。我们的方法可以在任何帧暂停视频,并从任意新的摄像机视点或甚至针对该特定帧和身体姿势的完整360度摄像机路径渲染主体。这项任务特别具有挑战性,因为它需要合成身体的照片级真实感细节,如从输入视频中可能

Base64编码 及 在HTML中用Base编码直接显示图片或嵌入其他文件类型

1.为什么要用到BASE64编码的图片信息      Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。Base64 主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下。最常见的用途是作为电子邮件或WebService附件的传输编码.  2.base64编码定义    目前的internet

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)通

专业远程控制SDK嵌入,贝锐向日葵助力保利物业实现智能设备运维

为了实现更高质量的物业服务,很多物业企业在社区一线部署了大量的数字化自助式终端设备。这些设备可以为居民提供自助式的基础物业服务,有效提升了服务效率,居民满意度也得以提高。 一方面,物业企业通过引入此类设备,也逐步开始数字化转型,进而实现管理体系的迭代和降本增效;另一方面,面对数量多,分布广的智能设备,也需要企业构建对应的专业远程运维和技术支持体系,对其实施有效的管理,同时在用户自助使用出现问

delphi : 窗体的close,free,destroy的区别

一、我用application.create(TForm2,Form2)语句,创建了Form2,可是调用了Form2.close后,重新调用Form2.show. 刚才所创建的Form2仍然存在。问为了节约资源,应该怎样使用close,free,destroy. 三者的关系是什么? 1、Action:=caFree。 2、 with TForm1.Create(Application) do