《单元二程序开发工具》由会员分享,可在线阅读,更多相关《单元二程序开发工具(37页珍藏版)》请在金锄头文库上搜索。
1、32-Bit-DSP-MicrocontrollerTMS320F2812 单元单元2:程序开发工具:程序开发工具帮助帮助帮助帮助CPU CPU 窗窗窗窗口口口口存储器窗口存储器窗口存储器窗口存储器窗口图形窗口图形窗口图形窗口图形窗口工程管理器工程管理器工程管理器工程管理器: :源文件和目标文件源文件和目标文件源文件和目标文件源文件和目标文件从属文件从属文件从属文件从属文件编译器,汇编器,连编译器,汇编器,连编译器,汇编器,连编译器,汇编器,连接器选项接器选项接器选项接器选项状态窗口状态窗口状态窗口状态窗口全全全全 C/C+ & C/C+ & 汇编调试汇编调试汇编调试汇编调试: :C & AS
2、M C & ASM 源文件源文件源文件源文件混合模式混合模式混合模式混合模式反汇编反汇编反汇编反汇编设置断点设置断点设置断点设置断点设置探测点设置探测点设置探测点设置探测点观察窗口观察窗口观察窗口观察窗口多层的编辑器多层的编辑器多层的编辑器多层的编辑器: :结构扩展结构扩展结构扩展结构扩展菜单和图标菜单和图标菜单和图标菜单和图标Code Composer Studio IDE(集成开发环境集成开发环境)Code Composer StudioCode Composer Studio 包括包括:集成可编辑调试的图形用户界面集成可编辑调试的图形用户界面GUI代码生成工具代码生成工具DSP/BIOS
3、AsmAsmLinkLinkEditEditDebugDebugCompileCompileProbe InProbe InProbe OutProbe OutGraphsGraphsProfilingProfilingSIMSIMeZdspeZdspEVMEVMThird Third PartyPartyXDSXDSDSPDSPBoardBoardDSP/BIOSDSP/BIOSConfigConfigToolToolDSP/BIOSDSP/BIOSLibrariesLibrarieslnk.cmdlnk.cmdBuildBuildCode Composer Studio: 继承开发环境继承
4、开发环境(IDE)集编辑,代码生成,调试于一体集编辑,代码生成,调试于一体使用按钮单击进入使用按钮单击进入强大得图形强大得图形/分析工具分析工具用用GEL scripts 实现自动化任务实现自动化任务内置内置BIOS 功能访问功能访问支持支持TI第三方插件程序第三方插件程序The CCS Project源文件源文件 (by reference)C或汇编源文件或汇编源文件库文件库文件DSP/BIOS 配置文件配置文件连接文件连接文件工程设置工程设置:编译器和汇编器设置编译器和汇编器设置(Build Options)工程建立配置工程建立配置(Build configurations)DSP/BIO
5、S连接器设置连接器设置(Linker) 工程文件工程文件工程文件工程文件(.pjt) (.pjt) 包含包含包含包含: :Build Options GUI Compiler编译器编译器代码生成工具有代码生成工具有8种不同选项种不同选项控制工程建立的多个方面,如控制工程建立的多个方面,如:优化级别优化级别目标器件目标器件编译器,汇编器和连接器选项编译器,汇编器和连接器选项Build Options GUI Linker连接器连接器连接器有两种不同选项连接器有两种不同选项指定不同的连接选项指定不同的连接选项“.Debug” indicates on subfolder level below p
6、roject (.pjt) location默认的项目建立配置默认的项目建立配置使用工程配置工具加入使用工程配置工具加入/移除你定制移除你定制的配置的配置编辑配置文件编辑配置文件:1.激活工程激活工程2.修改工程建立选项修改工程建立选项3.保存工程保存工程对于新的工程,对于新的工程,CCS自动产生两个配置自动产生两个配置文件文件:调试调试Debug(未优化未优化)释放释放Release(优化的优化的)用下拉菜单快速选择配置选项用下拉菜单快速选择配置选项eZdsp F2812 硬件硬件并行端口并行端口并行端口并行端口/ /JTAGJTAG控制器接口控制器接口控制器接口控制器接口(P3)(P3)I
7、/O I/O 接口接口接口接口 (P4/P8/P7)(P4/P8/P7)模拟接口模拟接口模拟接口模拟接口 (P5/P9)(P5/P9)SRAMSRAM64K x 1664K x 16JTAG JTAG 接口接口接口接口 (P1)(P1)扩展数据和地址扩展数据和地址扩展数据和地址扩展数据和地址 (P2)(P2)电源连接器电源连接器电源连接器电源连接器 (P6)(P6)+5V+5VTMS320F2812 - DSP TMS320F2812 - DSP eZdsp 于于 PC的连接的连接Code Composer Studio eZdspCode Composer Studio eZdsp F281
8、2 ConfigurationF2812 ConfigurationeZdspeZdsp F2812 F2812接地接地接地接地供电电源供电电源供电电源供电电源2525针公针公针公针公D-sub D-sub 连接器连接器连接器连接器( (插入插入插入插入PCPC并口并口并口并口) )2525针公针公针公针公D-sub D-sub 连接器连接器连接器连接器2525针母针母针母针母D-sub D-sub 连接器连接器连接器连接器Lab Experiments - the Peripheral AdaptereZdspeZdsp F2812 plus Zwickau AdapterboardF281
9、2 plus Zwickau Adapterboard8 x LED8 x switch2 x push- button2 potentiometers1 SPI DAC ( TLV 5617 )1 SPI EEPROM ( M95080) 1 I2C Sensor ( DS 1621) 1 SCI - Transceiver (MAX 232) 1 CAN - Transceiver ( TJA 1054 ) 1 CAN - Transceiver ( SN 65HVD230 ) 1 Loudspeaker Learning by doing - Step by Step变做边学步步升高变做
10、边学步步升高 Code Composer Studio - 基本步骤基本步骤1.开始窗口开始窗口2. 基于基于C语言建立一个语言建立一个F28x的工程文件的工程文件3. 调试程序调试程序4. 观察变量观察变量5. 单步调试单步调试6. 使用断点使用断点7. 使用探测点程序使用探测点程序8. 其他观察命令其他观察命令9. GEL - 通用扩展语言通用扩展语言 1.开始窗口开始窗口 工作区工程树2. 建立一个建立一个F28x工程工程Project = New 为你的工程命名 : “Lab1”, 选择目标器件工程保存的硬盘地址:注意 :工程文件(“Lab1.pjt)是一个普通的ASCII文本文件,保
11、存工程所有的设置和选项,对于译文管理很有用。书写书写C源代码源代码 :File New Source Fileunsigned int k;void main (void)unsigned int i;while(1) for (i=0;iFLASHPAGE 0 .ebss: M0SARAM PAGE 1 .cinit: FLASH PAGE 0.stack:M1SARAMPAGE 12. 创建工程创建工程 F28x - project (cont.)导入二进制代码到导入二进制代码到:File Load Program DebugLab1.out Note: a new binary code
12、 can be downloaded automatically into the target. This is done by Option Customize Program Load Options Load Program after Build. This setup will be stored for permanently. 运行程序到运行程序到 “main” Debug Go main黄色箭头符号 :当前 PC2. Create a F28x - project (cont.)3. 调试代码调试代码实时运行实时运行 : Debug Run (F5)Note 1: 左下角会显
13、示标记左下角会显示标记DSP正在运行正在运行 : “DSP Running”. 因为我们的程序没有对外设有任何操作,所以你看不到适配板上的外设有任何因为我们的程序没有对外设有任何操作,所以你看不到适配板上的外设有任何动作动作! Note 2: 黄色箭头符号不可见黄色箭头符号不可见 这也是实施运行的有一个象征这也是实施运行的有一个象征停止实施运行停止实施运行 : Debug Halt复位复位DSP :Debug Reset CPUDebug Restart再次运行到再次运行到Main : Debug Go Main4. 观观察察变变量量打开观察窗口打开观察窗口 : View Watch Wind
14、ow你将看到变量你将看到变量i在在“Watch Locals”窗口中窗口中. 如果要观察全局变量如果要观察全局变量k,我们需要手动将其加入观察窗口。,我们需要手动将其加入观察窗口。这也可以在窗口中完成这也可以在窗口中完成:在在name栏内输入栏内输入k即可即可.Note : 另外一个方法是在源文件中直接选中该变量点击右键,在弹出的窗口中另外一个方法是在源文件中直接选中该变量点击右键,在弹出的窗口中选择选择 “Add to watch window”.note : 用户还可以通过用户还可以通过radix 基数选择栏来选择数据的基数基数选择栏来选择数据的基数如十进制,十六进制,八进制,二进制等如十
15、进制,十六进制,八进制,二进制等. 观察窗口 4. 观察变量观察变量5. 单步调试单步调试 单步运行单步运行 : Debug Step Into ( or F8 )但不运行时,注意观察当前的程序计数器但不运行时,注意观察当前的程序计数器PC值值(黄色箭头处黄色箭头处)和和观察窗口中观察窗口中i,k数字的值数字的值!还有很多可用的调试命令,请看下一张幻灯片还有很多可用的调试命令,请看下一张幻灯片 C文件单步运行 实时运行暂停运行到光标处跳过函数运行运行到函数外5. 实现单步步调试汇编代码单步运行汇编代码跳过函数运行6. 设置断点设置断点设置断点设置断点 :在文件在文件Lab1.c中将光标移至中将
16、光标移至k = i * i; 行行点击鼠标右键并选择点击鼠标右键并选择 Toggle Breakpoint 选项或者双击该行左边空白处选项或者双击该行左边空白处改行出现一个红点标记改行出现一个红点标记 ( = 断点激活断点激活 ) Note : 大多数大多数 Code Composer Studio 命令都可以通过按钮或者输入命令关键词来命令都可以通过按钮或者输入命令关键词来完成完成 ( 请看手册和帮助文件请看手册和帮助文件 )程序复位程序复位 Debug Reset CPU Debug Restart实时运行实时运行DSP Debug Run ( or F5) DSP 在激活的断点处停止运行
17、在激活的断点处停止运行 反复运行并观察变量反复运行并观察变量完成调试后移除所有断点(红点处再次双击)完成调试后移除所有断点(红点处再次双击)红色圆点 :激活的断点黄色箭头 :当前 PC设置断点移除所有断点6. 增加断点增加断点 (cont. )7. 设置探针点设置探针点 在程序中指定的行引起一次特定窗口的更新在程序中指定的行引起一次特定窗口的更新窗口在建立之后在每一次断点处都会更新,然而,你可以通过窗口在建立之后在每一次断点处都会更新,然而,你可以通过将其于探测点连接起来使其只有在到达探测点处才更新,并且将其于探测点连接起来使其只有在到达探测点处才更新,并且在窗口更新后,程序继续运行。在窗口更
18、新后,程序继续运行。设置探测点设置探测点:在在first.c程序中行程序中行 k = i*i; 处单击右键处单击右键选择选择 Toggle Probe Point ( 以蓝色圆点表示以蓝色圆点表示 ) 选择选择: Debug Probe Points.点击点击 Probe Point 窗口中的内容,使之被选中窗口中的内容,使之被选中在在 Connect to 选择器中选择选择器中选择Watch Window点击点击 Replace 和和 OK 按钮退出对话框按钮退出对话框运行程序并检验运行程序并检验Watch Window是否连续更新是否连续更新7. 设设置探置探针针点点 (cont.)8.
19、其它其它观观察命令察命令View菜单还有更多有用的监视和控制菜单还有更多有用的监视和控制DSP的窗口的窗口 View Registers Core View Registers Status 在窗口内部单击鼠标右键并选择在窗口内部单击鼠标右键并选择 Float in Main Window可以使其变成一个单可以使其变成一个单独的窗口独的窗口双击后输入要改变的双击后输入要改变的ACC 的值即可改变该寄存器的值的值即可改变该寄存器的值8. 其它其它观观察命令察命令 (cont.)观察汇编和观察汇编和C代码代码: 在文件在文件“Lab1.c”中单击鼠标右键并选择中单击鼠标右键并选择“Mixed Mo
20、de” 由编译器生成的汇编指令代码已经以灰色显示每一条由编译器生成的汇编指令代码已经以灰色显示每一条C代码的代码的后面后面汇编代码单步运行按钮现在可用了汇编代码单步运行按钮现在可用了执行执行 : Debug Reset DSP Debug Restart Debug Go Main Debug Step Into (F8)你会看到两个箭头,一个黄色的箭头在你会看到两个箭头,一个黄色的箭头在C代码指令行上,一个绿色的箭头在汇代码指令行上,一个绿色的箭头在汇编代码指令行上编代码指令行上. 当前C代码行当前指令8. 观察察C和反和反汇编程序程序9. GEL - 通用扩展语言通用扩展语言 类似于类似于C语言语言 允许用户创建函数来扩展允许用户创建函数来扩展CCS的用途的用途用用GEL语法创建语法创建GEL函数函数加载加载GEL文件到文件到Code Composer 中中用用GEL,用户可以用户可以:访问实际访问实际/模拟的目标存储器位置模拟的目标存储器位置在在Code Composers GEL 菜单中增加选项菜单中增加选项GEL 对于自动化测试和用户工作空间调整非常有用对于自动化测试和用户工作空间调整非常有用. GEL 文件是文件是ASCII文件,并以文件,并以 *.gel为扩展名为扩展名