Keil MDK4+JLINK V8基于LPC1788的调试V1.0
使用MDK 4.12和Jlink V8使程序在STM32F107的SRAM中运行
使用MDK 4.12和Jlink V8使程序在STM32F107的SRAM 中运行为调试程序,将程序下载到SRAM 中进行调试的好处,就不再说了,请问谷哥和度娘。
下面上图,如何配置keil 。
1、在keil 中点击在Project Targets 一项中增加一个目标,如下图:点击OK,退出。
2、在keil 的Target 中,选择SRAM ,如下图所示:然后ALT+F7,打开“options for targets ”。
3、选择“target ”项,将其中的IROM1和IRAM1改为如下图所示:m y owlQQ:281459298即将SRAM 空间中48K 用作代码空间,剩下的16K 用作数据空间。
4、先中断上面的工作,不要退出。
在你的项目文件夹中建立一个文本文件,将如下代码拷贝至此文件中,代码如下:/******************************************************************************//* RAM.INI: RAM Initialization File *//******************************************************************************/// <<< Use Configuration Wizard in Context Menu >>> ///******************************************************************************//* This file is part of the uVision/ARM development tools. *//* Copyright (c) 2005-2007 Keil Software. All rights reserved. *//* This software may only be used under the terms of a valid, current, *//* end user licence from KEIL for a compatible version of KEIL software *//* development tools. Nothing else gives you the right to use this software. *//********************************************************************m y owlQQ:281459298**********/FUNC void Setup (void) {SP = _RDWORD(0x20000000); // Setup Stack Pointer PC = _RDWORD(0x20000004); // Setup Program Counter_WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register }LOAD .\RVMDK\Temp\TempPro.axf INCREMENTAL // DownloadSetup(); // Setup for Runningg, main/*****************代码至此结束*************************************/在上面的代码中,红色字体要修改。
Keil4与Proteus7.8联调
51单片机虚拟调试1、安装Keil4与Proteus7.82、Keil4与Proteus7.8联调3、使用需要说明一下,我这里使用的虚拟电路板文件(TX-1.DSN)是郭天祥的那个.1、这一步就不用说了.....2、Keil4与Proteus7.8联调首先需要安装驱动<点这里>实现protues和keil的联调步骤如下:1.首先安装好Proteus 7.8和keil4(虽然这个驱动表明只支持Keil2和3两个版本,实测4版本也是没有问题的)2.安装keil和Proteus联调驱动程序3.安装联调驱动程序,注意:驱动程序安装在和keil同一个文件夹下4.在Keil4界面中点击Project—>Options for Target “Simulator”,点击Debug选项卡,然后如下配置:接着,我们点击右上角的Settings按钮,如下配置:4、使用在正式使用前还得小小配置一下,点击Target Options按钮:然后,点击Output选项卡,勾选Create HEX File选项(目的是生成.hex文件,该文件是要下载到板子中运行的代码):接着打开protues,找到89C51这个芯片(在最右侧中间位置):我们双击该芯片,会出现如下图所示对话框:我们只关心Program File这一项,点击右侧的文件夹图标,然后选择,你用Keil4编译出来的.hex文件,最后一步就是正式启动这块虚拟的开发板观看效果了,我们看程序界面最左下角有四个按钮:我们点击第一个按钮,虚拟开发板就运行了,我们就可以观察到实际运行效果,很棒(⊙o⊙)哦....下面来个helloWord试试,我们点亮第一个发光二极管D1:在Keil4中编写如下代码:#include <reg52.h>sbit D1 = P1^0;void main(){D1 = 0; //给低电平触发}复制代码编译完成之后,在protues中找到生成的.hex文件,再点击开始按钮就可以看到第一个发光二极管亮了:。
LPC1114如何使用MDK与JLINK连接使用问题
LPC1114如何使用MDK与JLINK连接使用问题
在前不久我应用LPC1114 做了个MP3 开发板,在使用JLINK 工具下
的SWD 方式下载非常完美。
但在在最近在用LPC1114 做另外一个项目时,发现,用JLINK 工具的SWD 方向调试,总是会提示如下(mdk4.13),很多网友也遇到了这个问题:
通过不断努力终于找到原因了:我在使用4.13a 时,只能设置如下,才能正
常工作:
而用4.12 时的设置如下:
由上面的看得出来,4.12 的设置为大家普遍采用的设置,而4.13 的则不同。
所以说明了,在使用MDK 与JLINK 调试时一定要注意设置,而且不同版本的
设置是不一样的。
至于为什么会这样就不得而知了。
通过测试4.14 发现是可以像4.12 那样的设置,看来是4.13 有问题。
tips:感谢大家的阅读,本文由我司收集整编。
仅供参阅!。
keil设置及调试程序的方法
断点方式调试程序举例
说明: 说明: 1) 断点方式不能调试中断程序。 断点方式不能调试中断程序 不能调试中断程序。 必须按“ 2) 断点方式调试必须按“运行”命令。 断点方式调试必须按 运行”命令。 3) PC指针停到断点处后,可以检查中间结果, PC指针停到断点处后 可以检查中间结果, 指针停到断点处后, 而后,可以继续“运行”或单步执行, 而后,可以继续“运行”或单步执行,直到程序 执行结束。 执行结束。
硬件上机调试设置与方法
设备: 设备:NXP P89C52X2
时钟: 时钟:11.0592 片外代码存储: 片外代码存储: Eprom #1 开始 0x8000 大小 0x4000 片外Idata存储: 片外Idata存储:Ram #1 开始 0xc000 大小 0x4000 存储
使用 Keil Monitor-51 Drive2
调试中断最佳方式调试中断最佳方式1光标指到要停处光标指到要停处22按运行到光标处命令按运行到光标处命令调试中断程序举例调试中断程序举例按下key1p32int0key1p32int0按钮后按钮后pcpc指针停到预置光标处指针停到预置光标处说明说明已经进入中断服务程序中断已经进入中断服务程序中断正常正常
调试中断程序举例
按下key1(p3.2/int0)按钮后, 按下key1(p3.2/int0)按钮后, key1(p3.2/int0)按钮后 PC指针停到预置光标处 指针停到预置光标处, PC指针停到预置光标处,说明 已经进入中断服务程序, 已经进入中断服务程序,中断 正常. 正常.
1) 光标放在中断服务程序的 第一条可执行指令处
2) 按“运行到光标处”命令后, 运行到光标处”命令后, 按下key1(p3.2/int0)按钮后 PC指针停 按下key1(p3.2/int0)按钮后, PC指针停 按钮后, 到预置光标处, 到预置光标处,说明已经进入中断服务程 中断正常。 序,中断正常。 3)而后,按“运行”命令,连续运行。 而后, 运行”命令,连续运行。
实验一 Keil软件的使用及简单程序的调试方法
实验一 Keil软件的使用及简单程序的调试方法一、实验目的掌握Keil的使用方法和建立一个完整的单片机汇编语言程序的调试过程及方法。
二、实验器材计算机1台三、实验内容1.Keil的使用方法。
2.建立一个单片机汇编语言程序的调试过程及方法四、实验步骤1.Keil的使用方法。
Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。
启动Keil 后的界面如下:几秒钟后即进入Keil的编辑界面。
用户便可建立项目及应用程序。
2.简单程序的调试方法Keil是通过项目工程来管理汇编程序的。
因此在调试程序前必须建立一个工程,工程名称及保存位置由用户来指定,注意每位同学的工程名称用“学号姓名实验*”来命名。
(1)建立一工程单击Project菜单,在弹出的下拉菜单中选中New Project选项。
并在弹出的对话框中确定保存的位置及工程名称。
又弹出一对话框,要求用户选择相应的硬件CPU及相关设置。
选择Atmel公司的AT89C51单片机。
如下图所示单击“确定”后在弹出的对话框中行选择“否”即工程建好了,但该工程没有任何语句,需要再建一个程序文件并将其添加到此工程中。
(2)建一文件单击“File”/“New”命令,则弹出文件的编辑窗口,此时该文件还没有指明其文件名称及保存位置,该文件还没有加载到所建立的工程中。
单击“File”/“Save”命令在弹出的对话框中指明文件的类型为.ASM汇编型及文件名后单击“保存”即可进行汇编源文件的编辑。
如下图所示。
(3)将文件添加到工程中单击“Target 1”前的“+”号则展开后变成“-”号,并右键单击“Source Group 1”在弹出的下拉菜单中执行“Add Files to Group ‘Source Group 1’”命令并弹出对话框在该对话框中的“文件类型”下拉列表中选择“Asm source file”后找到要添加的文件名并选中,单击“Add”即可。
Keil4使用Jlink设置指南
KEIL4环境,使用Jlink仿真器调试M3说明1.安装keil4首先要安装集成开发环境KEIL4MDK,这是ARM公司最新的调试软件,我们提供的工程例程都在KEIL4MDK开发环境下,调试通过!2.安装jlink驱动,驱动位于光盘的工具软件文件夹里,目前稳定的版本是JLinkARM_V408i。
用户只需一步步安装即可,安装过程中不需要任何设置!安装完成后出现下图的可用快捷方式!下边接收几个很有用的:1.)J-Flash ARM:这是一个单独的程序烧写软件,J-Flash ARM配合Jlink仿真器可以完成绝大多数ARM芯片或扩展FLASH的烧录工作!2.)J-Link GDB Server:打开这个软件,同时连接上开发板,就可一看到目标板MCU 内核和目标板电压!3.)J-Link Commander:打开这个软件之前电脑要先连接jlink,可以看到jlink的硬件版本和序列号!3.Keil4仿真调试配置打开你要调试的工程(就是实验例程,请注意每个工程都可单独配置,KEIL4MDK工程一般是工程名+.uvproj的方式存在的),工程打开后,出现下边的界面:我们提供了两种调试模式:内部flash调试和内部SRAM调试!我们首先要选择调试模式,是在内部flash调试还是内部SRAM调试。
用户可以在下图的位置选择调试模式:每颗芯片的RAM相对FLASH来说,都较小,所以如果程序量超过RAM的范围,请选择flash调试模式!选择完调试模式后,接着配置该调试模式下的参数!点击下图所示图标或者点击Flash--Configure Flash Tools......,如下图所示点击后,会打开下图所示的配置窗口首先选择CPU型号,比如:LPC1768等,接着进行Target配置!见下图所示:如果用户选择flash调试模式,可以参考下图配置!主要是点√的选项后边设置!如果是在sram内部调试,就要选择见下图设置!下边进行Output设置,这一部可以设置输出文件和输出文件的名字,具体设置见下图所示空白框内,可以填写输出文件的名字,上图填的是“BUZZER”。
SK-LPC1788开发板用户手册_V1.11
SK-LPC1788 开发板用户手册
1.概述
1.1 核心芯片
SK-LPC1788 是基于 NXP 最新推出的 Cortex-M3 内核 MCU—LPC1788FBD208 的开 发板。LPC178x 系列 MCU 拥有最高 512KB 片上 Flash、96KB 片上 SRAM、4KB 片上 EEPROM 以及 32 位外接存储器接口,其最高运行频率高达 120MHz,可以帮助客户 轻松实现低成本、高质量的图像应用。该系列 MCU 支持众多图像显示面板,是工 业自动化、销售网点和医疗诊断应用的理想选择。
SK-LPC1788 开发板用户手册
SK-LPC1788 开发板用户手册
Rev. 1.11 2012.03.17
地址:上海市红石路 333 号 3 号楼 电话:15000314055
-1-
SK-LPC1788 开发板用户手册
版本历史:
版本 1.11
日期 2012.3.17
1.1
2012.3.3
1.02
3.开始使用 ....................................................................................................................17 3.1 使用 ULINK2 调试下载程序 .............................................................................17 3.1.1 打开例程 ...............................................................................................17 3.1.2 编译例程 ...............................................................................................17 3.1.3 选择 ULINK2 仿真器 .............................................................................19 3.1.4 识别 ULINK2 仿真器 .............................................................................19 3.1.5 开发板主芯片(MCU)被 ULINK2 识别 ..............................................20 3.1.6 设置下载算法........................................................................................21 3.1.7 调试程序 ...............................................................................................23 3.1.8 下载程序 ...............................................................................................23 3.2 使用 ISP 下载程序 ....................................................................................23 3.2.1 安装 FlashMagic。 .............................................................................23 3.2.2 短接 JP10 和 JP11。 ............................................................................23 3.3.3 打开 FlashMagic,进行如下设置: ...................................................23
实验1使用Keil输入和调试程序
实验一使用Keil输入和调试程序(一)实验目的:通过实验掌握Keil C51集成开发环境输入程序和调试程序的方法。
(二)实验仪器:计算机一台STC12学习板一套STC单片机仿真器一套USB连接电缆一根(三)实验内容及步骤:Keil C51 IDE又叫Keil集成开发环境或Keil C51μVision3。
实验要求使用Keil集成开发环境完成实验程序的输入、调试。
Keil是以工程项目的方法管理文件。
所有的文件(源程序文件、头文件和各种技术文档)都是放在工程项目里的统一管理。
下面通过一个实验程序学习使用Keil IDE建立应用程序和调试程序的步骤:✓新建一个工程项目。
✓为工程项目选择目标器件。
✓建立源程序文件,输入程序代码并保存。
将源程序文件添加到工程项目里。
✓为工程项目设置软件、硬件的调试环境。
✓输入、调试和运行实验程序。
要创建的工程项目是:设计一个程序,使学习板上的LED1灯闪亮,电路图如图2-1所示(在第14页)。
该实验工程项目的建立过程如下:1、启动Keil C51的IDE开发环境并建立一个工程项目双击计算机桌面上的Keil C51 IDE图标即可启动Keil C51 IDE开发环境。
如果以前已经建立了工程项目,Keil51 IDE启动后会直接显示原来打开的工程项目。
也可以打开原来已经存在的工程项目。
打开已经存在的项目方法是,从“Project”菜单中选择“Open Project”菜单项,从弹出的对话框中选择要打开的项目。
新建项目文件时,从“Project”菜单中选择“New Project”菜单项,将打开“Create New Project”对话框。
如图1-1所示。
在“Create New Project”对话框中做以下的工作:✧为工程项目选择一个存放路径,在此选择STC51文件夹(若计算机中没有STC51文件夹,则需要建立它)。
✧在文件名输入框里输入,这是为实验工程项目取的工程项目文件名(扩展名是.uv2)。
ads+jlink和keil+jlink调试环境配置 .
ads1.2 and jlinkv81.安装ads1.2和jlink驱动Setup_JLinkARM_V408i.exe安装ads1.2时,最后在100%时如果持续时间长,耐心等一下吧。
没有等待而点了cancel,则之后就不好重装了。
2.将线连好:pc的usb口连到jlink的usb口,jlink的jtag口连到板子的jtag口。
由于我的jlink的jtag口20pin而板子jtag口10pin,所以中间用一个转接小板转接了一下将板子的flash开关在nor或nand均可,将板子上电,在开始里打开jlink gdb server,应该会出现下图,恩,jlink没坏3.确保TQ2440_Test工程的路径中不存在中文,/detail/songqqnew/3636198在TQ2440_Test中双击TQ2440_Test.mcp,出现点击debug,弹出axd窗口如下,(貌似还弹出了load session的窗口,关闭了就行)4.在axd中点击configure target弹出下图add 一个文件JLinkRDI.dll,默认在C:\Program Files\SEGGER\JLinkARM_V408i,添加后如下图然后点configure,然后在弹出的窗口中点确定,然后点OK5.在axd中点击configure interface,弹出串口,在session file标签页配置script脚本文件init_sdram.txt,路径中不要中文init_sdram.txt内容如下[cpp]view plaincopyprint?1.Setmem 0x53000000 0x00000000 322.Setmem 0x4A000008 0xFFFFFFFF 323.Setmem 0x4A00001C 0x000007FF 324.Setmem 0x53000000 0x00000000 325.Setmem 0x56000050 0x000055AA 326.Setmem 0x4C000014 0x00000007 327.Setmem 0x4C000000 0x00FFFFFF 328.Setmem 0x4C000004 0x00061012 329.Setmem 0x4C000008 0x00040042 3210.Setmem 0x48000000 0x22111120 3211.Setmem 0x48000004 0x00002F50 3212.Setmem 0x48000008 0x00000700 3213.Setmem 0x4800000C 0x00000700 3214.Setmem 0x48000010 0x00000700 3215.Setmem 0x48000014 0x00000700 3216.Setmem 0x48000018 0x0007FFFC 3217.Setmem 0x4800001C 0x00018005 3218.Setmem 0x48000020 0x00018005 3219.Setmem 0x48000024 0x008E0459 3220.Setmem 0x48000028 0x00000032 3221.Setmem 0x4800002C 0x00000030 3222.Setmem 0x48000030 0x00000030 32然后确定,然后关闭axd,6.然后在ads中再次点击debug,如果此时弹出的画面是如下,就再次执行一下第4 5步,貌似因为之前的配置没被保存7.然后在ads中再次点击debug,如果此次弹出的画面如下,即要求定位到2440init.s文件,那就找到到ads工程源码中的这个文件,点击打开点击打开之后,应该就可以出现以下窗口接下来点击go或按F5 等调试就可以了在操作过程中,点击debug后如果又出现一些问题,那么就执行一下configure interface 或configure target/**************************************************************************************************** *******************************************************************/keil4 and jlinkv81.安装keil4 和jlink驱动Setup_JLinkARM_V408i.exe2.打开keil4,新建一个工程,名为test3.在接下来的框中选择samsung的s3c2440a芯片,如下4.在接下来的框中选择是,使用官方启动脚本,如下5.配置板子target:debug:Ext_RAM.ini是手动在工程目录建立的文件,其内容如下[cpp]view plaincopyprint?1./******************************************************************************/2./* Ext_RAM.INI: External RAM (SDRAM) Initialization File*/3./******************************************************************************/4.// <<< Use Configuration Wizard in Context Menu >>>//5./******************************************************************************/6./* This file is part of the uVision/ARM development tools.*/7./* Copyright (c) 2005-2008 Keil Software. All rights reserved.*/8./* This software may only be used under the terms of a valid, current,*/9./* end user licence from KEIL for a compatible version of KEIL software */10./* development tools. Nothing else gives you the right to use this software. */11./******************************************************************************/12.13.14.FUNC void SetupForStart (void) {15.16.// <o> Program Entry Point17. PC = 0x30000000;18.}19.20.21.FUNC void Init (void) {22.23. _WDWORD(0x4A000008, 0xFFFFFFFF); // Disable All Interrupts24.25. _WDWORD(0x53000000, 0x00000000); // Disable Watchdog Timer26.27. // Clock Setup28. // FCLK = 300 MHz, HCLK = 100MHz, PCLK = 50 MHz29. _WDWORD(0x4C000000, 0x0FFF0FFF); // LOCKTIME30. _WDWORD(0x4C000014, 0x0000000F); // CLKDIVN31. _WDWORD(0x4C000004, 0x00043011); // MPLLCON32. _WDWORD(0x4C000008, 0x00038021); // UPLLCON33. _WDWORD(0x4C00000C, 0x001FFFF0); // CLKCON34.35. // Memory Controller Setup forSDRAM36. _WDWORD(0x48000000, 0x22000000); // BWSCON37. _WDWORD(0x4800001C, 0x00018005); // BANKCON638. _WDWORD(0x48000020, 0x00018005); // BANKCON739. _WDWORD(0x48000024, 0x008404F3); // REFRESH40. _WDWORD(0x48000028, 0x00000032); // BANKSIZE41. _WDWORD(0x4800002C, 0x00000020); // MRSRB642. _WDWORD(0x48000030, 0x00000020); // MRSRB743.44. _WDWORD(0x56000000, 0x000003FF); // GPACON: Enable Address lines for SDRAM45.}46.47.48.// Reset chip with watchdog, because nRST line is routed on hardware in a way49.// that it can not be pulled low with ULINK50.51._WDWORD(0x40000000, 0xEAFFFFFE); // Load RAM addr 0 with branchto itself52.CPSR = 0x000000D3; // Disable interrupts53.PC = 0x40000000; // Position PC to start of RAM54._WDWORD(0x53000000, 0x00000021); // Enable Watchdog55.g, 0 // Wait for Watchdog to resetchip56.57.Init(); // Initialize memory58.LOAD .\test.axf INCREMENTAL // Download program59.SetupForStart(); // Setup for Running60.g, main // Goto Main上面倒数第三行是需要改动的,在本例中是test.axf。
KEIL4+MDK+jlink裸机程序调试+ads移植keil4_MDK
KEIL4 + MDK + JLIN程序设计及在线仿真1.建立一个工程,在提示是否加载自带的启动程序时选择“是”,再添加main.c这样就好了。
2.设置工程。
点击3.Output里面点击Create hex file,生成hex文件点击select Folder for objects 创建新文件夹obj,把生成文件放在obj里面,因为生成文件较多。
点击listing,设置存放文件路径,这里放在obj好了,同步骤34.生成.bin文件的设置里面内容为:fromelf.exe --bin -o @p.bin .\obj\@p.axf这里fromelf.exe执行生成.bin文件,编译的时候如下图会发现@p编程了工程名了。
.\obj\是个路径。
5.c/c++和asm不需要改。
Linker要设置成这样6.配置调试选项,右边选择仿真器,左边是选择软件调试点击setting,配置,我选的8000,都可以选择。
这个可以在keil4的例子里面找到,要做一点修改。
LOAD .\obj\one.axf ……填上自己的.axf7. 配置utilities点击setting这就配置完了。
待编译完后点击在线调试点击执行程序。
ADS移植到MDK1.新建工程,添加ADS的文件2.修改2440init.s为入下83行。
添加PRESERVE8 把Init改为Reset。
3.配置可以参考前面的说明。
Target可以不设置,默认就行。
4.在c/c++和asm里面设置5.设置linker6.设置Debug和Utilities同上。
编译完成就可以在线仿真了。
Jlink V8在Keil4.14下的设置
近期很多人问关于KEIL下如何设置JLINK的问题,我们这边重新做了个简易的示例图
各位可以在JLINK使用手册的基础上再看下此文档.
我使用的KIEL版本是4.14.
打开KEIL然后打开project然后选择option for target"target1"之后选择debug会出现下面的图.
选择连接方式.然后和板子连接.接上板子电源
点SETTING之后,会出现下面的图
表示,红色圈起来的,表示,已经和CPU连接.左边,蓝色的JTAG表示,选择的下载方式是JTAG 模式.
之后,我们需要做的是选择您的芯片.点击下上面的Flash Download,会出现如下图
点击ADD之后显示的图如下:
再做最后一步.
.之后就可以下载和编译了.
2011年7月2日
B.D
E.D。
KeilMDK4+JLINKV8基于LPC1788的调试V1.0
KeilMDK4+JLINKV8基于LPC1788的调试V1.0文档制作人:万里无云烟(百度文库);QQ群号:213586959Keil MDK4.50+JLINK V8基于LPC1788的调试V1.0 1 调试具备的最基本条件1.1首先应安装好Keil MDK编译器上网下载Keil MDK的最新版本(要求版本最好4.50以上),如已经含有破解补丁最好,如没有,则一般下载版本编译代码长度和使用年限会受限制,此时你可下载低版本的破解补丁,按照破解说明做破解即可。
1.2其次要安装好J-link的驱动J-link的驱动,一般购买J-link ARM JTAG仿真器(现在固件最新版为V8)时,都会带一张含驱动程序的光盘,按照光盘中的驱动安装说明安装即可,但我个人建议你安装最新的驱动,最新的驱动到segger官网即可免费下载,下面是我下载最新的驱动的地址:/cms/jlink-software.html。
1.3目标板、仿真器和PC机间连接首先将仿真器的JTAG口连接到目标板的调试接口,其次将目标板上电,最后,将仿真器的USB口连接到PC机上。
此时电脑会告诉你发现新硬件并自动安装新的驱动。
安装完成后会告诉你新驱动已安装完成。
至此,准备工作已完成,接下去的工作是新项目的建立、代码编写、项目配置(包含仿真器的选择等)、编译项目、调试项目。
2新项目的建立2.1首先选择菜单Project 下的New μVision Project...项,见图1。
图1 选择菜单Project 下的New μVision Project...项2.2选择New μVision Project...项后Keil μVision 4将打开一个项目保存对话框,见图2。
图2 项目保存对话框在这个对话框处,你可选择新建项目保存路径或保存位置,建议保存到自己熟悉的位置,以便日后查询;项目名称建议选择你要实现功能的简称(例如:你要驱动LED灯,则可将项目名称定为GPIO_LED)。
《keil调试方法》课件
调试器的安装与配置
总结词
调试器的安装与配置是使用Keil调试 器的第一步,需要正确安装并配置调 试器才能进行后续的调试工作。
详细描述
首先,需要从Keil官网下载并安装相 应的调试器驱动和软件。然后,在 Keil软件中配置目标板、晶振频率等 硬件参数,以便让调试器与目标板建 立正确的通信。
调试界面的基本操作
2023-2026
ONE
KEEP
REPORTING
CATALOGUE
目 录
• Keil调试器简介 • Keil调试器的使用方法 • Keil调试器的进阶技巧 • Keil调试器的常见问题与解决方案 • Keil调试器的未来展望
PART 01
Keil调试器简介
Keil软件的新功能展望
更强大的代码编辑和智能 感知功能
Keil软件将进一步增强代码编辑和智能感知 功能,提供更好的代码补全、语法高亮和错 误提示等功能。
更多的调试和跟踪工具
Keil软件将增加更多的调试和跟踪工具,如更强大 的内存和寄存器查看器、更灵活的断点和观察点等 。
更优化的性能分析工具
性能分析工具的优化将有助于开发者更好地 理解和优化代码性能,提高开发效率。
总结词
调试界面的基本操作包括打开工程、加载程序、启动调试等,这些操作是使用Keil调试器进行程序调试的基础。
详细描述
在Keil软件中打开需要调试的工程,选择正确的目标板和晶振频率,然后加载程序到目标板中。之后,点击工具 栏上的“Debug”按钮启动调试,此时调试界面会显示程序运行过程中的各种信息。
调试命令的使用
总结词
调试命令是Keil调试器提供的一组强大的工具,通过这些命令可以对程序进行单步执行、变量查看等 操作,方便开发者进行问题排查和程序优化。
keil调试方法
❖ 软件调试只能是一种初步的,小型工程 的调试,比如一个只有几百上千行的代 码的ห้องสมุดไป่ตู้序,软件调试能很好的完成,如 果是一个协调系统,可能还需要借助几 个单片机仿真器和相关的仪器才能解决。
❖ 软件仿真不需要额外花钱,而硬件需要, 一个仿真器一般都上千元,同时可以仿 真许多种单片机的工作。
学会Keil 的调试方法
程序一眼看不出错在哪里,需 要调试
软件仿真
硬件调试
软件仿真选左边,硬件仿真选右 边
硬件仿真需要仿真器
两种调试方法比较
❖ 都可以检测单片机执 行时序下的片内资源 情况。
❖ 可以实现断点、全速、 单步、运行到光标等 常规调试手段。
❖ 软件调试只能通过软件窗口虚拟硬件端 口的电平输出情况。而仿真器可以实现 与单片机一样的功能的硬件连接,从某 种意义上说这个时候仿真器就是一个单 片机。
如何用Keil uVision 软件调试程序
• 首先:打开一个已经编译通过的单片机项 目
选择Debug下面的Start/Stop Debug Session,可以打开调试、关闭调试
常用的调试按钮:
常用的调试按钮
就是Reset ,相当 于这单是片 全机 速最 运简 行系 ,统 相 的当停复于止位 单 全按 片 速钮 机 运, 的 行按 通 的下 电 按 后执钮st,行。ep所 。i有nt的o 系逐统语状句; 态进st将入ep变 并o成 单ve初 步r 始 执逐状 行过态 ;程 执s单t行e步p到执o断u行t点处跳出
插入断点
汇这编个窗是口Disassembly Windows,按下后可 以把C51 Disassembly 为相 应的汇编语言
JLINK在ADS下调试心得
JLINK在ADS下调试心得前两天一个客户用jlink在ADS来调试LPC2148总报错,这个错误我之前在调试LPC2200的时候也碰到过,后来在醇酒兄的指导下问题解决了,在这谢谢醇酒兄。
发贴和大家分享一下。
1、在AXD下添加JLINK选择Options下面的Config T arget,如下图所示:JLINK_ADS_1.jpg单击Add按钮,添加jlinkRDI.dll(确保你已经安装了segger公司提供的驱动程序,本说明安装的为3.80a),如下图所示:JLINK_ADS_2.jpg添加完成后,如下图所示:JLINK_ADS_3.jpg2、配置JLINK接上面,添加完成后,点击Configure,出现JLINK设置对话框,我们这里主要是选择我们要调试的处理器,如下图所示:JLINK_ADS_4.jpg选择完成后,点击确定完成设置。
如果JLINK已经和开发板连接好,并上电后,log信息里面会出现JLINK连接处理器的信息,如下图所示:JLINK_ADS_5.jpg3、调试添加JLINK并配置完成后,即可开始调试。
开始调试后,一旦我们单步或者设置断点调试,我们会碰到这样的问题,如下图所示:JLINK_ADS_6.jpg结果无法调试,要解决这个问题,我们需要修改下ADS的设置,选择Options下面的Configure Processor,如下图所示:JLINK_ADS_7.jpg出现如下所示对话框:JLINK_ADS_8.jpg将Semihosting前面的勾去掉即可解决问题,如下图所示:JLINK_ADS_9.jpg点击OK,退出AXD,重新Debug,这次就可以任意单步或者设置断点了JLINK_ADS_12.jpg。
Keil4调试大全
KEIL程序调试:KEIL程序调试:程序编译没有错误之后,就可以进行调试与仿真。
单击开始/停止调试的快捷按钮(或者在主界面单击Debug)菜单中的“Start/Stop Debug Session”(开始停止调试会话)。
进入程序调试状态,如下图:上图中左边的工程窗口给出了常用的寄存器r0~r7以及a,b,sp,dptr,pc,psw,等特殊功能寄存器的值,这些值会随着程序的执行发生相应的变化。
在上图的存储器窗口的地址栏处输入0000H后回车,则可以查看单片机内程序存储器的内容,单元地址前有”C:”表示程序存储器。
如果在存储器窗口的地址栏处输入D:00H后回车,则可以查看单片机内数据存储器的内容,单元地址前有“D:”表示数据存储器。
在程序调试状态下,可运用快捷图标进行单步,跟踪,断点,全速运行等方式的调试,也可以观察单片机资源的状态,例如程序存储器,数据存储器,特殊功能寄存器,变量寄存器以及IO端口的状态。
在查看IO口值时,建议每一次仿真过以后要重新点击仿真d从左到右:命令窗口(command window)汇编窗口(disassembly window)控制特殊功能寄存器显示窗口(Symble window)寄存器窗口(工程窗口那块)(register window)堆栈调用窗口(Call stack)监视窗口(watch window)子窗口是locals watch1 watc2存储器窗口(memory window)串行口调试窗口(serial window)分析窗口(包含逻辑分析仪,性能分析仪)后面几个比较少用到在主菜单栏:peripherals可以查看定时器,和IO口的数值,中断,串行通信从左到右:查找(find out)第二个不知道开始停止调试后面几个带圈的都和断点相关和工程窗口相关的几个小帮助最后一个是配置,可以修改各个窗口的字体,short cut key等等很实用。
单步什么的就不介绍了,很简单的。
LPC1778启动代码分析
LPC1788 启动代码分析在Keil uVision4中新建一个基于NXP1788的工程后,会提示添加启动汇编代码startup_LPC177x_8x.S。
该文件进行从汇编到C语言运行环境的初始化工作。
1;/*************************************************************** **************2; * @file: startup_LPC177x_8x.s3; * @purpose: CMSIS Cortex-M3 Core Device Startup File4; * for the NXP LPC177x_8x Device Series5; * @version: V1.206; * @date: 07. October 20107; *------- <<< Use Configuration Wizard in Context Menu >>>------------------8; *9; * Copyright (C) 2010 ARM Limited. All rights reserved.10; * ARM Limited (ARM) is supplying this software for use with Cortex-M3 11; * processor based microcontrollers. This file can be freely distributed12; * within development tools that are supporting such ARM based processors.13; *14; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED15; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF16; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.17; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR18; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.19; *20;******************************************************************** *********/212223; <h> Stack Configuration24; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>25; </h>2627Stack_Size EQU 0x000002002829 AREA STACK, NOINIT, READWRITE, ALIGN=3 30Stack_Mem SPACE Stack_Size31__initial_sp323334; <h> Heap Configuration35; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>36; </h>3738Heap_Size EQU 0x000004003940 AREA HEAP, NOINIT, READWRITE, ALIGN=3 41__heap_base42Heap_Mem SPACE Heap_Size43__heap_limit444546 PRESERVE847 THUMB484950; Vector Table Mapped to Address 0 at Reset5152 AREA RESET, DATA, READONLY53 EXPORT __Vectors5455__Vectors DCD __initial_sp ; Top of Stack56 DCD Reset_Handler ; Reset Handler57 DCD NMI_Handler ; NMI Handler58 DCD HardFault_Handler ; Hard Fault Handler59 DCD MemManage_Handler ; MPU Fault Handler60 DCD BusFault_Handler ; Bus Fault Handler61 DCD UsageFault_Handler ; Usage Fault Handler62 DCD 0 ; Reserved63 DCD 0 ; Reserved64 DCD 0 ; Reserved65 DCD 0 ; Reserved66 DCD SVC_Handler ; SVCall Handler67 DCD DebugMon_Handler ; Debug Monitor Handler68 DCD 0 ; Reserved69 DCD PendSV_Handler ; PendSV Handler70 DCD SysTick_Handler ; SysTick Handler7172 ; External Interrupts73 DCD WDT_IRQHandler ; 16: Watchdog Timer74 DCD TIMER0_IRQHandler ; 17:Timer075 DCD TIMER1_IRQHandler ; 18:Timer176 DCD TIMER2_IRQHandler ; 19:Timer277 DCD TIMER3_IRQHandler ; 20:Timer378 DCD UART0_IRQHandler ; 21: UART079 DCD UART1_IRQHandler ; 22: UART180 DCD UART2_IRQHandler ; 23: UART281 DCD UART3_IRQHandler ; 24: UART382 DCD PWM1_IRQHandler ; 25: PWM183 DCD I2C0_IRQHandler ; 26: I2C084 DCD I2C1_IRQHandler ; 27: I2C185 DCD I2C2_IRQHandler ; 28: I2C286 DCD SPIFI_IRQHandler ; 29: SPIFI87 DCD SSP0_IRQHandler ; 30: SSP088 DCD SSP1_IRQHandler ; 31: SSP189 DCD PLL0_IRQHandler ; 32: PLL0 Lock (Main PLL)90 DCD RTC_IRQHandler ; 33: Real Time Clock91 DCD EINT0_IRQHandler ; 34: External Interrupt 092 DCD EINT1_IRQHandler ; 35: External Interrupt 193 DCD EINT2_IRQHandler ; 36: External Interrupt 294 DCD EINT3_IRQHandler ; 37:External Interrupt 395 DCD ADC_IRQHandler ; 38: A/D Converter96 DCD BOD_IRQHandler ; 39: Brown-Out Detect97 DCD USB_IRQHandler ; 40: USB98 DCD CAN_IRQHandler ; 41: CAN99 DCD DMA_IRQHandler ; 42: General Purpose DMA100 DCD I2S_IRQHandler ; 43: I2S 101 DCD ENET_IRQHandler ; 44: Ethernet102 DCD MCI_IRQHandler ; 45:SD/MMC card I/F103 DCD MCPWM_IRQHandler ; 46: Motor Control PWM104 DCD QEI_IRQHandler ; 47: Quadrature Encoder Interface105 DCD PLL1_IRQHandler ; 48: PLL1 Lock (USB PLL)106 DCD USBActivity_IRQHandler ; 49: USB Activity interrupt to wakeup107 DCD CANActivity_IRQHandler ; 50: CAN Activity interrupt to wakeup108 DCD UART4_IRQHandler ; 51: UART4 109 DCD SSP2_IRQHandler ; 52: SSP2 110 DCD LCD_IRQHandler ; 53: LCD 111 DCD GPIO_IRQHandler ; 54: GPIO 112 DCD PWM0_IRQHandler ; 55: PWM0 113 DCD EEPROM_IRQHandler ; 56: EEPROM114115116 IF :LNOT::DEF:NO_CRP117 AREA |.ARM.__at_0x02FC|, CODE, READONLY 118CRP_Key DCD 0xFFFFFFFF119 ENDIF120121122 AREA |.text|, CODE, READONLY123124125; Reset Handler126127Reset_Handler PROC128 EXPORT Reset_Handler [WEAK] 129 IMPORT SystemInit130 IMPORT __main131 LDR R0, =SystemInit132 BLX R0133 LDR R0, =__main134 BX R0135 ENDP136137138; Dummy Exception Handlers (infinite loops which can be modified)139140NMI_Handler PROC141 EXPORT NMI_Handler [WEAK] 142 B .143 ENDP144HardFault_Handler\145 PROC146 EXPORT HardFault_Handler [WEAK] 147 B .148 ENDP149MemManage_Handler\150 PROC151 EXPORT MemManage_Handler [WEAK] 152 B .153 ENDP154BusFault_Handler\155 PROC156 EXPORT BusFault_Handler [WEAK] 157 B .158 ENDP159UsageFault_Handler\160 PROC161 EXPORT UsageFault_Handler [WEAK] 162 B .163 ENDP164SVC_Handler PROC165 EXPORT SVC_Handler [WEAK] 166 B .167 ENDP168DebugMon_Handler\169 PROC171 B .172 ENDP173PendSV_Handler PROC174 EXPORT PendSV_Handler [WEAK] 175 B .176 ENDP177SysTick_Handler PROC178 EXPORT SysTick_Handler [WEAK] 179 B .180 ENDP181182Default_Handler PROC183184 EXPORT WDT_IRQHandler [WEAK] 185 EXPORT TIMER0_IRQHandler [WEAK] 186 EXPORT TIMER1_IRQHandler [WEAK] 187 EXPORT TIMER2_IRQHandler [WEAK] 188 EXPORT TIMER3_IRQHandler [WEAK] 189 EXPORT UART0_IRQHandler [WEAK] 190 EXPORT UART1_IRQHandler [WEAK] 191 EXPORT UART2_IRQHandler [WEAK] 192 EXPORT UART3_IRQHandler [WEAK] 193 EXPORT PWM1_IRQHandler [WEAK] 194 EXPORT I2C0_IRQHandler [WEAK] 195 EXPORT I2C1_IRQHandler [WEAK] 196 EXPORT I2C2_IRQHandler [WEAK] 197 EXPORT SPIFI_IRQHandler [WEAK] 198 EXPORT SSP0_IRQHandler [WEAK] 199 EXPORT SSP1_IRQHandler [WEAK] 200 EXPORT PLL0_IRQHandler [WEAK] 201 EXPORT RTC_IRQHandler [WEAK] 202 EXPORT EINT0_IRQHandler [WEAK] 203 EXPORT EINT1_IRQHandler [WEAK] 204 EXPORT EINT2_IRQHandler [WEAK] 205 EXPORT EINT3_IRQHandler [WEAK] 206 EXPORT ADC_IRQHandler [WEAK] 207 EXPORT BOD_IRQHandler [WEAK] 208 EXPORT USB_IRQHandler [WEAK] 209 EXPORT CAN_IRQHandler [WEAK] 210 EXPORT DMA_IRQHandler [WEAK] 211 EXPORT I2S_IRQHandler [WEAK] 212 EXPORT ENET_IRQHandler [WEAK] 213 EXPORT MCI_IRQHandler [WEAK]215 EXPORT QEI_IRQHandler [WEAK] 216 EXPORT PLL1_IRQHandler [WEAK] 217 EXPORT USBActivity_IRQHandler [WEAK] 218 EXPORT CANActivity_IRQHandler [WEAK] 219 EXPORT UART4_IRQHandler [WEAK] 220 EXPORT SSP2_IRQHandler [WEAK] 221 EXPORT LCD_IRQHandler [WEAK] 222 EXPORT GPIO_IRQHandler [WEAK] 223 EXPORT PWM0_IRQHandler [WEAK] 224 EXPORT EEPROM_IRQHandler [WEAK] 225226WDT_IRQHandler227TIMER0_IRQHandler228TIMER1_IRQHandler229TIMER2_IRQHandler230TIMER3_IRQHandler231UART0_IRQHandler232UART1_IRQHandler233UART2_IRQHandler234UART3_IRQHandler235PWM1_IRQHandler236I2C0_IRQHandler237I2C1_IRQHandler238I2C2_IRQHandler239SPIFI_IRQHandler240SSP0_IRQHandler241SSP1_IRQHandler242PLL0_IRQHandler243RTC_IRQHandler244EINT0_IRQHandler245EINT1_IRQHandler246EINT2_IRQHandler247EINT3_IRQHandler248ADC_IRQHandler249BOD_IRQHandler250USB_IRQHandler251CAN_IRQHandler252DMA_IRQHandler253I2S_IRQHandler254ENET_IRQHandler255MCI_IRQHandler256MCPWM_IRQHandler257QEI_IRQHandler258PLL1_IRQHandler259USBActivity_IRQHandler260CANActivity_IRQHandler261UART4_IRQHandler262SSP2_IRQHandler263LCD_IRQHandler264GPIO_IRQHandler265PWM0_IRQHandler266EEPROM_IRQHandler267268 B .269270 ENDP271272273 ALIGN274275276; User Initial Stack & Heap277278 IF :DEF:__MICROLIB279280 EXPORT __initial_sp281 EXPORT __heap_base282 EXPORT __heap_limit283284 ELSE285286 IMPORT __use_two_region_memory287 EXPORT __user_initial_stackheap288__user_initial_stackheap289290 LDR R0, = Heap_Mem291 LDR R1, =(Stack_Mem + Stack_Size) 292 LDR R2, = (Heap_Mem + Heap_Size) 293 LDR R3, = Stack_Mem294 BX LR295296 ALIGN297298 ENDIF299300301 END程序完成如下内容的工作:开辟一块大小为Stack_Size的栈空间;标号__initial_sp指向栈顶位置;定义堆空间大小为Heap_Size;建立中断向量表Vectors,cortex-M3规定起始地址必须存放栈顶地址即__initial_sp,紧接着存放复位入口地址,这样内核复位后就会自动从起始地址的下32位取出复位地址执行复位中断服务函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文档制作人:万里无云烟(百度文库);QQ群号:213586959Keil MDK4.50+JLINK V8基于LPC1788的调试V1.0 1 调试具备的最基本条件1.1首先应安装好Keil MDK编译器上网下载Keil MDK的最新版本(要求版本最好4.50以上),如已经含有破解补丁最好,如没有,则一般下载版本编译代码长度和使用年限会受限制,此时你可下载低版本的破解补丁,按照破解说明做破解即可。
1.2其次要安装好J-link的驱动J-link的驱动,一般购买J-link ARM JTAG仿真器(现在固件最新版为V8)时,都会带一张含驱动程序的光盘,按照光盘中的驱动安装说明安装即可,但我个人建议你安装最新的驱动,最新的驱动到segger官网即可免费下载,下面是我下载最新的驱动的地址:/cms/jlink-software.html。
1.3目标板、仿真器和PC机间连接首先将仿真器的JTAG口连接到目标板的调试接口,其次将目标板上电,最后,将仿真器的USB口连接到PC机上。
此时电脑会告诉你发现新硬件并自动安装新的驱动。
安装完成后会告诉你新驱动已安装完成。
至此,准备工作已完成,接下去的工作是新项目的建立、代码编写、项目配置(包含仿真器的选择等)、编译项目、调试项目。
2新项目的建立2.1首先选择菜单Project 下的New µVision Project...项,见图1。
图1 选择菜单Project 下的New µVision Project...项2.2选择New µVision Project...项后Keil µVision 4将打开一个项目保存对话框,见图2。
图2 项目保存对话框在这个对话框处,你可选择新建项目保存路径或保存位置,建议保存到自己熟悉的位置,以便日后查询;项目名称建议选择你要实现功能的简称(例如:你要驱动LED灯,则可将项目名称定为GPIO_LED)。
选择好保存路径后,在“文件名(N):”对应栏中输入希望新建项目的名字,即可创建一个新的项目。
我选择保存路径为D:\ GPIO_LED\ GPIO_LED.uvproj,见图3。
图3 新项目保存路径点击图3中“保存”按钮,则会弹出选择CPU类型对话框,选择厂商“NXP(founded by philips)”下面的“LPC1788”,见图4。
图4 选择CPU类型点击“OK”即可。
会弹出需要复制启动文件到项目文件夹和添加文件到项目对话框,见图5,点击“是”即可,至此一个项目新建完成(注:对于一些设备而言,Keil µVision需要用户手动地输入额外的参数)。
图5 复制启动文件到项目文件夹和添加文件到项目对话框新项目建完后,Keil µVision环境中项目窗口显示见图6。
图6 项目窗口显示新建项目2.3此项点旨在告诉读者一个项目需要链接的文件,也为接下来的项目配置打下伏笔。
打开一个驱动LED的例子程序。
见图7。
图7 项目视窗中一个项目需要链接的文件3项目配置3.1进入项目配置选择“project”下的“options for Target ’FLASH’…”选项,见图8。
图8 选择“project”下的“options for Target ’FLASH’…”选项3.2选择“options for Target ’FLASH’…”选项后弹出项目配置对话框,或者目标FLASH或RAM选项,见图9。
图9 目标FLASH或RAM选项此次仅对几个关键项点作介绍,以后版本更新时再做详细介绍,这几个关键项点是:1 Target(目标选项);2 Output(输出选项);3 Debug(调试选项);4 Utilities(工具选项)。
3.3Target(目标选项)设置,我仅更改了晶振“Xtal(MHz)”频率,和目标板晶振频率一致,也可不做修改,默认即可,其它项采用默认,也可进行优化修订,这个以后再做介绍。
见图10。
图10 “Xtal(MHz)”频率改为243.4Output(输出选项)设置,按图11选择,选择创建扩展名为HEX,文件保存路径选择按图11上的按钮,选择HEX文件保存位置,建议保存在项目所在的文件夹下。
图11 Output(输出选项)设置3.5Debug(调试选项)设置,硬件仿真“Use:”选择见图12。
图12 硬件仿真“Use:”选择硬件仿真“Use:”选择完成后,选择好用于硬件仿真的硬件见图13。
图13 选择好用于硬件仿真的硬件点击硬件仿真处的按钮,则会弹出仿真硬件设置界面,如果连接成功,则会弹出硬件相关信息,可设置项按图14设置。
图14 仿真硬件设置界面及相关设置3.6Utilities(工具选项)设置,按图15设置即可。
图15 Utilities(工具选项)设置至此,项目配置的几个关键项点简单设置完成。
4代码编写代码编写这里就不赘述了。
5编译项目5.1编译快捷工具栏见图16。
图16 编译快捷工具栏:编译当前文件。
:仅编译已修改的文件。
:编译所有文件,我习惯使用这个。
:这个不做介绍。
:停止编译当前文件。
:程序下载到目标板FLASH区。
:配置目标选项工具,即项目配置快捷工具,点击此快捷工具,即可进入“options for Target ’FLASH’…”界面。
见图17。
图17 “options for Target ’FLASH’…”界面:项目部件管理快捷工具。
使用可参考百度文库中文件“Keil MDK 3.5 Jlink V8 在STM32中SRAM 调试成功方法成功.pdf”,链接地址:/view/0ccb13fffab069dc502201af.html。
文章介绍的还是比较具体的,这里我就不在赘述了。
以后有更深刻的理解后再在此处更新。
6调试项目6.1调试快捷工具栏见图18。
图18 调试快捷工具栏:进入调试界面。
:设置断点。
光标设到要设计断点的代码行,单击此按钮,即为该代码行设置了断点,再次单击,则取消所设的断点。
:使能或禁止断点。
将光标定位到已经设置了断点的代码行处,单击此按钮,该断点被禁止,再次单击此按钮,断点使能。
:使能/禁止所有断点。
:取消所有断点。
:打开或关闭工程视图。
:项目配置快捷工具。
点击此工具,则会弹出配置界面,见图19。
图19 配置界面1 编辑选项卡(Editor):用来设置一些编辑信息,比如缩进的设置,显示行号设置,界面显示效果等等。
2 颜色和字体(Colors&Fonts):如果默认的关键字颜色,代码颜色,代码字体、大小不符合你的习惯,可以在这里进行更该,在这里还可以更改用户自定义关键字。
3 用户关键字(User Keywords):非常好用的一个功能,它可以使你自己定义的关键字像系统关键字一样高亮显示。
假如你有想写一个移植性比较高的程序,通常一些和编译器无关的变量类型需要这样定义:typedef unsigned char uint8; /* 无符号8位整型变量*/ typedef signed char int8; /* 有符号8位整型变量*/ typedef unsigned short uint16; /* 无符号16位整型变量*/ 然后在其它模块中都是这样定义一个无符号8位整形变量:uint8 test;//定义变量这样有一个什么问题呢?就是uint8这个虽然是用户定义的关键字,但是它并不能像系统关键字那样高亮显示。
怎么办呢?完全有办法解决,而且就是在这个标签卡中就可完成。
选择“User Keywords”后,见图20。
图20 选择“User Keywords”项后显示设置方法如下:(1)在图20左侧窗口选择文件类型,比如C/CPP Editor files;(2)在右侧窗口点击按钮,新建一个用户关键字编辑框,输入用户定义的关键字,比如uint8,见图21。
这样在程序代码中,所有的uint8都会高亮显示。
图21 新建一个用户关键字uint84 快捷键(Shortcut Keys)。
估计应该和Windows快捷键设置差不多,暂时没用到,略过不说。
5 模板代码(Templates)。
这又是一个比较实用的功能,模板既有软件自带的,也可以自己编辑模板。
可以在你书写程序的时候使用这一功能加快代码的输入。
选择“Templates”项后,见图22。
图22 选择“Templates”项后显示使用方法:(1)可以在该选项卡中编辑自己的代码模板,也可以用软件自带的模板。
(2)使用打开或关闭工程视图快捷工具,选中该工具下拉菜单中的“Templates”项;见图23。
图23 选中工程视图快捷工具下拉菜单中的“Templates”项选中后会在工程工作空间(Project WorkSpace)中出现标签,再编写代码,应用即可。
见图24。
图24 工程工作空间(Project WorkSpace)中出现标签。