由于要做个报告,就抽空把以前大学期间做过的一个小项目重温一遍,算是将以前的DSP开发做一个知识点的总结吧。如有问题欢迎批评指正。
硬件平台用的是TMS320C6657EVM。目的是实现使用笔记本电脑,手机,iPad等多功能小型设备的无线WIFI功能连接路由器,进而实现多种设备与DSP高速运算单元的互联。利用iphone手机自带的ios操作系统和其他硬件外设可以实现从多种途径灵活快速的采集,发送图像,以及实现数据的存储。
实现后的效果如上图所示,我所做的修改是将demo中的算法换成了图像复原算法。系统执行框架如下图所示:
采用了以DSP运算单元的网口模块作为与外界设备的主要数据传输通道,以外接的路由器作为网络平台实现DSP数字图像处理系统与多功能显示终端之间的图像数据和操作指令信息的快速传输。DSP板卡启动后会按照程序中预先的设置自动进入DHCP模式,与路由器连接,将网络信号发送出去。使用笔记本电脑,手机,iPad等多功能小型设备的无线WIFI功能连接路由器,进而实现多种设备与DSP高速运算单元的互联。
1,板卡启动后,会将静态或者是动态的IP地址配置到IP协议栈,然后打开HTTP服务器
2,板卡向CCS控制台打印IP地址
3,用户使用IP地址打开网络输入界面(如图所示)
4,用户打开本地BMP格式图像发送到应用
5,主线程接收到图像数据开始运行
6,主从线程如上述描述过程开始图像处理
7,处理完成后,主线程将图像发送到输出显示界面
算法执行流程
在图像复原应用中,需要实现从主核心向从核心传送多种数据信息的功能。这些数据信息就是图像处理所必需的位图宽度,长度,参数常量,数组的存储地址等关键参数。通常将这些参数信息按照不同类别封装在不同的结构体当中,然后定义相应的结构体指针指向这些不空的数据空间,在核间通信时主核只需发送这些指针信息到从核即可实现数据的通信功能。
重建函数的双核并行
重点与难点:
一、嵌入式软件方面
1,SYS/BIOS通信机制
2,SYS/BIOS线程,任务建立与应用
3,堆,栈,动态(静态)内存分配
4,基本网络通信机制,HTML界面修改
二、算法方面
1,算法移植
2,算法评估:效果、精度、资源消耗、效率速度
3,编译器优化选项
4,算法级优化:
a.TI图像库,数学库移植与修改(一维FFT封装为二维FFT、矩阵运算库移植)
b.图像算法根据硬件资源(l2 ddr cache)修改
c.跳转语句优化
5,代码级优化
a.线性汇编
b.内联函数
c.临时变量,各种关键字,别名