0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

将Keil μVision调试器与DS89C4x0配合使用

星星科技指导员 来源:ADI 作者:ADI 2023-02-21 09:50 次阅读

本应用笔记介绍如何使用Keil μVision2工具套件调试超高速闪存系列微控制器的应用,包括DS89C430和DS89C450。此过程涉及将调试监视器应用程序加载到微控制器中,微控制器通过选定的串行端口与Keil μVision2通信

概述

本应用笔记的所有开发均使用DS89C440和DS89C450评估板(Rev B)完成。C 应用程序是使用 Keil 的 μVision2 版本 2.40 和 Keil C51 编译器版本 7.10 创建和编译的。调试监视器使用微控制器工具包89.440.2版本加载到DS1C03闪存中。

安装 Keil 调试监视器

有两种不同版本的Keil调试监视器可用于DS89C4X0,具体取决于使用哪个串行端口与主机PC上的Keil μVision2通信。此串行端口将不可用于调试中的应用程序。

使用的串行端口 使用的计时器 晶体速度 监视器文件名
串行端口 0 定时器 1 16.384兆赫 mon4x0_v14_s0.十六进制
串行端口 1 定时器 1 16.384兆赫 mon4x0_v14_s1.十六进制

这些文件

可供下载

。上面给出的名称适用于最初发布的版本;任何以后的更新都将是“V15”、“V16”等。

在DS89C450评估板上加载选定的调试监视器之前,请按如下方式设置调试板:

6-9 伏直流电源中心柱正极)应连接到电源插头 J1。

直通 DB9 串行电缆应从 J2(串行 0/加载器)连接到 PC 上的 COM1。

应在Y16处插入384.1 MHz晶体。

DIP 开关 SW1.1-7 和 SW4.1-2 应打开。所有其他 DIP 开关应关闭。

接下来,安装可下载的微控制器工具包 (MTK) 软件包。

加载调试监视器:

打开 MTK。在微控制器类型对话框中,根据插入套件板上DIP-89插槽的处理器类型,选择DS430C89、DS440C89或DS450C40。

打开DS89C450评估板的电源。

选择选项 -> 配置串行端口。 将串行端口选项设置为 COM1 和 14400 波特。

选择目标 ->以 1 波特打开 COM14400。

选择“目标”->“连接到加载程序”。

应出现加载程序提示符(DS89C4X0 加载程序版本...)

在加载程序提示符下,键入“K”并按 ENTER 擦除微控制器闪存。

从菜单中选择文件 -> 加载。选择要使用的调试监视器文件。

加载完成后,选择目标 ->关闭 COM1 并关闭微控制器工具包。

关闭DS89C450评估板的电源。

将拨码开关 SW4.1 设置为 OFF 位置。

请参阅下面的图 1,了解执行此过程时应出现在 MTK 中的输出。

pYYBAGP0I1iAaorEAACRHb5uQaM269.gif?imgver=1

图1.使用微控制器工具包加载调试监视器。

创建和编译 C 应用程序

本节介绍使用Keil的μVision89集成开发环境为DS430C440/450/2创建和编译示例C应用程序的过程。

创建新项目

在 Keil μVision2 中,从菜单中选择“项目 ->创建新项目”。输入新项目的名称。

将出现“为目标选择设备”对话框,如图 2 所示。在“数据库”下,选择“达拉斯半导体”和您正在使用的特定微控制器(DS89C430、DS89C440 或 DS89C450)。点击确定继续。

poYBAGP0I12Afkt-AAFOTt1r3nk970.gif?imgver=1

图2.为新的Keil μVision2项目选择设备。

一个新对话框将询问“将 8051 启动代码复制到项目文件夹并将文件添加到项目?选择“是”。

设置项目选项

当项目窗口在左侧打开时,打开“目标 1”。右键单击目标 1,然后选择目标“目标 1”的选项。将出现一个选项对话框。

选择“目标”选项卡。更改此选项卡中的设置,如下所示:

内存模型 - 设置为大:XDATA 中的变量。这告诉编译器在外部 MOVX RAM 中查找变量。这适用于使用硬件设置,例如高速微控制器评估板,该评估板为DS89C430/440/450提供外部数据存储器。

