第4章C55x处理器的软件设计 4.1.2应用嵌入式操作系统 任务之间的通信可以通过两个途径:全局变量或 消息。 使用全局变量必须保证任务或中断服务子程序, 在使用该变量时没有其他的任务或中断服务子程序访 问该变量 。 另外,如果任务没有其他机制通知其变量已经被 修改了,任务就只能周期性地查询该变量的值。要避 免这种情况,可以考虑使用消息邮箱或消息队列。 2010年7月18日 TMS320C55xDSP原理及应用 26
第4章C55x处理器的软件设计 4.1.2应用嵌入式操作系统 消息邮箱是一个任务或一个中断程序。通过一个 指针型变量把一个消息(指针)放到邮箱之中,而一 个或多个任务通过内核服务可以接收到这个消息。 内核可以提供下列邮箱服务: ● 初始化邮箱内的消息; 将消息放入邮箱: 等待消息进入邮箱; 从邮箱中取得消息。 2010年7月18日 TMS320C55xDSP原理及应用 27
第4章C55x处理器的软件设计 4.1.2应用嵌入式操作系统 消息队列则是任务或中断程序把一个消息指针放 到消息队列之中,而一个或多个任务通过内核服务从 消息队列中接收消息 内核提供消息队列服务如下: 。消息队列初始化,即将消息队列清空; 。将一个消息放到消息队列之中; ● 等待消息到来; 得到消息。 2010年7月18日 TMS320C55xDSP原理及应用 28
第4章C55x处理器的软件设计 4.2C语言程序开发及优化 TMS320C55x处理器为C语言开发提供了一系列工 具,包括:优化C/C++编译器、链接器和归档器。 并支持混合编程。 C语言的优点在于程序可读性强。 2010年7月18日 TMS320C55xDSP原理及应用 29
第4章C55x处理器的软件设计 4.2.C语言程序开发及优化 4.2.1C语言中的数据类型 C55x支持下列数据类型包括字符、定点数、浮点 数、指针等。 类型 长度 内容 最小值 最大值 signed char(有符号字符) 16位 ASCIⅡ码 -32768 32767 char,unsigned char 无符号字符) 16位 ASCII码 0 65535 short,.signed short(短整型) 16位 二进制 码 -32768 32767 unsigned short(无符号短整 型 16位 二进制数 0 65535 2010年7月18日 TMS320C55xDSP原理及应用 30