STM32F205RET6工程应用要点

一、STM32常识:

1、ARM平台汇编与MSC51平台汇编差异
  • 指令集:C51所用的指令集应用于所有X86架构的系统,被称为CISC(复杂指令集),对应的ARM系列指列集为RSIC(精简指令集),一个指令集复杂,另一个简单。

  • 系统资源:系统资源不一样。ARM的通用寄存器都是32位的,总共有31个,地址寄存器32位的,这样可以实现访问4GB的存储空间包括内部存储器及I/O端口。

  • 操作运行环境:寄存器数量多,大部分操作都在寄存器中完成,从而提高处理速度。(而CISC有相当一部分在存储器中完成的:寄存器间接寻址,基址加变址寻址,相对寄存器寻址,相对基址加变址寻址等这些寻址方式都是对存储器进行操作的)。

  • 异常处理模式:新增几种异常处理模式,即发生异常时,会自动跳入到相应的异常中断中去。

2、ARM讲一下其内部资源
  • 中断:对一个中断资源的优先级进行设置时,需设置一个四位的优先级寄存器,来决定这两个优先级各自的大小,而优先级组号,定义了抢占优先级的位数,如当使用优先级组1时,表示四位寄存器仅最低位1位来决定抢占优先级的大小,当此位为0时,表示,抢占优先级大小为0,为1时亦然。其余的三位用于表示子优先级的大小,可表示从0~7任何优先级数。

  • 时钟:根据速度及片内片外情况,分为HSE高速外部时钟;HSI调整内部时钟,LSE低速外部时钟,LSI低速内部时钟;共四个时钟源。
    其中
    HSE:一般通过外接一个3~25MHZ晶振产生,可作为系统时钟。
    HSI:内部自带时钟,系统的默认时钟源,大小为8MHZ.
    LSE:通过外接一个32.768KHZ的晶振产生,可作为RTC的时钟源;
    LSI:内部自带时钟,大小为40Khz的晶振,一般将其32分频后作为内部看门狗的时钟源;

  • 内存:不仅ARM,所有的嵌入式设备均将系统内存根据编译情况,分为代码段(CODE),只读数据段(RO),读写数据段(RW),未初始化读写数据段(ZI),堆(HEAP),栈(STACK),

注意:

①优先级数越低,优先级也低。因此可推算优先级组1可表示,两种抢占优先级,每种分别对应8种子优先级,共16个优先级别。另外,由于有些系统跑OS需要用到tick时钟,从而实现时间片轮转进行任务调试,且时间片轮转必须是抢占模式,因此,针对这种情况,不能使用优先级组0,因其0个位表示抢占优先级,即不支持抢占优先级。

二、STM32F205RET6工程应用

  • 中断:使用优先级组1时,表示四位寄存器仅最低位1位来决定抢占优先级的大小,当此位为0时,表示,抢占优先级大小为0,为1时亦然。其余的三位用于表示子优先级的大小,可表示从0~7任何优先级数。

  • 时钟:
    SYSCLK_FREQ_72MHz:SYSCLK = PLL_VCO / PLL_P =144M/2 =72M
    72M AHB Prescaler
    36M APB1 Prescaler
    72M APB2 Prescaler
    8M System Clock source

  • 内存:STM32F205RET6
    Flash:512Kbps 184.91KB 36.1% (RO+RW)
    SRAM:128K 103.27kB 80.7% (RW+ZI)

三、ucosII与ucosIII区别与应用

1、优先级:ucosii是原来只有0~63个优先级,而且优先级不能重复,ucos iii允许几个任务使用同一个优先级,在同一个优先级里面,支持时间片调度法;
2、资源管理:ucosiii允许用户在程序运行中动态配置实时操作系统内核资源,比如,任务、任务栈、信号量、事件标志组、消息队列、消息数、互斥型信号量、存储块划分和定时器,可以在程序运行中变更。这样,用户可以避免在程序编译过程中出现资源不够分配的问题。在资源复用上,也做了一些改进。
3、任务数:μC/OS-II中,最多任务数有64个,到了版本2.82以后是256个,μC/OS-III中,用户可以由任意多的任务、任意多的信号量、互斥型信号量、事件标志、消息列表、定时器和任意分配的存储块容量,仅受限于用户CPU可以使用的RAM量。

四、其它嵌入式实时操作系统

1、RTX(由KEIL公司设计,现在已经被并入ARM公司旗下)这个OS设计的也非常强劲,将基于Cortex-M3/M4架构的ARM芯片性能发挥到极致——零延迟中断、在任务切换等性能测试方面完爆其它RTOS。
2、FreeRTOS有GPL(修正版)许可证限制修改版的GPL许可证有如下几个缺陷(There are several reasons why developers may find the FreeRTOS modified GPL licence restrictive.)
  • 公司可能有一个全面禁止在他们的项目中使用GPL授权的软件。
  • 他们可能需要IP赔偿。
  • 他们可能更愿意在他们的产品中,避免FreeRTOS的许可证要求承认他们使用FreeRTOS的。
    前面说的OpenRTOS许可证删除GPL(修改版)的限制,提供知识产权保障,并允许开发者保持匿名。
注:

①实时性对比
这里提供一组实时性测试方面的数据,通过任务主动释放CPU权利来测试任务的切换速度
测试条件: STM32F103VET6,Cortex-M3内核,72Mhz,
软件用的MDK4.54, 1级优化。
测试10000次,2ms测试一次,然后求平均

