合众达电子SEED_VPM642开发板调试及应用(技术小结)
来源:互联网 发布:ir2530i 网络打印机 编辑:程序博客网 时间:2024/05/06 21:19
转一篇博文,原文出自http://blog.sina.com.cn/s/blog_4462f8560100jyhq.html
1.SEED_VPM642开发板flash烧写问题
以前做过DM642测试和算法在线调试,最近刚用上合众达开发板,但是现在要完成脱机系统采集显示和存储。在烧写光盘提供例程时没有问题(LED交替闪烁),但是在测试4路视频输出时能在线显示而不能烧写。看到网上有贴说在初始化时没有加延时0.5s,但是按照操作才发现加进去没效果。后来仔细分析,发现主要还是boot烧写的问题.
解决有二步:
1.对于非BIOS的视频采集显示程序需要在main()函数的初始化时加一段0.5s的延时:
for(i=0;i<1000;i++)//延时0.5s,为下一步初始化配置EMIF、CPLD和IIC的时序作准备
CSL_init();
CHIP_config(&CAUDM642percfg);//省略
2.在工程中修改seeddm642vedio.cmd文件,添加boot和内存分配
-l lib\cslDM642.lib
-l lib\rts6400.lib
MEMORY
{
}
SECTIONS
{
}
特别需要注意的是,在boot引导程序中需要为Flash自举分配0x400大小的SRAM空间,不然即使烧写了程序在启动时也无法将0x90000000开始的1kB引导程序读入0-0x400的SRAM单元,也无法实现下一步将用户程序从FLASH处运行。
DSP的boot过程相对ARM比较简单,不需要作很大的修改,只需要指定分配程序数据内存单元并完成boot设置,在main程序中完成初始化即可实现芯片的启动。
2。VPM642开发板例程版本从CCS2.2转CCS3.3
问题一:cmd问题
如果程序中用的数组超大(例如视频压缩传输程序), 编译出现“>>
分析:这个链接错误通常是由于定义的数组过大,在网上查有人说不能超过64k,具体数值没试过,数组通常放在.cinit段,可能这个段大小有限制。网上查到的方法是将Memory Models改成data far,利用重新分配空间将大数组单独定义一个段名,在cmd文件中重新定位,避免了.cinit的限制。
问题二:CSL库未添加
CCS3.3安装了5.20版本的DSP/BIOS,配置文件格式为.tcf,而CCS2.2的BIOS配置文件格式为.cdb。使用CCS3.3打开程序,需要将.cdb转换为.tcf。按照提示操作,转换成功。但是编译时候提示,错误信息显示连接器无法找到程序中调用的所有CSL函数。比较了两个版本代码的编译、连接选项,完全一致,比较BIOS配置,也一模一样,。会不会是没执行什么初始化操作或者没包含什么头文件和库?找出CSL的文档,从overview看起,发现文档说要包含一个名为cslDM642.lib的库。在连接选项里加上这个库文件,然后编译通过。
分析:
CCS2.2 版本BIOS的System->Global Settings的属性页面General标签中有一个名为Chip Support Library (CSL)的下拉菜单,CCS2.2使用的CSL库就是在这里指定的,而CCS3.1的BIOS没有这个选项,从.cdb转换到.tcf时就会丢失配置信息,造成编译错误。
CCS3.3转CCS2.2过程(转载自:http://www.tichinese.com/College/Soft/DSP/200909/546.html)
在ccs3.3下每次修改代码后,都回导致内存中文件被锁定,必须重启机器才能解决。估计3.3有升级补丁。暂时没有下到。改为ccs2.2后,仿真器链接不上,估计原因是驱动必须和ccs2.2装在一个文件夹下。
为了再次熟悉一下DSP和CCS开发环境,收获了不少东西:
(1)再次熟悉了CCS集成开发环境。安装CCS软件和仿真器驱动时,刚开始,我把仿真器的驱动装在了C盘,而CCS 2.2是很早之前就装在电脑里的,是装在E盘上。结果,由于CCS和仿真器驱动的安装路径不同,导致仿真器连不上,跳出窗口提示错误。最终通过重新安装CCS,将它与仿真器驱动安装在同一路径下解决了该问题。
(2)程序编译时,提示错误:
>> error: illegal relocation type 050002 found in section .debug_info, file
E:\DM642\SEED-DTK_VPM642v1.2
(3)合众达给的例子都是通过实验箱上的显示屏来观察图像,因为CCS本身也提供了观看图像的功能,所以,就通过View-Graph-Image,设置图像属性,观察到了实验结果。刚开始在这里也犯了一个小错误:程序中,图像的坐标原点是在左上,而我在设置Image Origin的时候,却选择了Bottom Left,误以为原点在左下,导致看到的图像是反过来的。通过将Image Origin修改为Top Left 解决了该问题。
(4)对程序进行了简单的修改。在图像取反例子的基础上,对取反函数进行了修改,选定了一个阈值,通过加入一个if-else语句,实现图像的二值化。
- 合众达电子SEED_VPM642开发板调试及应用(技术小结)
- 合众达电子SEED_VPM642开发板调试及应用
- 电子签章技术及应用
- 监控摄像机电子快门应用现状及技术解析
- 【Android应用开发技术:应用调试】ADB
- 【Android应用开发技术:应用调试】GDB
- 【Android应用开发技术:应用调试】章节列表
- mapreduce程序开发及伪分布式调试小结
- PKI技术及应用开发指南
- PKI技术及应用开发指南
- PKI技术及应用开发指南
- PKI技术及应用开发指南
- PKI技术及应用开发指南
- 设备驱动开发技术及应用 书
- PKI技术及应用开发指南
- Winform技术要点及案例项目开发小结
- Android应用方法隐藏及反调试技术浅析
- Android应用方法隐藏及反调试技术浅析
- 4月昆山团购报告 人均消费近54.2元
- android Activity切换动画效果
- 同步信号
- HashMap与HashTable
- Android 触屏播放音效与释放
- 合众达电子SEED_VPM642开发板调试及应用(技术小结)
- 易混知识点 二维数组的易混表达式的理解
- C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组
- 搭建linux开发环境
- 2011高考零分作文:回到原点
- libvirt创建虚拟机
- 时间在流逝——上还是不上大学?
- 導入android項目出錯問題解決
- 作为软件工程师,你必须知道的20个常识