代码 ROM 大小 - 设置为大:64K 程序。

设置“使用多个 DPTR 寄存器”复选框。

在对话框的片外代码存储器部分中,将前两个字段设置为“Eprom 开始:0x8000”和“Eprom 大小:0x3FFF”。

在对话框的片外 Xdata 内存部分中,将前两个字段设置为 Ram 开始:0xC000 和 RAM 大小:0x3FFF。

poYBAGP0I2WATkrHAAGS0MoARIo420.gif?imgver=1

图3.DS89C430/440/450的目标选项设置

接下来,选择“调试”选项卡,并按如下所示设置选项(如下面的图 4 所示)。

选择使用和 Keil 监视器-51 驱动程序

设置“启动时加载应用程序”和“直到 main() ”复选框。

单击设置按钮并选择 COM1 和 14400 波特。

poYBAGP0I22AJATLAAGiQOTT3SY702.gif?imgver=1

图4.DS89C430/440/450的调试选项设置

添加项目代码

打开一个新文件并输入以下 C 代码:

#include #include main() { int x = 1; while (1) { x++; } }

将此文件另存为 main.c。该文件不会自动添加到项目中。要添加文件,请右键单击源组 1,然后选择将文件添加到组“源组 1”。选择 main.c 并单击添加,然后单击关闭。

编译和加载项目

若要编译项目,请按 F7,或从菜单中选择“项目 ->生成目标”。如果未发生错误,则会显示消息,指示编译已成功完成,如图 5 所示。

pYYBAGP0I3CAJRHHAADH2AAtCg8649.gif?imgver=1

图5.来自Keil μVision的编译输出。

调试项目

在Keil μVision2中启动调试会话之前,请打开DS89C450评估板的电源,并验证串行电缆是否按如下方式连接:

如果您使用的是串行 0 版本的调试监视器,则应将串行电缆从 COM1 连接到套件板上的 J2 / SERIAL 0 连接器

如果您使用的是串行 1 版本的调试监视器,则应将串行电缆从 COM1 连接到套件板上的 J3 / SERIAL 1 连接器。

从 Keil μVision2 的菜单中选择调试 ->启动/停止调试会话。如果一切连接正确,将加载编译的项目文件,Keil μVision2 将进入调试模式,如下图 6 所示。从这一点,您可以查看寄存器和变量值,执行分步、断点和其他操作。有关更多详细信息,请参阅 Keil μVision2 文档。

poYBAGP0I3SAUN2mAAEiGVaf6J0656.gif?imgver=1

图6.Keil μVision 的调试输出。

DS89C4X0的调试监视器限制

DS89C430、DS89C440和DS89C450的调试监视器具有以下限制:

所有闪存和所有低于 8000h 的外部 MOVX 内存都保留供调试监视器使用。

使用任一版本的监视器时,将保留以下寄存器/位。

(定时器1)TCON.0-1, TCON.6-7, TMOD.4-7, TL1, TH1, CKCON.4, CKMOD.4

(一般)EXIF.1-2, ACON, ROMSIZE, PMR, WDCON

使用串行 0 版本的监视器时,将保留以下寄存器/位。

P3.0-1, PCON.6-7, SCON0, SBUF0

使用串行 1 版本的监视器时,将保留以下寄存器/位。

P1.2-3, SCON1, SBUF1

关于调试监视器的其他说明

中断将被重定向到适当的矢量加 8000h。例如,外部中断 0 将向量到地址 8003h。

在某些配置中,Keil μVision2 在执行 Go 操作超过几秒钟时可能会与调试监视器失去联系。如果发生这种情况,请通过跟踪代码或从一个断点运行到另一个断点来调试应用程序。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6811

    浏览量

    147646
  • 应用程序
    +关注

    关注

    37

    文章

    3136

    浏览量

    56398
  • 评估板
    +关注

    关注

    1

    文章

    427

    浏览量

    29028