RTX V4.5 252个时钟周期
uCOS-II V2.92.07 354个时钟周期
embOS V3.86 389个时钟周期
FreeRTOS V7.4.2 514个时钟周期(可能是这种测试方法对这个OS不太适合,另一个时间切换的时间是374个时钟周期)
uCOS-III V3.03.01 576个时钟周期

STM32F205RET6工程应用要点相关推荐

  1. 大数据处理与分析方向主要干什么_不了解干法制砂?6个影响干法制砂效果的主要因素及干法制砂生产加工7大技术要点分析...

    选择合理的设备配置和布设,采用合适的干法制砂工艺流程,全面地考虑各种因素,才能够确保制砂生产系统的稳定.高效.因为干法制砂工艺存在着差异性,所以在应用该工艺技术生产机制砂时会出现质量.产量等结果指标的 ...

  2. 《数据中心布线系统工程应用技术白皮书》正式启动编写工作

    <数据中心布线系统工程应用技术白皮书>正式启动编写工作 --综合布线工作组10月30日上海会议报导 中国工程建设标准化协会信息通信专业委员会综合布线工作组(以下简称工作组)根据近期编写计划 ...

  3. 计算机控制技术及应用第四章,计算机控制技术及工程应用第四章课件.ppt

    <计算机控制技术及工程应用第四章课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<计算机控制技术及工程应用第四章课件.ppt>文档请在天天文库 ...

  4. 数据结构与算法学习③(Hash hash算法的工程应用 递归 )

    Hash Hash 散列表(Hash Table) 概述 散列函数 散列冲突 复杂度分析 工程应用 面试实战 亚马逊,微软最近面试题,242. 有效的字母异位词 腾讯,高盛集团最近面试题,49. 字母 ...

  5. 深度人脸识别:CVPR2020论文要点

    深度人脸识别:CVPR2020论文要点 Towards Universal Representation Learning for Deep Face Recognition 论文链接:https:/ ...

  6. 变更控制管理流程图_干货丨项目管理流程及绘制规范要点

    1 什么是流程 流程是把一个或多个输入转换为对顾客有价值的输出的活动.简单地来说,流程其实就是"工作流转的过程",这些工作需要多个部门.多个岗位的参与和配合,这些部门.岗位之间会有 ...

  7. 度量学习:ArcFace算法和工程应用总结

    目录 前言 1 度量学习简介 2 ARCFace介绍 3 实际应用时的探讨 探讨1:类似于人脸识别这样的应用,从0到落地应用的大概流程是怎样的? 探讨2:怎么评估这个特征提取器网络训练好了? 探讨3: ...

  8. C#调用windows api的要点

    在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希 ...

  9. C#中调用Windows API的要点

    在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希 ...

  10. 启动子级时出错_减速机安装与使用时需注意的八个要点,细节很重要!

    减速机安装方式一直都是广大朋友遇到的问题,因为安装出错不光会影响使用,还可能会造成减速机的损伤,一台减速机价格不菲,那么安装时该注意的八个要点都有什么呢?一起来看看吧! 1.底座式安装,应校准中心线高 ...

最新文章

  1. python打包_cx_freeze
  2. 双十一:透支消费?累积消费?促进消费?
  3. P1801 黑匣子_NOI导刊2010提高(06)
  4. FPA笔记六 计算EI/EO/EQ的功能点
  5. patent sub categories
  6. 网管日志-06.09.26
  7. 多线程下局部变量与全局变量的使用及区别
  8. 5120v2怎么配置web登陆_阿里企业邮箱如何配置和添加到第三个电子邮件客户端中?...
  9. 【渝粤题库】国家开放大学2021春2219房屋构造与维护管理题目
  10. Open Graph Protocol(开放内容协议)
  11. Lesson 3 Part 2 logistic regression
  12. android gps测速代码,【GPS测速仪】GPS测速仪 GPS speedometer 1.6.0下载_安卓(android)软件下载-魅族溜...
  13. 数据恢复软件的原理是什么?
  14. 价值7k美刀的Flickr网站漏洞是怎么样的?
  15. 【洛谷P2000】拯救世界
  16. 考研英语作文—谋篇布局
  17. 服务网格——后 Kubernetes 时代的微服务(前言)
  18. 布道微服务_03服务的发布和引用
  19. 二分法解一元三次方程c语言,用二分法求一元三次方程的C++程序
  20. WPF: WPF 中的 Triggers 和 VisualStateManager

热门文章

  1. 乔姆斯基生成语法_乔姆斯基(乔姆斯基转换生成语法理论)
  2. eclipse编译Duet固件的完整过程
  3. 业务人员不知道如何提出 BI 需求,老板不重视 BI 项目怎么办?
  4. 安川机器人外部信号怎么接线_安川机器人通用输入输出信号定义.pdf
  5. 基于51单片机的电容电感电阻RLC测量仪protues仿真
  6. Learun FrameWork,.Net Core3.1工作流引擎平台
  7. Win/Chomer美化
  8. a标签点击中文文件名乱码_a标签文件下载文件名乱码问题
  9. springboot基于web的游泳馆信息管理系统毕业设计源码281444
  10. 启动jar包报错: 找不到或无法加载主类