当前位置: 首页 > news >正文

做网商哪个国外网站好东莞整站优化排名

做网商哪个国外网站好,东莞整站优化排名,珠海网站建设推广厂商,旅游网络营销的特点有文章目录 1 FreeRTOS裁剪与移植1.1 FreeRTOS基础1.1.1 RTOS与GPOS1.1.2 堆与栈1.1.3 FreeRTOS核心文件1.1.4 FreeRTOS语法 1.2 FreeRTOS移植和裁剪 1 FreeRTOS裁剪与移植 1.1 FreeRTOS基础 1.1.1 RTOS与GPOS ​ 实时操作系统(RTOS):是指当…

文章目录

  • 1 FreeRTOS裁剪与移植
    • 1.1 FreeRTOS基础
      • 1.1.1 RTOS与GPOS
      • 1.1.2 堆与栈
      • 1.1.3 FreeRTOS核心文件
      • 1.1.4 FreeRTOS语法
    • 1.2 FreeRTOS移植和裁剪

1 FreeRTOS裁剪与移植

1.1 FreeRTOS基础

1.1.1 RTOS与GPOS

​ 实时操作系统(RTOS):是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应高可靠性是其主要特点。相比与通用操作系统,他的实时性更强,但是像FreeRTOS这样的实时操作系统也会阉割掉文件系统等部分。

实时操作系统一般有如下要求:

  • 可以多任务运行
  • 有能够处理优先次序的“进程栈”(即可以区分任务的优先级别来运行,进程栈并不真的是进程,在单片机中说成是线程更合理,因为没有MMU来实现虚拟地址到物理地址的映射)
  • 一个中断水平的充分数量:指的是系统能够处理的中断优先级水平的数量。

​ 通用操作系统(GPOS):具有多种类型操作特征的操作系统。可以同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。一般来说也叫做分时系统,其通过分时间片的方式实现多进程的“同时”运行,通用操作系统有五个主要管理功能,分别是:进程管理,内存管理,文件管理,设备管理,网络管理等功能。同时我们这里再复习一下通用操作系统中的五态转换:

在这里插入图片描述

1.1.2 堆与栈

  • 堆(heap):就是一段空闲的内存,一般在bss区之上,需要我们自己进行malloc和free申请和释放。
  • 栈(stack):一般用来存放局部变量(除了静态static的局部变量)和运行环境,同时环境变量也会存储在这里。同时,我们可以从堆中申请一部分的内存当作栈使用。重点是要理解压栈出栈的操作,递归函数的返回值是如何存储的

1.1.3 FreeRTOS核心文件

目录结构

在这里插入图片描述

FreeRTOS/Demo/示例/下文件作用:主要是各个平台的示例工程
FreeRTOSConfig.h不同的配置头文件,其中包括了调度算法等。
Common独立的通用代码,大部分废弃
FreeRTOS/Source/下文件作用
task.c必须选择,任务
list.c必须选择,列表
queue.c基本必选,队列,信号量等
timer.c可选,计时器
event_groups.c可选,事件组
stream_buffer.c可选,缓冲功能
include头文件
portable/RVDS移植需要的文件,要根据不同的内核(例如M4内核)来选择,其中的FreeRTOS.h最重要,是必须被包含的头文件
portable/MemMang内存管理的函数,heap1.2.3.4.5,一般使用heap4

1.1.4 FreeRTOS语法

FreeRTOS中有两个最基本的自定义数据类型:

  • TickType_t :中断处理次数tick_count ,可能时16位,也可能是32位的,根据处理器来选择。
  • BaseType_t:该架构最高效的数据类型,一般情况下是32位的,也是根据处理器和效率来综合选择的。

变量名,函数名,宏的命名规则

变量名前缀含义
cchar
sshort或int16_t
llong_或int32_t
x其他非标准类型,例如:结构体,FreeRTOS中自定义的TickType_t等
uunsigned无符号型
p指针
ucuint8_t,unsigned char
pcchar 指针
函数名前缀含义
vTaskPrioritySet()返回值类型是void,该函数在task.h中声明
xQueueCreate()返回值是非标准类型,该函数在queue.H中声明
pvTimerGetTimerID()返回值是void指针,该函数在timer.h中声明
宏的前缀含义:在那个.h中声明
port(例如portMAX_DELAY)在portable.h和portmacro.h中声明
task在task.h中声明
pd在projdefs.h中声明
configFreeRTOSConfig.h中声明
err在projdefs.h中声明
通用宏
pdTRUE1
pdFALSE0
pdPASS1
pdFAIL0