收藏 人收藏

    评论

    相关推荐

    请问PSOC4使用的是什么编程/调试器

    几乎不可能找出使用哪种编程/调试器与 PSOC4 配合使用。 我应该用什么? 英飞凌还能制造任何工具吗? 到目前为止,我似乎需要购买第三方硬件。
    发表于 01-26 07:07

    调试器无法在XMC4500中对Flash进行编程怎么解决?

    编程的情况下连接调试器,并且我 CAN 看到闪存全部设置为零。 程序计数在地址 0x000000e6 上处于无休止的循环中,该地址必须位于启动 ROM 中的某个地方。 调试器和控制
    发表于 01-30 07:32

    FX3有办法让SDK1.3.5与JTAG调试器配合使用吗?

    .... 的 DIE 引用的位于 0x0 的 DIE 调试器停止在主界面。 之后,如果我继续执行(运行),调试器就不再响应--不会在任何断点处停止,也不允许暂停。 我只能终止调试会话
    发表于 03-06 07:56

    uversion调试器仿真串口输出

    刚学习arm,使用MDK3.5调试程序自带的例程Keil\ARM\Boards\Keil\MCB2100\Blinky,但是使用uversion调试器进行软件仿真时,示波器可以看到AI
    发表于 03-04 20:13

    调试器在与DS1307连接时卡在MasterWriteI2C2上?

    我有一个PIC32 MX795F512L。我正在与DS1307接口。我处于调试模式,但每当控件达到MaxWrime2C2(0xD0);调试器
    发表于 09-20 12:51

    Keil μVision软件开发流程是怎样的

    进行软件开发,包括程序的编辑、编译、连接、生成目标代码。4、学会使用Keil μVision集成开发环境进行程序的调试。基础知识keil介绍
    发表于 11-22 06:10

    【瑞萨RA4系列开发板体验】硬件调试器烧录和调试指南

    【瑞萨RA4系列开发板体验】硬件调试器烧录和调试指南一、背景简介本次试用的RA-Eco-RA4M2-100PIN开发板有两个USB口,其中一个用于通过USB转串口芯片CH340G连接到
    发表于 11-27 21:56

    安装Keil MDK for Holtek Edition 1.0版应用程序说明

    ++编译Keil RTX5实时操作系统内核以及µVision IDE和调试器。 如果您希望对Holtek的所有基于ARM Cortex-M的设备进行编程,请在线购买
    发表于 08-11 06:51

    ARM DS-5 5.26版调试器命令参考

    DS-5调试器命令是一组全面的命令,用于调试嵌入式应用程序。 本文概述了DS-5调试器命令的一致性和使用规则,并举例说明了如何使用每个命令。
    发表于 08-21 08:05

    Arm DS-5 5.29版调试器命令参考

    通过在调试器命令行控制台中输入命令或通过运行调试器脚本文件来执行命令。 或者,在Eclipse中,您可以打开DS-5 Debug透视图,在其中您可以使用提供的菜单、图标和工具栏,或者您可以在
    发表于 08-21 07:20

    XC16xC16x和ST10开发工具介绍

    Keil C166使用领先的编译技术为C16x、XC16x和ST10微控制生成最高效的代码。
    发表于 08-24 07:58

    T89C51CC01 CAN总线编程与仿真

    记提供了可使用Keil C51编译编译的示例源代码。 要测试程序,您可以使用Keil DK51或PK51包中的µVision2
    发表于 09-04 07:39

    如何安装和使用Keil Monitor-51

    测试目标硬件中的应用程序。 有关结合使用Keil Monitor-51和?Vision2调试器的更多信息,请参阅用户指南入门和使用C51创建应用程序(
    发表于 09-04 07:26

    Keil μVision Driver v3.40调试驱动

    软件说明: Keil Vision 调试驱动 v3.40 添加最新芯片:C8051F930/931/920/921 添加最新芯片:C8051T630/1/2/3/4/5 devices
    发表于 04-16 09:03 169次下载

    Keil μVision调试器DS52x0安全微控制器配合使用

    本应用笔记介绍如何使用Keil μVision2工具套件调试DS5250高速安全微控制器的应用。该过程包括将调试监视器应用程序加载到
    的头像 发表于 06-13 17:22 665次阅读
    将<b class='flag-5'>Keil</b> μ<b class='flag-5'>Vision</b><b class='flag-5'>调试器</b>与<b class='flag-5'>DS</b>52x0安全微控制器<b class='flag-5'>配合</b>使用