《基于DSP的空啤酒瓶图像数据处理系统研制.docx》由会员分享,可在线阅读,更多相关《基于DSP的空啤酒瓶图像数据处理系统研制.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于DSP的空啤酒瓶图像数据处理系统研制DSP目的程序内存空间映射由用户通过链接命令文件生成,可由十六进制转换工具根据转换命令文件生成下载文件或编辑内存空间映射。2.5.1目的程序定位程序的定位方式有三种:编译时定位、链接时定位和加载时定位。DSP系统采用链接时定位,编译器将整个程序区分为数个节,并以地址0开场为节区定址,链接器将同名节合并,并按照链接命令文件d中的节命令进展实际的定位。链接命令文件用于指示链接器怎样生成存储器映象文件.map和可执行输出文件.outCOFF目的模块。链接命令文件主要指示链接器完成两个功能:第一,怎样将输入节合并为输出节;第二,怎样将输出节定位到实际的存储空间中
2、。链接命令文件通过MEMORY和SECTIONS两个命令实现上述功能。MEMORY命令用于描绘系统实际的硬件资源;SECTIONS命令用于描绘节怎样定位到适当的硬件资源上,在该命令中可以定义节的加载地址和运行地址。在CCS的编译选项卡中选择编译器类型为55x;在链接选项卡中的自动初始化方式中选择运行时初始化,这会让链接器生成运行时用填充数据初始化.bss数据节的代码;在链接选项卡的map文件名中输入文件名生成链接映射文件,用于检查编译、链接和定址结果。编译链接工程后会生成COFF格式可执行文件,这个文件是可执行文件映像,并不是直接在内存中运行代码的转储dump,需要利用hex55.exe将其中
3、的节数据信息抽取出来,结合hex55的命令脚本文件,重新将数据以启动表格的形式组织在hex文件中,然后下载到FLASH,TMS320VC5502启动后,片上bootloader将其加载到RAM上运行。2.5.2启动表格生成启动加载程序加载Flash上程序代码是通过加载表格来完成的,使用启动表格增强了启动加载代码对不同加载形式的独立性。它包含COFF文件格式中程序节、数据节等节信息和存放器设置等信息。启动表格由十六进制转换工具根据转换命令文件和链接输出文件生成。其构造如图4。32位程序入口地址是程序被bootloader加载进内部RAM后,程序执行流程的跳转地址。32位存放器配置数目是需要在启动
4、加载中加载应用程序前需要配置的IO内存映射存放器和延时的数目。16位存放器地址是要配置的存放器的地址,后面是16位的配置值;假设存放器修改需要延时,可以用0xFFFF延时标记,后面跟着延时时钟数。32位节字节数目表示程序节、数据节等节长度按字节计;32位节开场地址表示相应节的其实地址,后面紧跟着该节的内容,开始或者末尾会有0字节32位边界对齐,以加快数据的加载速度。各节依次排列。图4启动表格构造32位全0字节数目,表示到达末尾节,已经没有要加载的节。Bootloader会在加载外部程序和数据节之前对注册在启动表格中的存放器做修改。这个特性提供了修改系统时钟配置以加快代码加载速度和在执行用户代码
5、前正确配置EMIF接口内存空间参数的时机。在脚本文件中,存放器修改使用reg_config选项来实现,格式为-reg_configREG_ADDRREG_VALUE;延时使用delay选项来实现,格式为-delayDELAY_COUNT。HEX55.exe十六进制转换工具可以读取转换命令文件和编译输出文件,构造出正确的启动表格。本图像处理卡上,在启动经过中需要修改的存放器主要有锁相环PLL存放器、外设系统时钟分频存放器、EMIF接口CExCTL存放器。转换命令文件代码如下:boot;optiontocreateaboottablev5510:2;useC55xboottableformatfo
6、rTMS320VC5502parallel16;bootmodeis16-bitexternalasyncmem;toshutdownECLKOUTx-reg_config0x08000x271C-reg_config0x08010x0008-delay0x80;toconfigPLLregisters-reg_config0x1C800x0048;PLLCSR-delay0x100-reg_config0x1C8A0x0000;PLLDIV0-delay0x80-reg_config0x1C8A0x1003-delay0x100-reg_config0x1C880x0004;PLLM-del
7、ay0x80-reg_config0x1C800x0040;PLLCSR.PLLRST=0-delay0x100-reg_config0x1C800x0041;PLLCSR.PLLEN=1-delay0x80;toconfigPLLDIVxregisters-reg_config0x1C8C0x1001;PLLDIV1-delay0x80-reg_config0x1C900x1001;PLLDIV3-delay0x80;toconfigEMIFCExCTLregisters-reg_config0x08020xC211-delay0x80-reg_config0x08030xFFF3-delay0x80-reg_config0x08080xC110-delay0x80-reg_config0x08090x1081-delay0x80.x;desiredoutputformatisTektronixformatobottlecheck.hex;specifytheoutputfilenamebottlecheck.out;specifytheinputfile运行hex55.exe生成.hex十六进制下载文件,通过FlashBurn程序将目的代码下载到扩展程序内存中。