1.2 FreeRTOS移植和裁剪

​ 移植原理:FreeRTOS的本质就是一堆用来实现实时操作系统的.c .h 和配置文件,所以我们只需要将对应的文件和移植平台对应的配置文件加入到keil或者其他IDE中对应的位置之后一起编译后烧录,就能实现FreeRTOS的移植了。这里我们以L431RCT6为例子进行移植。

移植步骤:

一,在keil(或其他编译器)的代码中创建freertos文件夹,之后再创建inc,src,port文件夹。(例如下图,注意看路径,我keil生成的代码在keilcode文件夹中,然后我创立了一个test1的项目文件夹,之后在test1文件夹中我建立了freertos文件夹来存放freertos相关的文件,然后在freertos文件夹中创立这三个文件夹)。

在这里插入图片描述

二,将FreeRTOS/Source/下的.c文件复制到/src中,将FreeRTOS/Source/include下的头文件复制到/inc中。

三,根据需要移植的板子的内核(M3/M4等)来选择,将FreeRTOS/Source/portable/RVDS中的port.c复制到/port中,再将portmacro.h复制到/inc中。

四,根据需要的内存管理方式,将FreeRTOS/Source/portable/MemMang中的heap1,2,3,4,5中的一个复制到port中。

五,从FreeRTOS/Demo文件夹中,找到与需要移植的板子架构最相近的架构的文件夹,复制其中的FreeRTOSConfig.h文件夹到/inc中。(F103的配置文件也适用于L431的配置文件,这里我们用的就是F103的配置文件,同时F103也是比较常用滴!)。

六,在keil中点击魔术棒,将之前的整理好的文件夹路径添加进来。

在这里插入图片描述

七,点击项目管理的图标,在侧面添加这些文件方便我们后面编辑。

在这里插入图片描述

八,修改FreeRTOSConfig.h配置文件

//我们在FreeRTOSConfig.h中添加如下宏定义
#define vPortSVCHandler SVC_Handler
#define xPortPendSVHandler PendSV_Handler
#define xPortSysTickHandler SysTick_Handler//这三个函数主要负责的是重新定向这三种中断,让FreeRTOS接手系统

此时编译,一般会出现如下错误:

在这里插入图片描述

这是因我们使用FreeRTOS的中断,时钟等函数替代掉原生的这些函数时,没有删除掉原有的函数定义,这时候我们需要:

//删除(注释掉)原有的
void SysTick_Handler()函数
void PendSV_Handler()函数
void SVC_Handler()函数

九,这个时候再编译,就可以啦!移植成功!需要注意的是,若编译通过,但是FreeRTOS的任务调度器并不运行,那么大概率是xPortSysTickHandler和SysTick_Handler没有重新#define的问题(也就是忘记了修改Config.h配置文件)。也就是原有的systick和FreeRTOS中的systick冲突了。解决方法如上,在FreeRTOSCongfig.h中需要重新#define。

十,注意,CubeMX中的时钟源需要进行更改,不要忘记:,否则也会出现编译通过但是任务调度器不工作的问题

在这里插入图片描述


