第4章 C55x处理器的软件设计

第4章 C55x处理器的软件设计

ID:42161841

大小:320.00 KB

页数:56页

时间:2019-09-09

第4章 C55x处理器的软件设计_第1页
第4章 C55x处理器的软件设计_第2页
第4章 C55x处理器的软件设计_第3页
第4章 C55x处理器的软件设计_第4页
第4章 C55x处理器的软件设计_第5页
资源描述:

《第4章 C55x处理器的软件设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章C55x处理器的软件设计C55x处理器程序基本结构C语言程序开发及优化C语言与汇编语言的混合编程通用目标文件格式C55x处理器的数字信号处理库和图像、视频处理库7/20/20211东华理工大学机械与电子工程学院C55x处理器软件开发流程7/20/20212东华理工大学机械与电子工程学院4.1C55x处理器程序基本结构根据任务调度的方式不同分为两类由程序自己完成任务调度运行效率高,对硬件中断响应快程序运行稳定,适合于任务较为单一实时性较强的应用由嵌入式操作系统完成任务调度利用处理器同时完成多个任务简化了应用系统软件设计良好的多任务设计有助于提高系统的稳

2、定性和可靠性7/20/20213东华理工大学机械与电子工程学院4.1.1自我调度程序的基本结构自我调度程序组成中断程序部分通过设置判断标志来影响主循环部分的运行初始化部分DSP软、硬件的初始化设置启动系统硬件使能DSP中断启动DMA传送等主循环部分数据输入、处理和输出等,条件判断和处理模块等7/20/20214东华理工大学机械与电子工程学院中断程序1………中断程序m;Main(){DSP_INT(){……};//DSP软硬件初始化,启动、使能for(;;)//主循环{if(条件1)//判断条件1{处理模块1;//条件满足运行处理模块1};……if(条件n)

3、//判断条件n{处理模块n;//条件满足运行处理模块n};}}7/20/20215东华理工大学机械与电子工程学院4.1.2应用嵌入式操作系统硬实时方式按照固定时钟节拍切换任务不仅要执行无误,而且要准时软实时方式由软件来进行任务的切换使各个任务尽快运行,而不要求限定某个任务在多长时间内完成7/20/20216东华理工大学机械与电子工程学院嵌入式操作系统的核心是操作系统内核优先级的内核可以分成两种类型不可剥夺型内核——合作型多任务要求每个任务能够主动放弃CPU使用权每个任务相互合作,共享一个CPU异步事件由中断服务来处理,高优先级任务由挂起态变为就绪态允许任务

4、使用不可重入函数优点是响应中断快,缺点是响应时间具有不确定性可剥夺型内核具有最高优先级的任务就绪,得到CPU的使用权不应直接使用不可重入函数,否则应满足互斥条件主要工作是完成任务(线程)的调度7/20/20217东华理工大学机械与电子工程学院任务(线程)管理任务是一个无限循环,必须处于下列五个状态之一休眠状态任务驻留在内存之中,但并没有被系统内核所调用。就绪状态任务已经准备好,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行。运行状态任务拥有CPU的使用权,正在运行。挂起状态任务正在等待某一个事件的发生以结束目前的等待。被中断状态发生中断,C

5、PU进入中断服务程序,而暂时不能运行当前的任务。7/20/20218东华理工大学机械与电子工程学院任务状态转换等待就绪7/20/20219东华理工大学机械与电子工程学院两种类型二进制型—看做一个只有一位的计数器型信号量计数器型两个任务之间利用信号量来取得同步单向同步任务用一个信号量触发另一个任务双向同步信号量—嵌入式操作系统的约定机制7/20/202110东华理工大学机械与电子工程学院4.2C语言程序开发及优化C语言中的数据类型7/20/202111东华理工大学机械与电子工程学院C语言中的数据类型7/20/202112东华理工大学机械与电子工程学院定义各种

6、数据类型时应注意如下规则:避免设int和long为相同大小。对定点算法(特别是是乘法)尽量使用int数据类型。用long类型作乘法操作数会导致调用运行时间库(run-timelibrary)的程序。使用int或unsignedint类型而非long类型来循环计数避免设char为8位或long为64位。当所写代码用于多DSP目标系统中时,宜定义genetic类型。比如,一个人可以对16位整数和32位整数分别使用int16和int32。当对C55xDSP进行编译时,这些类型会分别被定义成int和long。最好使用int类型作循环指数变量和其它位数不太重要时的整

7、型变量,因为int是对目标系统操作最高效的整数类型而不管芯片结构如何。7/20/202113东华理工大学机械与电子工程学院4.2关键字4.2.1const关键字C55xC编译器支持标准C语言的const关键字。将这个关键字使用到对任意变量或数组的定义上可以确保它们的值不改变。如果定义一个对象为const,那么const段就会为该对象分配存储空间。使用const关键字可以定义大常数表并将它们分配到系统ROM中。7/20/202114东华理工大学机械与电子工程学院4.2.2ioport关键字——对I/O空间进行寻址关键字ioportioport类型只能用来声明

8、全局或静态变量。在本地变量中使用ioport类型,则变量必须用指针

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。