KEA128 移植/嵌入Free_RTOS

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

本文主要是介绍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

相关文章

移植对话框MFC

VC版 MFC程序对话框资源移植 以下均拷贝自上面,仅用来记录 (部分有删除) 法1: Eg:将B工程调试好的对话框移植到A工程中 1.资源移植         1.1  在2017打开B工程,在工作区Resource标签页中选中Dialog文件夹下的资源文件,按Ctrl+C或点击Edit->Copy.         1.2. 关闭当前工程,注意不要关闭VC6,打开B工程(File

▶《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch5 蒙特卡洛方法【model-based ——> model-free】

PPT 截取必要信息。 课程网站做习题。总体 MOOC 过一遍 1、视频 + 学堂在线 习题 2、 过 电子书 是否遗漏 【下载:本章 PDF GitHub 页面链接 】 【第二轮 才整理的,忘光了。。。又看了一遍视频】 3、 过 MOOC 习题 看 PDF 迷迷糊糊, 恍恍惚惚。 学堂在线 课程页面链接 中国大学MOOC 课程页面链接 B 站 视频链接 PPT和书籍下载网址: 【Gi

基于imx6ull开发板 移植opencv4.7.0

一、概述 本章节是针对opencv-4.7.0移植到Linux系统,运行在正点原子-I.MX6U ALPHA开发板 上,详细的移植流程如下。 二、环境要求 2.1 硬件环境 正点原子-I.MX6U ALPHA开发板虚拟机:VMware 2.2 软件环境 Ubuntu系统要求:20.04opencv版本: 4.7.0opencv贡献软件版本:4.x交叉工具链版本:gcc-linaro-6

NLP中文本的嵌入层

在自然语言处理(NLP)任务中,模型学习的不是原始的文本字符串,而是这些字符串通过分词和索引化过程转换成的单词索引。实际学习的内容是这些单词索引对应的嵌入向量及其在模型中的权重。 原始文本到模型输入的过程 原始文本: 例如:“hello world” 分词(Tokenization): 将文本字符串分割成单词、子词或字符。例如:["hello", "world"] 构建词汇表(Voc

conda环境的备份和移植

备份和移植 Conda 环境可以通过以下步骤实现: 克隆环境 conda create --name backup_myenv --clone myenv# 删除原环境# conda remove --name myenv --all 移植 Conda 环境 方法1:使用 environment.yml 文件移植环境 # 导出环境的依赖项conda env export --na

52、U-boot2023的移植教程

uboot:https://ftp.denx.de/pub/u-boot/ nxp-uboot:https://github.com/nxp-imx/uboot-imx 1、顶层Makefile  文件加入编译的两种方式:以xxx/xxx.c文件为例         1、使用menuconfig:               先编辑.c所在目录下的Kconfig,加入配置项xxx

将OpenCV的代码从C++移植到C语言过程小记

目录 1、需求背景2、移植成C语言2.0 移除namespace特性2.1 移除template特性2.2 移除class特性2.3 移除vector特性2.4 移除std函数2.5 移除引用传值2.6 移除auto类型推导2.7 C++中的关键词2.8 其他语言差异 3、测试和杂项3.1 C语言和C++编译兼容3.2 GCC用C语言规则编译源文件3.3 修改文件名后缀 4、最终代码

lock_free 锁无关

锁无关的(Lock-Free)数据结构——在避免死锁的同时确保线程继续 C/C++ Users Journal October, 2004 锁无关的(Lock-Free)数据结构 在避免死锁的同时确保线程继续   Andrei Alexandrescu 刘未鹏 译 Andrei Alexandrescu是华盛顿大学计算机科学系的在读研究生,也是《Modern C++ Design》一书的作者。

cocos2dx移植android平台

尊重版主:http://www.cocoachina.com/bbs/read.php?tid=195182 Cocos2D-X SimpleGame & 初学者教程:http://cocos2d.cocoachina.com/resource/show?nid=82 本人这几天一直都没有跟新自己的网站内容,问我干什么去了,当然是做这篇文章做的事了,说起这个移植来真是麻烦

移植SQLite到ARM开发板

最近在搞移植数据库到开发板,上网一搜都是sqlite ,所以就用这个吧,记录一下,特别简单, 首先要确保开发环境是好的,交叉编译器,NFS文件系统挂载等, 下载sqlite源码, http://www.sqlite.org/quickstart.html 拷贝到UBUTUN系统里,解压 tar -xzvf sqlite-autoconf-3080403.tar.gz 进入目录 cd