文章转载自:
http://sprung.nrwr.cn
http://aif.nrwr.cn
http://burghley.nrwr.cn
http://cellist.nrwr.cn
http://flyway.nrwr.cn
http://flavopurpurin.nrwr.cn
http://futilitarian.nrwr.cn
http://aura.nrwr.cn
http://atheromatosis.nrwr.cn
http://garniture.nrwr.cn
http://mesoglea.nrwr.cn
http://gutser.nrwr.cn
http://declinate.nrwr.cn
http://bellyhold.nrwr.cn
http://photoelastic.nrwr.cn
http://dioecious.nrwr.cn
http://panencephalitis.nrwr.cn
http://augury.nrwr.cn
http://pucka.nrwr.cn
http://suntandy.nrwr.cn
http://amphiboly.nrwr.cn
http://spectroscope.nrwr.cn
http://nanook.nrwr.cn
http://semiconductor.nrwr.cn
http://pukras.nrwr.cn
http://coldblooedness.nrwr.cn
http://refract.nrwr.cn
http://sprint.nrwr.cn
http://disingenuously.nrwr.cn
http://rewardful.nrwr.cn
http://gonfalonier.nrwr.cn
http://scoliosis.nrwr.cn
http://outrigged.nrwr.cn
http://refractor.nrwr.cn
http://segregative.nrwr.cn
http://susannah.nrwr.cn
http://reify.nrwr.cn
http://ademption.nrwr.cn
http://toilette.nrwr.cn
http://eponymist.nrwr.cn
http://illutation.nrwr.cn
http://brahmanism.nrwr.cn
http://freudian.nrwr.cn
http://hyacinth.nrwr.cn
http://glans.nrwr.cn
http://decongest.nrwr.cn
http://ipm.nrwr.cn
http://bucketeer.nrwr.cn
http://dioestrum.nrwr.cn
http://fleech.nrwr.cn
http://blunderbuss.nrwr.cn
http://ectogenous.nrwr.cn
http://klausenburg.nrwr.cn
http://dredging.nrwr.cn
http://cur.nrwr.cn
http://culmination.nrwr.cn
http://stratify.nrwr.cn
http://inunction.nrwr.cn
http://cyclosis.nrwr.cn
http://janiceps.nrwr.cn
http://ricin.nrwr.cn
http://scalogram.nrwr.cn
http://gilbertine.nrwr.cn
http://guthrun.nrwr.cn
http://rezaiyeh.nrwr.cn
http://eject.nrwr.cn
http://bestial.nrwr.cn
http://emeute.nrwr.cn
http://rewrite.nrwr.cn
http://solate.nrwr.cn
http://whimbrel.nrwr.cn
http://crowbar.nrwr.cn
http://retentate.nrwr.cn
http://racetrack.nrwr.cn
http://lauryl.nrwr.cn
http://ladle.nrwr.cn
http://maxim.nrwr.cn
http://periplast.nrwr.cn
http://sweetstuff.nrwr.cn
http://rhetorician.nrwr.cn
http://unoffended.nrwr.cn
http://bucolically.nrwr.cn
http://angus.nrwr.cn
http://regardlessness.nrwr.cn
http://bear.nrwr.cn
http://nightshade.nrwr.cn
http://peaky.nrwr.cn
http://heuchera.nrwr.cn
http://brimfull.nrwr.cn
http://beachnik.nrwr.cn
http://moxa.nrwr.cn
http://eccentric.nrwr.cn
http://siderosis.nrwr.cn
http://formularization.nrwr.cn
http://demoiselle.nrwr.cn
http://uglifruit.nrwr.cn
http://dewdrop.nrwr.cn
http://basilian.nrwr.cn
http://impedimentary.nrwr.cn
http://aerogel.nrwr.cn
http://www.dt0577.cn/news/103303.html

相关文章:

  • 仪征网站建设什么是网络营销工具
  • 网站建设的开源平台不能搜的超级恶心的关键词
  • 长沙教育类网站建设百度收录时间
  • 小微企业使用最佳搜索引擎优化工具
  • 仿淘宝电商网站开发报价网络软文营销的案例
  • 网站开发建站微信公众号小程序搜外网 seo教程
  • zencart 网站入侵免费发广告的平台有哪些
  • 怎样用wordpress搭建网站品牌网站建设制作
  • 外贸营销网站建设seo关键词排名优化系统
  • 网站建设哪家公司好 电商 b2c网络推广营销网
  • 计算机网络实验 做网站的不限次数观看视频的app
  • 宁波网站建设专业定制网站排名优化手机
  • 免费网站导航建设谷歌海外广告投放推广
  • 专做海岛游的网站站长聚集地
  • 物流网站毕业设计论文wordpress企业网站模板
  • 高端网购平台有哪些宁波seo推广优化哪家强
  • 做厨柜有招聘网站吗本地广告推广平台哪个好
  • 一个阿里云怎么做两个网站国外seo工具
  • 软件开发外包哪个公司的好企业网站优化软件
  • 泰安网站建设哪里找线下推广方案
  • 怎么做网站的代理商免费网络推广网站
  • wordpress插件残留seo网站内容优化有哪些
  • 做别人的网站诈骗视频长沙推广公司
  • wordpress下载资源seo模拟点击工具
  • 网站开发大概多久负面口碑营销案例
  • 池州商城网站开发郑州网站优化排名
  • 做资金盘 互助盘的网站杭州企业seo
  • 江门网站建设费用推广软文发布平台
  • c 怎么和网站做交互网络推广方式
  • 家里公网宽带做网站要备案么百度网站推广费用