dsPIC:30F数字信号控制器入门 2.2.1 项目 MPLAB IDE包含创建及使用项目和工作区的工具。工作区存储了项目的所有设置,所 以您可以毫不费力地在项目间进行切换。通过Project Wizard(项目向导)您只需点 击几次鼠标即可轻松创建项目。您还可以使用项目窗口视图(图22)方便地添加文 件到项目中以及删除项目中的文件。 图2-2: 项目窗口 ☐MyProject..mcw B回☒ C:\Tutorial\MyProject.mcp -Source Flles -Flash LEDs.s Header Files Object Files Lbrary Files Linker Scripts p30f6014.gd Other Files 2.2.2 编辑器 编辑器是MPLAB IDE的组成部分,它提供了多种功能使得代码编写更为轻松:语法 突出显示、自动缩进、大括号匹配、块注释、书签以及许多其他功能。编辑器窗口 (图23)直接支持工具调试、当前执行位置和断点以及跟踪点显示,以及悬停鼠标 来查看变量等等。 图2-3: 编辑器窗口 C:\TutorialFlash LEDs.s ▣☒ ;Start of code .text ;start of Code section - Initialize stack pointer and limit register teset: mov SP init,W15 ;Initalize the Stack Pointer register mov SPLIM init,0o ;Get address at the end of stack space mov WO,SPLIM ;Load the stack Pointer Limit register nop :Add Nop to follow SPLIM initialization 2.3 语言工具 2.3.1 汇编器/链接器 MPLAB IDE中包含基于行业标准GNU工具包的MPLAB ASM:30汇编器和MPLAB LINK30链接器。您无需购买其他的软件来开发代码。MPLAB ASM:30汇编器将源文件 汇编为目标文件,并由链接器将目标文件与项目中可能包含的库(归档)文件一起转 换为hex输出文件。 ■ DS70151A_CN第16页 2007 Microchip Technology Inc
dsPIC30F 数字信号控制器入门 DS70151A_CN 第 16 页 2007 Microchip Technology Inc. 2.2.1 项目 MPLAB IDE 包含创建及使用项目和工作区的工具。工作区存储了项目的所有设置,所 以您可以毫不费力地在项目间进行切换。通过 Project Wizard (项目向导)您只需点 击几次鼠标即可轻松创建项目。您还可以使用项目窗口视图 (图 2-2)方便地添加文 件到项目中以及删除项目中的文件。 图 2-2: 项目窗口 2.2.2 编辑器 编辑器是 MPLAB IDE 的组成部分,它提供了多种功能使得代码编写更为轻松:语法 突出显示、自动缩进、大括号匹配、块注释、书签以及许多其他功能。编辑器窗口 (图 2-3)直接支持工具调试、当前执行位置和断点以及跟踪点显示,以及悬停鼠标 来查看变量等等。 图 2-3: 编辑器窗口 2.3 语言工具 2.3.1 汇编器 / 链接器 MPLAB IDE 中包含基于行业标准 GNU 工具包的 MPLAB ASM30 汇编器和 MPLAB LINK30 链接器。您无需购买其他的软件来开发代码。MPLAB ASM30 汇编器将源文件 汇编为目标文件,并由链接器将目标文件与项目中可能包含的库 (归档)文件一起转 换为 hex 输出文件
Microchip开发工具 2.3.2编译器 Microchip为需要C编译器的用户提供了MPLAB C30C编译器,用户需单独购买它。 该编译器使得代码更容易移植、阅读和维护。MPLAB C30C编译器可以在MPLAB DE内使用,以无缝地集成代码开发、调试和编程。 除了MPLAB C30C编译器外,我们还可以使用由第三方生产商提供的dsPIC编译 器。Hl-TECH Software(ww.htsoft..com)、CCS Inc.(ww.ccsinfo.com)和lAR Systems(ww.iar.com)都生产支持dsPIC系列的C编译器。 对于熟悉这些生产商的PIC®编译器的用户来说,他们的dsPIC产品也是一种不错的选 择。您不必费心学习一个全新的编译器,这些编译器本来就很容易移植到dsPIC系列。 2.3.3 模板、头文件和链接描述文件 想开始编写一段代码,却不知道如何开始?那么请查看MPLAB ASM30汇编器日录中 的模板文件,这些模板文件是MPLAB IDE的一部分。可以复制这些模板以形成您自己 的代码的基础。您还可以在该目录下找到处理器头文件:这些文件用来定义所有寄存 器和位名称以及它们的位置,使之与数据手册中的定义保持一致。链接描述文件为链 接器提供一个dsPIC器件的存储器映射,以便正确地自动放置代码和数据。 2.3.4 应用笔记 是否不确定该如何实现您的设计?只是想提高您的设计技能?想消磨时间?那么请登 录我们的网站(w.microchip.com)获取最新的应用笔记。我们会不断添加更多应 用笔记,以便提供范例,使您在日益膨胀的应用中学会如何使用d$PIC器件。 2.4 调试工具 MPLAB IDE可与三种不同的调试工具配合使用:软件模拟器(MPLAB SIM30软件模 拟器)、在线调试器(MPLAB ICD2)和在线仿真器(MPLAB ICE4000)。所有这些 调试器都允许您单步运行代码(直到您选择暂停或遇到断点为止)、观察寄存器更新 以及查看存储器内容。每个调试器都有自己独特的优缺点。 2.4.1 MPLAB SIM30软件模拟器 MPLAB SIM30软件模拟器是包含在MPLAB IDE中的一款功能强大的调试工具(图 2-4)。该软件模拟器在PC机上运行,并模拟dsPC器件上的代码执行。它不仅可以 模拟代码执行,还可以响应模拟的外部输入和外设操作,以及测量代码执行时间。 MPLAB SIM30软件模拟器为在没有外部硬件的情况下调试代码提供了一种快速易行的 方法。尤其是当文件中出现重复数据时对于测试数学运算和DSP函数特别有用。通 常,由于重现数据比较困难,故用实际硬件中的模拟信号测试代码是极具挑战性的。 但如果有了采样数据或合成数据作为激励,测试就会变得简单得多。 2007 Microchip Technology Inc. DS70151ACN第17页
Microchip 开发工具 2007 Microchip Technology Inc. DS70151A_CN 第 17 页 2.3.2 编译器 Microchip 为需要 C 编译器的用户提供了 MPLAB C30 C 编译器,用户需单独购买它。 该编译器使得代码更容易移植、阅读和维护。 MPLAB C30 C 编译器可以在 MPLAB IDE 内使用,以无缝地集成代码开发、调试和编程。 除了 MPLAB C30 C 编译器外,我们还可以使用由第三方生产商提供的 dsPIC 编译 器。 HI-TECH Software (www.htsoft.com)、 CCS Inc. (www.ccsinfo.com)和 IAR Systems (www.iar.com)都生产支持 dsPIC 系列的 C 编译器。 对于熟悉这些生产商的 PIC® 编译器的用户来说,他们的 dsPIC 产品也是一种不错的选 择。您不必费心学习一个全新的编译器,这些编译器本来就很容易移植到 dsPIC 系列。 2.3.3 模板、头文件和链接描述文件 想开始编写一段代码,却不知道如何开始?那么请查看 MPLAB ASM30 汇编器目录中 的模板文件,这些模板文件是 MPLAB IDE 的一部分。可以复制这些模板以形成您自己 的代码的基础。您还可以在该目录下找到处理器头文件;这些文件用来定义所有寄存 器和位名称以及它们的位置,使之与数据手册中的定义保持一致。链接描述文件为链 接器提供一个 dsPIC 器件的存储器映射,以便正确地自动放置代码和数据。 2.3.4 应用笔记 是否不确定该如何实现您的设计?只是想提高您的设计技能?想消磨时间?那么请登 录我们的网站 (www.microchip.com)获取最新的应用笔记。我们会不断添加更多应 用笔记,以便提供范例,使您在日益膨胀的应用中学会如何使用 dsPIC 器件。 2.4 调试工具 MPLAB IDE 可与三种不同的调试工具配合使用:软件模拟器 (MPLAB SIM30 软件模 拟器)、在线调试器 (MPLAB ICD 2)和在线仿真器 (MPLAB ICE 4000)。所有这些 调试器都允许您单步运行代码 (直到您选择暂停或遇到断点为止)、观察寄存器更新 以及查看存储器内容。每个调试器都有自己独特的优缺点。 2.4.1 MPLAB SIM30 软件模拟器 MPLAB SIM30 软件模拟器是包含在 MPLAB IDE 中的一款功能强大的调试工具 (图 2-4)。该软件模拟器在 PC 机上运行,并模拟 dsPIC 器件上的代码执行。它不仅可以 模拟代码执行,还可以响应模拟的外部输入和外设操作,以及测量代码执行时间。 MPLAB SIM30 软件模拟器为在没有外部硬件的情况下调试代码提供了一种快速易行的 方法。尤其是当文件中出现重复数据时对于测试数学运算和 DSP 函数特别有用。通 常,由于重现数据比较困难,故用实际硬件中的模拟信号测试代码是极具挑战性的。 但如果有了采样数据或合成数据作为激励,测试就会变得简单得多
dsPIC:30F数字信号控制器入门 图2-4: MPLAB®IDE中的软件模拟器选择菜单 ect Debugger Programmer Tools Configure win Select Tool None Clear Memory 1MPLAB ICD 2 2 MPLAB ICE 4000 3 MPLAB SIM 4 MPLAB ICE 2000 MPLAB SIM30软件模拟器除具有所有的基本调试功能之外,还具有一些高级功能: ·跑表一用于测量代码执行时间。 ·激励一用于模拟外部输入和数据接收。 ·跟踪一用于查看执行记录。 图2-5: MPLAB®ICE4000 MPLAB ICE 2.4.2 MPLAB ICE 4000 MPLAB1CE4000在线仿真器(图2-5)是一款功能齐全的调试工具,它可以全速仿 真所有dsPIC30F器件,是我们提供的一款功能最强大的调试工具,并为处理器提供 了极好的可视性。它可通过USB接口完全集成到MPLAB IDE中,该USB接口允许 MPLAB IDE快速更新存储器和数据视图。 MPLAB ICE4000是一个模块化系统,它支持多种处理器和封装选项。您可以使用我 们网站(ww.microchip.com)上的“产品选型指南”选择正确的处理器模块、器件 适配器和转换插座,以仿真您希望使用的特定器件。 MPLAB ICE4000除具有所有的基本调试功能之外,还具有一些高级功能: ·复杂触发设置—检测事件顺序,如写入寄存器的顺序。 ·跑表一用于测量代码执行时间。 ·跟踪一用于查看执行记录。 ·逻辑探针一由外部信号触发,生成测试器件的触发信号。 DS70151ACN第18页 2007 Microchip Technology Inc
dsPIC30F 数字信号控制器入门 DS70151A_CN 第 18 页 2007 Microchip Technology Inc. 图 2-4: MPLAB® IDE 中的软件模拟器选择菜单 MPLAB SIM30 软件模拟器除具有所有的基本调试功能之外,还具有一些高级功能: • 跑表——用于测量代码执行时间。 • 激励——用于模拟外部输入和数据接收。 • 跟踪——用于查看执行记录。 图 2-5: MPLAB® ICE 4000 2.4.2 MPLAB ICE 4000 MPLAB ICE 4000 在线仿真器 (图 2-5)是一款功能齐全的调试工具,它可以全速仿 真所有 dsPIC30F 器件,是我们提供的一款功能最强大的调试工具,并为处理器提供 了极好的可视性。它可通过 USB 接口完全集成到 MPLAB IDE 中,该 USB 接口允许 MPLAB IDE 快速更新存储器和数据视图。 MPLAB ICE 4000 是一个模块化系统,它支持多种处理器和封装选项。您可以使用我 们网站 (www.microchip.com)上的 “产品选型指南”选择正确的处理器模块、器件 适配器和转换插座,以仿真您希望使用的特定器件。 MPLAB ICE 4000 除具有所有的基本调试功能之外,还具有一些高级功能: • 复杂触发设置——检测事件顺序,如写入寄存器的顺序。 • 跑表——用于测量代码执行时间。 • 跟踪——用于查看执行记录。 • 逻辑探针——由外部信号触发,生成测试器件的触发信号
Microchip开发工具 图2-6: MPLAB ICD 2 311 2.4.3 MPLAB ICD 2 MPLAB ICD2在线调试器是允许在目标电路板上测试代码的一款高性价比的调试工 具。如果用户不想增加与MPLAB ICE4000相关的成本,并且不需要MPLAB ICE 4000的高级功能,那么MPLAB ICD2是一个可行的备选工具。MPLAB ICD2允许您 直接在目标板上调试dsPIC器件。您还可以使用它在线编程器件。 虽然MPLAB ICD2具有基本的调试功能,但是它不具有MPLAB ICE4000的一些功能 如跟踪存储区和复杂触发功能。同样,免费的MPLAB SIM:30软件模拟器允许您调试 代码,但是缺少MPLAB ICD2中包含的功能。图2-7是这三种调试工具的综合比较。 图2-7: MPLAB®调试工具比较 优点 ·实时仿真 MPLAB ICD 2 ·实时Watch(观察)窗口 复杂触发 逻辑分析器触发器 优点 ·低成本 缺点 ·在目标处理器上进行调试 优点 ·仿真不同的处理器系列需要 不同的模块(附加成本) 还是一个开发型编程器 ·在目标板上进行调试 成本高 缺点 Vatch窗口 ·丢失用于调试的 单击可更新寄存器 芯片资源 ·断点 MPLABICE 4000 ·有限的 ·单步执行 断点数 可中途暂停执行 优点 查看存储器内容 不需要 目标板 可编程的 时钟速度 无限断点 ·跑表功能 优点 ·免费(内置在MPLAB IDE中) ·激励文件允许模拟外设和输入 缺点 ·无法响应实际的板级信号 MPLAB®SIM30 2007 Microchip Technology Inc. DS70151ACN第19页
Microchip 开发工具 2007 Microchip Technology Inc. DS70151A_CN 第 19 页 图 2-6: MPLAB® ICD 2 2.4.3 MPLAB ICD 2 MPLAB ICD 2 在线调试器是允许在目标电路板上测试代码的一款高性价比的调试工 具。如果用户不想增加与 MPLAB ICE 4000 相关的成本,并且不需要 MPLAB ICE 4000 的高级功能,那么 MPLAB ICD 2 是一个可行的备选工具。 MPLAB ICD 2 允许您 直接在目标板上调试 dsPIC 器件。您还可以使用它在线编程器件。 虽然 MPLAB ICD 2 具有基本的调试功能,但是它不具有 MPLAB ICE 4000 的一些功能 如跟踪存储区和复杂触发功能。同样,免费的 MPLAB SIM30 软件模拟器允许您调试 代码,但是缺少 MPLAB ICD 2 中包含的功能。图 2-7 是这三种调试工具的综合比较。 图 2-7: MPLAB® 调试工具比较 优点 • 低成本 • 在目标处理器上进行调试 • 还是一个开发型编程器 优点 • 在目标板上进行调试 • Watch 窗口 • 单击可更新寄存器 • 断点 • 单步执行 • 可中途暂停执行 • 查看存储器内容 优点 • 不需要 目标板 • 可编程的 时钟速度 • 无限断点 • 跑表功能 优点 • 免费 (内置在 MPLAB IDE 中) • 激励文件允许模拟外设和输入 缺点 • 无法响应实际的板级信号 优点 • 实时仿真 • 实时 Watch (观察)窗口 • 复杂触发 • 逻辑分析器触发器 缺点 • 仿真不同的处理器系列需要 不同的模块 (附加成本) • 成本高 MPLAB® ICE 4000 MPLAB® ICD 2 MPLAB® SIM30 缺点 • 丢失用于调试的 芯片资源 • 有限的 断点数
dsPIC30F数字信号控制器入门 2.5 编程工具 下列两个编程器可以和MPLAB IDE配合使用来编程dsPIC器件:MPLAB PM3和 MPLAB ICD2。每个编程器都有各自的优缺点。 MPLAB PM3可以编程所有封装类型的器件,并且比MPLAB ICD2具有更多的编程选 项和存储器。但是两者都可以对器件进行在线编程。MPLAB ICD2是一个可以对器件 进行在线编程的在线调试器。 注: 通常,MPLAB PM3是生产编程的最佳选择。而MPLAB ICD2是在开发期 间测试代码的最佳选择(如果目标板支持在线编程的话)。 老版本的PRO MATE II编程器也支持dsPIC器件,但是已经被新型MPLAB PM3所取 代。 图2-8: MPLAB⑧PM3通用器件编程器 PM3 2.5.1 MPLAB PM3通用器件编程器 对于想要购买生产编程器的用户来说,MPLAB PM3(图2-8)是首选。它由一个基本 的编程器单元和交互式插座模块组成,从而支持各种器件封装。它由MPLAB IDE或命 令行实用程序控制,也可以独立工作。MPLAB PM3具有以下功能: ·本身支持在线串行编程。 ·串行编程惟一的D号。 ·用于代码安全性的安全模式。 ·通过USB进行高速编程和下载。 ·便于程序存储的安全数字和多媒体卡插槽。 2.5.2 MPLAB ICD 2 MPLAB ICD2不但是在线调试器,还是一个低成本的开发编程器。使用MPLAB ICD2 可以直接在目标板上对器件进行在线编程,还可以通过通用编程模块对电路板外的 DP封装器件进行编程。 DS70151A_CN第20页 2007 Microchip Technology Inc
dsPIC30F 数字信号控制器入门 DS70151A_CN 第 20 页 2007 Microchip Technology Inc. 2.5 编程工具 下列两个编程器可以和 MPLAB IDE 配合使用来编程 dsPIC 器件:MPLAB PM3 和 MPLAB ICD 2。每个编程器都有各自的优缺点。 MPLAB PM3 可以编程所有封装类型的器件,并且比 MPLAB ICD 2 具有更多的编程选 项和存储器。但是两者都可以对器件进行在线编程。 MPLAB ICD 2 是一个可以对器件 进行在线编程的在线调试器。 老版本的 PRO MATE II 编程器也支持 dsPIC 器件,但是已经被新型 MPLAB PM3 所取 代。 图 2-8: MPLAB® PM3 通用器件编程器 2.5.1 MPLAB PM3 通用器件编程器 对于想要购买生产编程器的用户来说, MPLAB PM3 (图 2-8)是首选。它由一个基本 的编程器单元和交互式插座模块组成,从而支持各种器件封装。它由 MPLAB IDE 或命 令行实用程序控制,也可以独立工作。 MPLAB PM3 具有以下功能: • 本身支持在线串行编程。 • 串行编程惟一的 ID 号。 • 用于代码安全性的安全模式。 • 通过 USB 进行高速编程和下载。 • 便于程序存储的安全数字和多媒体卡插槽。 2.5.2 MPLAB ICD 2 MPLAB ICD 2 不但是在线调试器,还是一个低成本的开发编程器。使用 MPLAB ICD 2 可以直接在目标板上对器件进行在线编程,还可以通过通用编程模块对电路板外的 DIP 封装器件进行编程。 注: 通常,MPLAB PM3 是生产编程的最佳选择。而 MPLAB ICD 2 是在开发期 间测试代码的最佳选择 (如果目标板支持在线编程的话)