最新动态

工业物联网通讯专家!
认真做好每一件事,设计简单、可靠、价格合理的产品!

LPCXpresso 用户手册V1.0中文翻译(三)

6   LPCXpresso IDE 调试系统和技巧

6.1  调试系统

6.1.1   调试属性未使能

       LPCXpresso的所有属性都是上下文相关的。如果属性被禁止了,或者一些菜单和工具栏按钮被禁止了,双击打开项目管理器中的.c文件进入。如果你正在编译库项目中的.c文件,调试特性也是被禁止的。

6.1.2   寄存器显示错误或起始调试错误

       确认MCU型号是否正确。当前选择的MCU型号在LPCXpresso界面窗口下面的状态栏中显示。通过按住键盘上的“Ctrl”键并点击可以修改MCU型号。在弹出的对话框中选择正确的MCU型号。如下图所示。

6.1.3   优化       优化选项使能后,代码将会被重新排序。也即意味着冗余的C代 码行将会被重新整合。另外,初始化部分将会被放在程序最顶部,以使他们只被执行一次。这些改变会使用于调试的代码变得混乱。你会看到一些异常情况:断点只 能在第一次运行的时候有效,调试的时候程序走向指针指示的位置不正确等。最好的解决办法是:在调试的时候,优化等级设置为O0。代码优化能够使代码的大小和性能发生很大变化,用代码优化来测试你最终的产品是个很好的办法。6.1.4   显示汇编指令单击i->图标,在当前指令周围将会显示反汇编观察窗口。

6.1.5   退出调试模式并停止调试  在调试窗口中的工具栏内点击”Stop”按钮(红色方形按钮),即可终止调试并退出调试模式。6.1.6   程序下载。要想获得最好的编程和调试效果,计算机的操作系统应该是Vista 或者Windows 7,在Windows XP操作系统下,调试运行的速度明显要慢一些。但是并不影响代码的执行速度,只是软件的响应速度等变慢了。同样需要确认LPCXpresso开发板正确的直接连接到PC机上。通过hub、网关或USB分线器连接的效果不是很好。6.2   数据手册阅览器       LPCXpresso内置了一个集成网页浏览器,在项目中直接点击右下角的MCU型号,就可以查看该型号MCU的数据手册。如下图所示。

6.3   代码长度6.3.1   格式输出       当优化项目大小时,如果使用格式输出,必须在项目属性对话框中将Redlib选为标准库。这个选项必须在两个位置进行设置:头文件、库。最好也要在调试目标和发布目标这两处进行设置。头文件选项在左侧的树形文件列表的C/C++ Build文件夹中。需要确认工具设置标签是否处于激活状态,并且在右侧的树形文件列表中选择MCU C Compiler下面的Target,在设置选框中选择调试或者发布目标,在C库头文件下选择Redlib,这个通常是默认设置。如下图所示。       在相同的对话框中,选择MCU Linker下面的Target选项,再次设置链接时的标准库函数为Redlib。默认设置是Redlib(semihost),语序所有I/O通过LPCXpresso控制台连接到PC。如下图所示。

  在Redlib中执行格式输出是Newlib格式输出的一半大小。如果不使用浮点格式字符串的话,可以在Redlib中使用更小的格式输出库。如果要选择更小的库,在编译器(  )中定义符号  。为保存更大的空间,避免使用格式输出或者任何C标准库函数功能,并且选择Redlib(none)。根据你的格式输出设置和代码,这样能节省10-20K的flash存储器。

 

6.3.2   优化

       有话可以节省很多flash存储器空间。像设置C标准库一样在相同的对话框中进行优化设置。在“Tool Settings”标签中选择“MCU C Compiler”选项,然后在该选项下选择“Optimization(优化)”选项。高的优化水平会导致高的性能结果,但是也可能会导致代码量的大幅度增加。最好的方式是:在调试时选择-O0优化,在发布时选择更高的优化选项。可以试着选择-Os –mword –relocations进行代码的最大优化。使用GCC的时候,还有更多可用的优化选项,请访问以下网址获得更多信息:

6.4   显示隐藏窗口       观察窗口在IDE环境中显示各种各样的信息,可以显示源代码、项目树、调试窗口等。如果你不小心关闭了其中一些窗口,可以从Window菜单中选择Showing View and Other,并从中选择打开相应窗口。将会弹出一个对话框允许你选择并显示一个窗口。如下图所示。

 6.5   在新工作区创建一个‘skeleton’项目       LPCXpresso包含多种项目模板以帮助快速建立项目文件。6.5.1   创建一个新工作区       从“File”菜单中选择“Switch Workspace”,然后选择“Other…”。将会弹出一个“Workspace Launcher”对话框。输入或者选择一个新的路径,在此将这个新工作区命名为“NewWorkspace”。如下图所示。 

然后单击“OK”完成创建并重新回到带有这个新工作区的LPCXpresso环境中。6.5.2   创建“Skeleton”项目在快速启动面板单击“Project and File Wizards”标签。

单击“MCU project wizards”,并选择“Creat NXP Project”

在弹出的对话框中输入项目名字。将项目名字命名为“MyProject”,然后单击“Next”。   如果使用的是基于Cortex-based的部分,将会询问是否使用CMSIS。CMSIS支持Cortex控制器的软件接口标准。CMSIS定义了一个通用的访问外设寄存器和定义中断的方式。选中“Use CMSIS”复选框并单击“Next”。如下图所示。

 

接着弹出询问“源文件信息”选项,输入作者及版本等文本信息。

然后弹出一个选择创建编译设置对话框。选择默认设置即可。如下图所示。

最后,弹出“SelcetProcessorType”对话框。在这里选择MCU的型号。然后单击“Finish”。至此完成了一个项目的创建。本项目中MCU型号是LPC1343。如下图所示。

在编译“skeleton”项目之前,还有最后一步工作。由于在这个例子中我们选择了CMSIS,所以必须在本工作区中输入CMSIS项目。再次点击“Import Example Project”,找到“CMSIS<version/part>.zip”。将这个项目加入到工作区中,在快速启动面板里单击“Build all projects(Debug)”。

恭喜!你成功的建立了第一个项目!

 
7   附录7.1   LPCXpresso PCB的引线和尺寸

       LPCXpresso 目标板和LPC-LINK的原理图如下所示(略)。LPCXpresso开发板与NXP芯片引脚兼容。LPCXpresso可以使用三种供电方式:mini-USB端口供电,3.3V电压直接向板子供电,5V电源通过USB口供电。10芯mini JTAG电缆连接LPC-LINK和目标板,这个可以通过Digi-key购买。

       尺寸:LPCXpresso LPC1343的外形尺寸是1.35*5.45英寸。包含两排间距为900mil的焊孔。每一排包含27个间距为100mil的焊孔。


上一篇: 标准串口定义-9转25的串口线接法图
下一篇: 华为前高管讲述:华为为什么不上市

发表评论