用mplab ide调试c时为啥左侧不见绿色箭头,如何才能弄出来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用mplab ide调试c时为啥左侧不见绿色箭头,如何才能弄出来相关的知识,希望对你有一定的参考价值。
如上,没有箭头无法发现错误,不好生成HEX文件
参考技术A 你建立了工程没有,project>>project wizard>>....
然后添加C文件
如果你正确建立了工程,你再看看view里面 是不是有的选项没有显示
MCD1的第二章MPLAB-ICD的安装和使用
参考技术A2.1MPLAB-ICD对计算机主机的要求
为了更好地发挥调试系统的性能,必须把MPLAB-IDE软件包安装到符合以下要求的计算机里:
奔腾(PENTIUM)系列PC或兼容计算机
微软公司的操作系统:WINDOWS95/98,WINDOWS-NT,或者WINDOWS2000
至少16MB的系统内存,推荐使用32MB系统内存
45MB可使用的磁盘空间
一个空余的串行通讯口
2.2安装硬件
请按下列步骤安装MCD1硬件系统:
2.2.1安装仿真MCU
按三种不同情况安装仿真MCU。
1、目标板上没有安装RJ-6插座:将仿真MCU(PIC16F87X)插入到MPLAB-ICD仿真头上仿真MCU插座(40脚IC座)里面。(参见表2-1)
用户目标板上的MCU型号仿真头上相应的MCU型号
PIC16F870(A)PIC16F871(A)
PIC16F871(A)PIC16F871(A)
PIC16F872(A)PIC16F871(A)
PIC16F873(A)PIC16F874(A)
PIC16F874(A)PIC16F874(A)
PIC16F876(A)PIC16F877(A)
PIC16F877(A)PIC16F877(A)
表2-1
2、目标板上已安装RJ-6插座:将仿真MCU-PIC16F87X直接插入目标上的MCU插座里面。
3、目标板上没有安装RJ-6插座:将仿真MCU-PIC16F87X直接插入目标上的MCU插座里面,用配套6PIN连接线连接MCD1主机和用户板[各线功能如下:黑线:Vpp,红线:+VDD,绿线:GND,黄线RB7,白线RB6,棕线RB3(若仿真器使用自身电源则VCC不用接用户板)]。
2.2.2连接主机、仿真头和目标(教学实验)板
1、安装仿真头:把仿真头插入应用目标(教学演示)板的MCU插座里。如果调试的MCU是28引脚,则需将仿真头的引出脚调整成28脚,然后插到目标(教学实验)板上的28脚的锁紧座里。
如目标板上有安装RJ-6插座或用配套6芯排线连接,则不需此步骤。
RJ-6电缆内部各芯的分配如下表2-2:
J2各芯编号信号
6RB3
5RB6
4RB7
3接地
2+VDD
1Vpp
表2-2
2、用六芯扁平电缆连接MCD1主机和MCD1-DEMO教学实验板(或用户应用目标板)。
3、用RS-232串行口专用九芯电缆连接计算机的串行口和MCD1主机。
4、接上教学实验板(或用户应用目标板)的电源。使用的电源为9V、0.5A的电源适配器(插头中心为电源负极)。
5、打开计算机主机电源。
2.3安装软件
MPLAB-ICD是MPLAB-IDE集成开发环境的一个可插入(ADD-ON)工具。用户应按如下步骤安装MPLAB-IDE集成开发环境软件包:
1.进入WINDOWS环境里,把MCD1的CD-ROM插入光盘驱动器里。在光盘里找到MPLAB-IDE5.70.40的软件包.
2.执行安装程序:
在WINDOWS操作界面上找到安装文件后,直接点击运行即可。
3.按指导过程来安装MPLAB-IDE集成开发环境软件包。一定记住安装过程中当出现要求选择MPLAB-ICD部件的会话窗口时,要点击并选择该部件,以便系统安装。
2.4使用(MCD1)MPLAB-ICD
连接硬件并安装完软件之后,用户可以先在MPLAB-IDE的纯编辑模式下编写程序。在*.ASM程序编辑完成后就可以开始使用ICD。以下将以源程序tut877.asm为例说明使用过程。
2.4.1建立一个16进制调试文件
用户需要建立一个新“项目”(*.pjt),以便将源文件*.asm和建立的十六进制文件*.hex包含在内进行调试。
2.4.1.1新“项目”目录
为这个新项目建立一个目录:\\MPLAB\\tut877。将tut877.asm文件从\\MPLAB目录移动到该目录下面(注意:MPLAB5.XX要求项目*.pjt必须和载入源文件*.asm处于同一个文件夹)。
2.4.1.2新“项目”
选择Project>NewProject,选择新项目所在的路径,然后在文件名会话窗口里输入tut877.prj。
点击“OK”按钮(图2-1)之后编辑项目会话窗口(EditProjectdialog)将会打开(如图2-2所示)。
图2-1:建立新项目-tut877.prj
图2-2:设置开发模式前编辑项目会话窗口
2.4.1.3项目会话窗口
用户将会在如图2-2所示的编辑项目会话窗口看到开发模式设置(DevelopmentMode)。图中显示出当前工作于软件模拟(MPLAB-SIM)方式,MCU是PIC12C508处理器。这些状态都是用户以前使用MPLAB-IDE集成开发环境时的设置。而现在则需要改变这些设置。
点击“Change”按钮后将会出现开发模式设置(DevelopmentMode)对话框(如图2-3所示)。
图2-3:设置开发模式
在Tools菜单条里选择“MPLAB-ICDDebugger”。在处理器(processor)窗口选择PIC16F877,然后点击“OK”(注意:如果仿真或烧写PIC87XA芯片,则只需要选取对应的不带A型号。比如调试16F877A时,只需要将仿真头芯片替换为16F877A,并选取芯片型号为16F877)。
这时MPLAB-IDE将和MPLAB-ICD主机之间建立通讯。在这个过程中,MPLAB-ICD会话窗口将会同时出现。
假如你看到一条错误报告信息,请重新检查一下电源连线、插座是否牢固可靠、电缆是否连接正确。
注意在编辑项目会话窗口(EditProjectdialog)里是否正确选择了开发模式和处理器设置。
在编辑项目会话窗口里的项目文件(ProjectFile)区域里用鼠标选取tut877.hex文件,然后点击节点属性(NodeProperty)按钮(如图2-4)。执行这项操作后系统将会弹出一个节点属性(NodeProperty)窗口。
图2-4:编辑项目会话窗口
2.4.1.4设置节点属性
节点属性会话窗口显示出涉及到MPLAB-ICD的参数开关,这些参数都是MPASM汇编器的。当你首次打开该会话窗口时,所看到的设置均为该开发工具的默认设置。对于本范例中的应用,没有必要修改该默认设置。
点击“OK”按钮(如图2-5),返回到编辑项目会话窗口(EditProjectdialog)。
图2-5:节点属性会话窗口
图2-6:增加节点
2.4.1.5增加节点
在编辑项目会话窗口里点击增加节点(AddNode),打开添加节点会话窗口。选择tut877.asm,然后点击OK即可(如图2-6)。
2.4.1.6完成对项目的设置
在这个简单的例子里,在路径选择框里没有指定目录。随着你的应用越来越复杂,用户将有可能需要在相应的选择框里指定包含相应文件的目录路径。
MPASM通常会把十六进制文件的文件名(a.hex)取得和源文件(a.asm)的文件名一样。当建立(BUILT)tut877.prj项目的时候,项目管理器将会生成一个十六进制文件tut877.hex。
图2-7:带节点的编辑项目会话窗口
点击“OK”按钮,关闭编辑项目会话窗口(EditProjectdialog),然后从MPLAB-IDE菜单项里选择选择命令:Project>SaveProject保存新的项目。这样就完成了对项目的设置。
2.4.1.7建立项目(MakeProject)
现在您要从MPLAB-IDE的菜单项里选择Project>MakeProject,使用MPASM宏汇编来程序来汇编应用程序。创建(BUILDALL)以后的结果窗口中可以看到发送给汇编器的命令行和结果信息(如图2-8所示)。
图2-8:创建(BUILT)以后的结果窗口
其中主要有以下三种提示信息:
1、错误(error):表示源文件在…有错误,用户应根据提示修改源程序;
2、警告(warring);
3、信息(Message):这并不一定是错误,用户的程序代码仍然会被正确地编译。例如:信息[302]是提示,在指示的行号(31,32和34)里用户指定了一个并不位于第0页面(BANK0)的通用寄存器。
点击创建结果(BUILTRESULTS)窗口右上角的图标X将关闭窗口。
2.4.2设置MPLAB-ICD和MPLAB
这时候,MPLAB-ICD会话窗口将会出现在计算机的桌面上。用户须选择适当的选择项来设置MPLAB-IDE,使之能和MPLAB-ICD的硬件一起工作(图2-9)
图2-9:MPLAB-ICD会话窗口
选项选项说明
状态(Status)菜单(不可选择项)状态栏显示被执行的MPLAB-ICD函数和状态。当编程时,可以从这里看到进程。当操作完成后,状态栏将显示信息“Waitingforusecommand”(等待用户命令)
串行口和波特率菜单要确信这些设置合乎你的系统要求
上载(Upload)选项菜单现在选择最小值,往后的范例中将会调试改变该数值
时钟选择范围菜单选择工作频率范围:2MHZ~10MHZ
表2-1:MPLAB-ICD会话窗口
2.4.2.1设置ICD的编程和调试选项
为了对PIC16F87X芯片进行编程,必须先对ICD选项会话窗口(ICDOptionsdialog)进行设置工作,为编程作好准备。在MPLAB-ICD的会话窗口里点击Options,打开ICD选项会话窗口(图2-10)。
图2-10:MPLAB-ICD选项会话窗口
注意:使用MCD1配套实验板时,该实验板默认是在晶体振荡方式,故要选择Oscillator为XT模式(因4M晶振刚处于XT与HS的临界状态,所以如果你用XT振荡调试不顺利可换成HS再重新PROGRAM试试).
2.4.2.2配置位和芯片类型选择
用户将要在这个ICD选项会话窗口中设置PIC16F87X处理器的各种配置位。
点击图中相应的箭头图标,将弹出一个对应的列表,用户应根据需要从该列表中选择相应的选择项。可选项及相应说明如表2-2所示。
其中,芯片(Device)栏在本例中显示的是PIC16F877,这是在开发模式设置(DevelopmentMode)中设定好的。要想改变这一设定,用户需退出当前设置,输入命令:Options>DevelopmentMode,然后正确选择芯片。
可选项选项说明
Oscillator
振荡器本范例里使用4.000Mhz的晶体振荡器,应选择为XT.
WatchdogTimer
看门狗定时器对于本范例里,看门狗定时器(WDT)应关闭
PowerUpTimer
上电延时定时器对于本范例里,上电延时定时器(PWRT)应关闭
BrownOutDetect
电源掉电监测对于本范例里,电源掉电监测(BOD)应关闭
LowVoltageProgram
低电压编程当使用MPLAB-ICD时,低电压烧写应禁止。可以用RB3作为数字I/O。
CodeProtectData
EEPROM数据保护本范例关闭了EEPROM数据保护
FlashMemoryWrite
闪速存储器写本范例没有使能通过EECON寄存器对FLASH存储空间进行擦写
CodeProtect
代码保护本范例关闭了代码保护
表2-2:配置位和芯片类型的选择
2.4.2.3芯片ID码和代码校验和
在图2-10所示的MPLAB-ICD选项会话窗口中,用户还会看到代码校验和(CHECHSUME)及ID代码(IDCode)这两个窗口。在本范例中,我们选择“UseChecksumasID”,使用代码校验和(CHECHSUME)作为ID代码。
2.4.2.4电压选择
用鼠标点击更新(Update)按钮即可检查目仿真器主机上电源Vdd(芯片供电)和Vpp(编程电源)的电压值。
MPLAB-ICD的编程电压大约为13伏特,该电压是将电源电压Vdd通过开关升压电路(BoostConverter)升压后得到的。
2.4.2.5编程选项
程序地址范围(起始地址和结束地址)是可以被读取、编程或校验的程序或数据存储器地址范围。默认的程序地址范围被设定为用户所选芯片的程序存储器的最大范围。本范例将使用默认的程序地址范围。
确信程序选择项(ProgramOptions)下的所有检查项都已经选中(有“√”符号为选中)。这意味着所有存储器、ID代码、配置位都将被编程。而且所有的存储器都将会在编程之前被全部清除;芯片被设置为调试(Debug)模式。
2.4.3对PIC16F877进行编程
点击Program按钮,这时候就会将tut877.hex这个十六进制文件和调试代码(DebugCode)写入MPLAB-ICD仿真头或用户目标板(教学实验板)中的PIC16F87X里。编程过程可能要用几分钟。在编程过程中,状态栏(Statusbox)里将会显示当前的操作顺序。当编程过程结束后状态栏里将会显示信息“Waitingforusercommand”(等待用户命令)。
注意:调试代码(DebugCode)是PIC16F87X微控制器里地址范围1F00h~1FFFh的一组特殊代码,这些区域用来存放MPLAB-ICD在线调试功能的监控程序。
用户可以最小化或移动MPLAB-ICD会话窗口而不能关闭它:关闭MPLAB-ICD会话窗口将退出MPLAB-ICD开发环境。假如想重新进入MPLAB-ICD,使用命令:Options>DevelopmentMode选择MPLAB-ICD并点击OK即可重新使用ICD环境。
2.4.4运行及调试
最后要做的就是运行程序,并对其进行调试。MPLAB为方便使用,把常用的一些运行、调试命令及窗口选项以小图标的形式置于工具栏中。当用户鼠标移至小图标上时,背景窗体的左下角将会显示相应的说明。
以下对常用运行、调试命令及窗口选项进行简要的介绍。
运行(Run):点击此项后芯片将全速运行片内程序,直至遇到断点或是接到了停止命令。图标:
停止(HalttheProcessor):点击此项后芯片将停止运行当前程序。图标:
单步(Step):点击此项后芯片将执行当前行的指令。图标:
连续单步(StepOver):点击此项后芯片将由当前行开始,连续执行单步操作,直至遇到断点或是接到停止命令。图标:
复位(ResetProcessor):点击此项后芯片将被复位。图标:
程序存储器窗口(ProgramRegisterWindow):点击此项后将打开程序存储器窗口。图标:
通用寄存器窗口(FileRegisterMemory):点击此项后将打开通用寄存器窗口。图标:
特殊功能寄存器窗口(SpecialFunctionRegisterWindow):点击此项后将打开特殊功能寄存器(SFR)窗口。图标:
增加新变量窗口(CreateNewWatchWindow):点击此项后将打开观察变量窗口,并允许用户添加新的观察变量。图标:
合理运用运行调试手段将有助于更快更好的调试用户程序。例如:
使用变量观察窗可以集中观察用户关心的变量寄存器内的数据变化情况
特殊寄存器窗口集中显示了特殊功能寄存器内的数据,用户根据其变化可以判断出各功能模块的运行状况
使用单步可以观察到执行该行指令后的效果
使用连续单步可以较为直观的观察到程序的运行路径,子程序的跳转情况
设置断点可以让程序在某一句上停下,因此可以用来判断某一子程序的入口条件是否准确,可以让程序迅速的停在要分析的程序段上
各个运行调试手段的作用远不止上述的几点,这需要用户在实际运行调试中自己体会。
注意:使用MCD1配套DEMO板实验此程序时,须将实验板S13的第2位置ON,在运行过程中调整实验板上VR1的值会将A/D转换后取得的不同值在实验板上RC口的LED上显示.
以上是关于用mplab ide调试c时为啥左侧不见绿色箭头,如何才能弄出来的主要内容,如果未能解决你的问题,请参考以下文章
请教mplab x ide v3.05 xc8编译 pic17f887 pickit3调试问题
用MPLAB IDE编程时,软件总是弹出一个窗口提示: “the extended cpu mode configuration bit is enabled,but the program that