实时信号处理系统设计

18
实实实实实实实 实实 实实实实实实实 实实 实实实 实实实 DSP DSP 实实实实实 实实实实实 BOOT BOOT 实实实实 实实实实 :[email protected] :[email protected] QQ:4347671 QQ:4347671 实实实实实实实实实实 实实实实实实实实实实

Upload: carter-vaughn

Post on 30-Dec-2015

47 views

Category:

Documents


5 download

DESCRIPTION

实时信号处理系统设计. 第九讲 DSP 库的使用及 BOOT. 联系方式 :[email protected] QQ:4347671 重庆大学通信工程学院. 本节内容. DSP 库的使用 (CSL,DSP,IMAGE) DSP 的 BOOT. DSP 库. TI 公司针对一些常见的使用 ( 如信号处理,图象处理等 ), 编写了一些库函数,这些函数都封装在库文件当中 , 已经优化 , 使用非常方便 . 如果需要给需求方开发 , 但不想透露源代码 , 可以使用库进行封装. 使用方法. 与 CSL 库使用类似 . 添加使用到的库到工程中 . - PowerPoint PPT Presentation

TRANSCRIPT

实时信号处理系统设计实时信号处理系统设计

第九讲 第九讲 DSPDSP 库的使用及库的使用及 BOOTBOOT

联系方联系方式式 :[email protected]:[email protected]

QQ:4347671QQ:4347671

重庆大学通信工程学院重庆大学通信工程学院

本节内容本节内容

• DSPDSP 库的使用库的使用 (CSL,DSP,IMAGE)(CSL,DSP,IMAGE)

• DSPDSP 的的 BOOTBOOT

DSPDSP 库库

• TITI 公司针对一些常见的使用公司针对一些常见的使用 (( 如信号处理,如信号处理,图象处理等图象处理等 ),), 编写了一些库函数,这些函编写了一些库函数,这些函数都封装在库文件当中数都封装在库文件当中 ,, 已经优化已经优化 ,, 使用非使用非常方便常方便 ..

• 如果需要给需求方开发如果需要给需求方开发 ,, 但不想透露源代但不想透露源代码码 ,, 可以使用库进行封装可以使用库进行封装 ..

使用方法使用方法

•与与 CSLCSL 库使用类似库使用类似 ..

• 添加使用到的库到工程中添加使用到的库到工程中 ..

• 在文件中调用库中函数,调用时必须添加在文件中调用库中函数,调用时必须添加对应函数的头文件对应函数的头文件 ..

例子例子 (( 使用图象库使用图象库 ))

DSPDSP 的的 BOOTBOOT

• DSPDSP 上电复位后,固定大小的存储器块数上电复位后,固定大小的存储器块数据从外部据从外部 ROMROM 搬移到搬移到 00 地址地址 .. 拷贝结束拷贝结束 ,,程序开始从地址程序开始从地址 00 执行执行 ..

DSPDSP 的的 BOOTBOOT

• 60006000 的的 BOOTBOOT 模式选择模式选择 :HOST :HOST BOOT;EMIF BOOT;NO BOOT.BOOT;EMIF BOOT;NO BOOT. 由引脚选由引脚选择择 ..

• 根据选用根据选用 DSPDSP 型号型号 ,, 及最后编译出来程序及最后编译出来程序代码的大小代码的大小 ,, 决定使用决定使用 BOOTBOOT 方式等方式等 .. 一一般来说般来说 ,, 可能需要创建二级可能需要创建二级 BOOT.BOOT. 二级二级BOOTBOOT 中主要初始必要寄存器中主要初始必要寄存器 ,, 拷贝需要拷拷贝需要拷贝的各个段贝的各个段 (( 请查看相关文档请查看相关文档 ).).

DSPDSP 的的BOOTBOOT

DSPDSP 的的 BOOT(BOOT( 二级二级 BOOTBOOT 代码代码1)1)

DSPDSP 的的 BOOT(BOOT( 二级二级 BOOTBOOT 代码代码2)2)

DSPDSP 的的 BOOT(BOOT( 二级二级 BOOTBOOT 代码代码3)3)

DSPDSP 的的 BOOTBOOT

在写好二级 BOOT 代码后 , 与工程一起编译 , 生成 *.out 文件 , 然后使用 CMD文件进行转换 , 烧写 .

典型的典型的 HEXHEX 的的 CMDCMD 文件文件

FlashFlash 的烧写的烧写

• 可使用可使用 TITI 提供的提供的 flashburn.flashburn.

• 可以自己根据使用的可以自己根据使用的 FLASHFLASH 器件器件 ,, 查看文查看文档档 ,, 自己编写程序烧写自己编写程序烧写 ..

参考文献参考文献

• Creating a Second-Level Bootloader Creating a Second-Level Bootloader for FLASH Boot loading for FLASH Boot loading TMS320C6000 Platform With Code TMS320C6000 Platform With Code Composer StudioComposer Studio

• TMS320C62x Image/Video Library TMS320C62x Image/Video Library Programmer's Reference Programmer's Reference

• TMS320C62x DSP Library TMS320C62x DSP Library Programmer's Reference Programmer's Reference

课程结束课程结束相关思考题相关思考题 ::

1.1. 十六进制数十六进制数 2000H2000H ,用,用 Q0Q0 及及 Q15Q15 表示,分别表示,分别是多少?说说定点是多少?说说定点 DSPDSP 和浮点和浮点 DSPDSP 的定义(或的定义(或者说出他们的区别),如何选择?者说出他们的区别),如何选择?

2.2. 现有电源现有电源 5V5V ,, 2A2A ,需要产生,需要产生 3.3V3.3V 的的 2A2A 和和1.2V1.2V 的的 1.5A1.5A ,应采用线性电源还是开关电源,,应采用线性电源还是开关电源,为什么? 为什么?

3.DSP3.DSP 和通用处理器在结构上有什么不同,请简要和通用处理器在结构上有什么不同,请简要画出画出 TITI 的的 C6000C6000 系列系列 DSPDSP 结构图。结构图。

相关思考题相关思考题 ::

4.4. 对于批处理,若每批的数据输入时间为对于批处理,若每批的数据输入时间为 60us60us ,,处理时间为处理时间为 40us40us 。结果输出时间为。结果输出时间为 20us20us ,那,那么运算和么运算和 I/OI/O 串行的数据吞吐率是多少?运算和串行的数据吞吐率是多少?运算和I/OI/O 并行的数据吞吐率是多少?并行的数据吞吐率是多少?

5.5. 某程序在一个实时系统(某程序在一个实时系统( 200M CPU200M CPU ,, 50M 50M SDRAMSDRAM )中已经最优化了,换到另外一个系统)中已经最优化了,换到另外一个系统(( 300M CPU300M CPU ,, 50M SDRAM50M SDRAM )中是否还需要)中是否还需要优化,为什么?优化,为什么?

相关思考题相关思考题 ::

6.6. 编写两个矢量的内积程序(编写两个矢量的内积程序( CC 语言,在语言,在 C6000C6000平台实现),输入参数平台实现),输入参数 11 为矢量数据为矢量数据 11 首地址首地址 XX ,,输入参数输入参数 22 为矢量数据为矢量数据 22 首地址首地址 YY (两个数据块(两个数据块不相关),输入参数不相关),输入参数 33 为为 nn 数据个数(是数据个数(是 44 的倍的倍数),返回参数数),返回参数 rr 。并做到。并做到 CC 语言级的优化,并语言级的优化,并写出在写出在 CCSCCS 中合适的编译选项。中合适的编译选项。