嵌入式软件设计基础第三次实验报告.docxVIP

嵌入式软件设计基础第三次实验报告.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式软件设计基础第三次实验报告

信息工程实习报告 专 业:电子信息工程 姓 名: 齐治望 班 级:071142 指 导 老 师:杨勇 实验目的: 用STM32F103ZE实现 外部中断或事件。 在线程模式下将主栈切换为进程栈。 在线程模式下将特权等级切换为非特权等级。 在线程模式下切换为非特权等级后,访问Systerm Control Space register such as NVIC and SysTick。 在中断中将非特权等级切换为特权等级。 二、嵌入式系统设计方案 1.嵌入式操作系统选择 第一是应用。如果你想开发的嵌入式设备是一个和网络应用密切相关或者就是一个网络设备,那么你应该选择用嵌入式 Linux或者mCLinux,而不是mC/OS-II.第二是实时性。没有一个绝对的数字可以告诉你什么是硬实时,什么是软实时,它们之间的界限也是十 分模糊的,这与你选择什么样的ARM CPU,它的主频、内存等参数有一定的关系。如果你使用加入实时补丁等技术的嵌入式Linux,如MontaVista Linux(2.4.17版本),最坏的情况只有436微秒,而99.9%的情况是195微秒。考虑到最新的Linux在实时性方面的改进。它可以适合于 90~95%的各种嵌入式系统应用。当然,你如果希望更快的实时响应,如高速的A/D转换需要几个微秒以内的中断延时,可能采用mC/OS-II是合适 的。当然,你采用象Vxworks这样传统的嵌入式操作系统也可以满足这样的强实时性要求。  第三是开发工具。显然,目前mC/OS- II、mCLinux和嵌入式Linux的开发工具与商业嵌入式操作系统工具还有一些差距,目前在ARM CPU上广泛流行和使用的是ARM公司SDT/ADS工具链,产品无论在功能、稳定性和众多的第三方厂商支持方面都很好,唯一不足的是缺少对嵌入式 Linux操作系统的支持,SDT/ADS的升级产品RealView计划支持GCC和嵌入式Linux,但目前还没有看到,mC/OS-II可以使用 ARM SDT/ADS,但没有操作系统调试功能。 嵌入式处理器的选择 基于 相关外部设备的选择   在CORTEX-M3中,优先级对于异常来说很关键的,它会影响一个异常是否能被响应,以及何时可以响应。优先级的数值越小,则优先级越高。CORTEX-M3支持中断嵌套,使得高优先级异常会抢占低优先级异常。在复位后,对于所有优先级可编程的异常,其优先级都被初始化为0。而对于不可屏蔽中断和硬故障,把它们的优先级定为-2和-1(高于任何其它异常)。在编程优先级寄存器时,我们可以利用它们能按字节访问的好处,以简化程序代码。? 系统架构 各模式间的转换图: 实验设计: 在主程序中首先完成对中断的配置。在中断中设置特权等级。因为进入主程序后会默认为线程模式,栈为MSP指针所指向的栈,所以接下来在主程序中将栈由主栈切换到进程栈,切换完成后在将特权等级改为非特权等级。如果有中断发生,在中断中会改为特权级,这样在中断结束返回时就还是会是特权等级。三.硬件资源使用情况 1.嵌套向量中断控制器 特性 ● 68个可屏蔽中断通道(不包含16个CortexTM-M3的中断线); ● 16个可编程的优先等级(使用了4位中断优先级);● 低延迟的异常和中断处理;● 电源管理控制; ● 系统控制寄存器的实现; 嵌套向量中断控制器(NVIC)和处理器核的接口紧密相连,可以实现低延迟的中断处理和高效地 处理晚到的中断。 嵌套向量中断控制器管理着包括内核异常等中断。更多关于异常和NVIC编程的说明请参考 《STM32F10xxx Cortex-M3编程手册》。 2.系统嘀嗒(SysTick)校准值寄存器 系统嘀嗒校准值固定为9000,当系统嘀嗒时钟设定为9MHz(HCLK/8的最大值),产生1ms时间 基准。 3.外部中断/事件控制器(EXTI) 对于互联型产品,外部中断/事件控制器由20个产生事件/中断请求的边沿检测器组成,对于其它 产品,则有19个能产生事件/中断请求的边沿检测器。每个输入线可以独立地配置输入类型(脉冲 或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。每个输入线都可以独立地被屏 蔽。挂起寄存器保持着状态线的中断请求。 四.软件流程分析 主函数 (1)功能描述:嵌入式系统外部中断/事件控制器(EXTI)配置,在线程模式下主栈和进程栈的配置及切换,线程模式下访问等级的切换。在非特权等级下访问SysTick和NVIC寄

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档