11、µVision提供了用于创建应用程序的构建模式和用于调试应用程序的调试模式。可以使用集成的µVision模拟器或直接在硬件上调试应用程序,例如ULINK调试和跟踪适配器。开发人员还可以使用其他AGDI适配器或外部第三方工具来分析应用程序。
使用帮助
µVISION:将自定义部件添加到设备数据库中
µVision设备数据库包含所有8051、251,C16x / XC16x / ST10和ARM7 / ARM9 / Cortex-M标准产品。但是,有一些自定义设备,将来还会有一些不属于此数据库的设备(当然,它们将在创建时添加)。如果需要使用未列出的MCU,则有两种选择:
选择一个通用设备。
将新设备添加到数据库。
1、选择通用设备
在设备数据库的通用列表下,对于8051、251,C16x / XC16x / ST10,您将找到以下通用设备:
8031(所有变体)
8032(所有变体)
8051(所有变体)
8052(所有变体)
C166(所有变体)-支持不带扩展指令集的CPU
C167(所有变体)-支持带有扩展指令集的CPU
对于ARM和Cortex设备,在设备数据库中的ARM列表下,您会找到以下通用设备:
ARM7(大端)
ARM7(小端)
ARM966E-S(大端)
ARM966E-S(小端)
ARM9E-S(大端)
ARM9E-S(小端)
皮质M0
Cortex-M0 SDK
皮质M1
Cortex-M1(Altera)
皮质M3
皮质M4
Cortex-M4 FPU
皮质R4
皮质R4F
您可以选择这些设备之一,然后在“目标对话框”中指定任何必要的芯片选项。
2、添加新设备
从文件菜单中,选择设备数据库项。µVision将打开一个对话框,显示设备数据库,您可以在其中添加和修改现有设备。
要添加新设备...
选择与您要使用的设备类似的CPU。确保双击以突出显示该设备的设置。
更改芯片供应商的名称。
选择适当的CPU系列。
在设备文本框中输入部件号。
修改描述以匹配您的设备。
更改工具的选项(请参见下文)。
在数据库窗口中单击(以更改焦点)。这将启用“添加”按钮。
单击添加以添加新设备。
要删除设备...
在“ 数据库” 树列表框中找到要删除的设备,然后用鼠标右键单击该名称以使其突出显示。
按Del键将设备从设备数据库中删除。
注意
当您按Del键时,您不会收到警告 。设备立即被删除。
调整选项...
在选项框中,CPU =指定芯片的基本工具设置。CPU =的参数为:
IRAM(范围)
片上IRAM的地址位置。
XRAM(范围)
片上XRAM的地址位置。
XRAM2(范围)
第二个片上XRAM区域的地址位置(即C167CS)。
XRAM3(范围)
第三片上XRAM区域的地址位置。
IROM(范围)
片上(闪存)ROM的地址位置。
对于经典C166:起始地址必须为0;如果大小超过32KB,则IROM分为两部分;范围指定物理ROM大小。
IROM2(范围)
(仅适用于8051及其变型)第二个片上ROM的地址位置。
XROM(范围)
外部(闪存)ROM的地址位置。
XROM2(范围)
第二个外部ROM的地址位置。
XROM3(范围)
第三外部ROM的地址位置。
ICAN(范围)
片上CAN模块的地址位置。仅用于C167和变体。
CPUTYPE(变体)
为基于ARM的控制器指定CPU变体。当前仅支持ARM7,ARM9,Cortex-M和Cortex-R4设备。
EBIG
对于基于ARM的控制器,默认为BIG字节序。
ELITTLE
对于基于ARM的控制器,默认为LITTLE字节序。
ESEL
允许选择基于ARM的控制器的字节序。
CLOCK(val)
选择设备时使用的默认CPU时钟速度(以Hz为单位)。例如CLOCK(12000000),表示一个12MHz的振荡器。
FPU
(仅适用于ARM9)指定某些ARM9设备的默认VFPU使用率。
FPU2
(仅适用于Cortex-M4)指定某些Cortex-M4设备的默认VFPU使用情况。
MASK_REV(val)
指定掩码修订版本号。
MDU_F120
使用Silicon Labs C8051F12x器件变型的乘法/累加单元。
MDU_R515
使用Cast / Evatronix R80515的乘法/偏离单元。
MOD167
使用C167及其变型的扩展指令集。
MOD517DP
启用英飞凌特定的多个DPTR寄存器。
MOD517AU
启用英飞凌特定的算术单元。
MODA2
启用Atmel特定的多个DPTR寄存器(例如AT89S8252)。
MODAB2
使能Analog Devices的多个DPTR寄存器。
MODC2
启用Cast / Evatronix特定的多个DPTR寄存器(R80515)。
MOD_CONT
启用对达拉斯连续模式的支持。
MODDA
启用Dallas特定的算术加速器。
MODDP2
启用达拉斯特定的多个DPTR寄存器。
MODH2
使能Hynix / ST uPSD33xx uPSD34xx多个DPTR寄存器。
MODP2
启用飞利浦特定的多个DPTR寄存器。(请注意,某些Atmel设备正在使用此变体)。
MODV2
使用Infineon XC16x / ST Super10指令集扩展。
MX
支持对Philips 80C51MX体系结构的支持。
MXP
启用对Philips SmartMX SmartCard架构的支持。
DPX
使能ADI公司ADuC812的24位DPTR寄存器。
PMW
启用PCON.PMW功能,该功能允许使用MOVX指令写入Evatronix R8051XC的代码空间。
DPC
启用Evatronix R8051XC上的数据指针控制寄存器,该寄存器为DPTR寄存器提供自动递增功能。
BSE
为Evatronix R8051XC启用寄存器DPSEL.3中的Bank Switch Enable功能。
PSOC
启用赛普拉斯PSoC的中断向量的生成。
以下附加选项也可用:
BOOKn = document_file(title)
定义添加到“ 书籍”窗口中的书籍,手册,设备数据表 ;(n = {0,1,2,...})。
CPU = CPU Options
列出CPU特定的属性:(例如IRAM,IROM,CLOCK,ESEL等)。请参阅上面的列表。
FLASH = command_file(options)
指定设备应使用的Flash Utility。
REGFILE = sfr_file(文件夹)
为CPU指定SFR寄存器定义文件。
SFILE = startup_file(folder)
指定应复制到项目的默认启动文件。
SVD = rel_path \ file_name.sfr
指定特殊功能寄存器文件(* .sfr),其中包含控制 系统查看器的外围设备描述。
FLDLL = DLL_name(参数字符串)
指定默认情况下应使用AGDI DLL对此设备的Flash进行编程。该设置将在µVision对话框的 “目标实用程序选项-使用目标驱动程序进行Flash编程”中可见。可在µVision配置文件Tools.ini中的标记为“ TDRVx = ...”的行中找到AGDI目标调试驱动程序的名称(也用于Flash编程)。例如,UL2CM3.DLL是Cortex-M设备的ULINK2调试接口的驱动程序。
这种AGDI DLL的参数字符串是特定于实现的。它定义了在目标调试驱动程序设置对话框中设置的所有调试,跟踪和Flash选项。找到正确的参数字符串的最简单方法是在µVision项目中设置调试连接。然后打开µVision项目文件(* .uvproj),并将XML标签FlashDriverDll的内容复制到设备数据库。
例如,STM32F400微控制器的设备数据库条目和ULINK2目标调试接口可能类似于:
FLDLL = UL2CM3(-O207 -S0 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F4xx_1024 -FS08000000 -FL0100000)
其他选项指定数据手册和µVision调试DLL。将新设备添加到数据库时,应保留这些变量不变。
更新日志
C251版本5.60
[C251编译器]
纠正:枚举值被默默地截断。例:
枚举E {x = 0x12345};
现在警告C118:'x':显示超出范围的枚举值。
纠正:无用的警告C53:重新定义“ testbyte_2”:在以下情况下出现了不同的内存空间:
extern unsigned char const edata testbyte_2;
unsigned char const edata testbyte_2;
纠正:在所有位置,除反斜杠“ \”外,还允许斜杠“ /”作为目录分隔符。
已更正:将SET / EQU用于别名符号的汇编源输出。
纠正:在某些情况下,将指向结构内部数组的通用指针传递给具有可变参数列表的函数时,会使用错误的指针大小。例:
结构{
字符缓冲区[5];
}名称;
字符缓冲区[5];
void foo(int output,...){
foo(输出,名称。缓冲区);
}
[L251链接器/定位器]
已纠正:在极少数情况下,错误L121:不正确的修复和错误L138:代码生成:在处理指令时出现问题,原因:同步错误出现在64K块末尾附近。
纠正:在极少数情况下,如果使用长函数名和全局寄存器着色,链接器将崩溃。
已纠正:不仅在调用树中列出了功能名称,而且还警告L48:IGNORED RECURSION,CALL REOVEDED出现。
纠正:使用全局寄存器着色时,有时不执行自动重建。
更正:在开户申请的情况下,并在某些情况下的CONST -还有CODE位于同一银行地址-Segments。
已更正:在某些情况下,MERGEPUBLICS不适用于sbit变量。
[A251宏汇编器]
纠正:在所有位置,除反斜杠“ \”外,还允许斜杠“ /”作为目录分隔符。
已更正:宏处理器语言(MPL)错误消息中的两个换行符 。
[调试命令]
补充:新的调试器命令COVTOFILE filespec [\\ app] [\ module] [\ function] [DETAILS] [ASM]的 作用类似于COVERAGE命令,但是将输出发送到文件中。这比进入输出窗口快得多。
[µVision]
此C251版本随µVision V5.25.3一起提供。
[支持的操作系统]
有关硬件和操作系统要求,请参阅系统要求概述。