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

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

3天内不再提示

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

星星科技指导员 来源:ADI 作者:ADI 2023-06-13 17:22 次阅读

本应用笔记介绍如何使用Keil μVision2工具套件调试DS5250高速安全微控制器的应用。该过程包括将调试监视器应用程序加载到DS5250中,DS2通过选定的串行端口与Keil μVision<>通信

本应用笔记的所有开发均使用DS5250和DS52x0评估板(Rev A)完成。C 应用程序是使用 Keil 的 μVision2 版本 2.40 和 Keil C51 编译器版本 7.10 创建和编译的。调试监视器使用微控制器工具套件(MTK)52.0.2版本加载到DS2x0评估板RAM中。

安装 Keil 调试监视器

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

使用的串行端口 使用的计时器 晶体速度 监视器文件名
串行端口 0 定时器 1 11.0592兆赫 周一5250s0x11.hex
串行端口 0 定时器 1 22.1184兆赫 周一5250s0x22.hex
串行端口 1 定时器 1 11.0592兆赫 周一5250s1x11.hex
串行端口 1 定时器 1 22.1184兆赫 周一5250s1x22.hex
外部串行端口 2 没有 任何 周一5250s2.十六进制

要获取这些文件,请通过我们的模拟支持中心联系微控制器技术支持小组。

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

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

应将直通 DB9 串行电缆从主机 PC 上的 J3 (串行 0) 连接到 COM1。

应插入 11.0592 MHz 或 22.1184 MHz 晶体。(可以使用不同的晶体速度,但这会导致与加载器通信时具有不同的波特率。

除 A1-A4、B1 和 B2 应打开外,所有 DIP 开关都应关闭。

接下来,安装微控制器工具包 (MTK) 软件包,该软件包可在 https://www.analog.com/en/product-category/microcontrollers.html 加载调试监视器:

打开 MTK。在微控制器类型对话框中,选择DS5240/50

打开DS52x0评估板的电源。

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

选择“目标”->以 1 波特打开 COM9600

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

应出现加载程序提示符(DS5250 安全加载程序...)

在加载程序提示符下,键入“W MSIZE 12”并按回车键。

在加载程序提示符下,键入“W MCEN E0”并按回车键。

在加载程序提示符下,键入“W MCON 81”并按回车键。

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

加载完成后,选择“目标 ->关闭 COM1”。

关闭DS52x0评估板的电源。将 DIP 开关 B1 设置为 OFF 位置。

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

wKgaomSINTOAaFi3AAA-v1AXCk4869.jpg

图1.使用 MTK 加载调试监视器。

创建和编译 C 应用程序

本节描述使用Keil的μVision5250集成开发环境为DS2创建和编译示例C应用的过程。

创建新项目

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

将出现“为目标选择设备”对话框,如图 2 所示。在“数据库”下,选择“达拉斯半导体DS5250”。选中“使用扩展链接器”和“使用扩展汇编程序”框,然后单击“确定”继续。

wKgZomSINTaAMPF1AABWSjfmKis307.jpg

图2.为新的Keil μVision5250项目选择DS2。

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

设置项目选项

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

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

内存模型 - 设置为大:XDATA 中的变量

代码 ROM 大小 - 设置为连续模式:16 MB 程序

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

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

在对话框的片外 Xdata Memory 部分中,将前两个字段设置为 Ram 开始:0x8000RAM 大小:0x10000

wKgaomSINTiADUx2AABUdFo-KH0935.jpg

图3.DS5250的目标选项设置。

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

选择使用,然后选择 MON390 - 达拉斯连续模式

单击设置按钮并选择 COM19600 波特

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

wKgZomSINTqAKJjBAABayX1hySU498.jpg

图4.DS5250的目标调试设置。

添加项目代码

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

#include 
#include 

void main()
{
   while (1) {
      P0 = 0x80;
      P0 = 0x40;
      P0 = 0x20;
      P0 = 0x10;
      P0 = 0x08;
      P0 = 0x04;
      P0 = 0x02;
      P0 = 0x01;
   }
}

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

接下来,打开文件 START390。A51 并注释掉以下行(在 STARTUP1 标签之后):

;         MOV     TA,#0xAA        ; Enable access to P4CNT
;         MOV     TA,#0x55
;         P4CNT_VAL EQU (SBCAN SHL 6) OR (PCES SHL 3) OR (P4PF)
;         MOV     P4CNT,#P4CNT_VAL
;
;         MOV     TA,#0xAA        ; Enable access to P5CNT
;         MOV     TA,#0x55
;         P5CNT_VAL EQU (SP1EC SHL 5) OR (CX_IO SHL 3) OR (P5PF)
;         MOV     P5CNT,#P5CNT_VAL

达拉斯半导体DS5250监视器自动将微控制器设置为连续模式。因此,微控制器会错误地解释第一个指令地址。对 START390 进行此附加更改。A51 文件:

?C_STARTUP      LABEL   NEAR

$IF MONITOR
                LJMP    STARTUP1
$ELSE
                DB      02H     ; LJMP in Classic 8051 Mode
                DW      WORD0 STARTUP1
                RSEG    ?C_C51STARTUP
$ENDIF

然后在“项目-组件”、“环境和书籍-项目组件”中创建新目标,并将该新目标设置为当前目标。在项目 - 目标选项 - AX51 中添加条件程序集控制符号 MONITOR。

编译项目

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

wKgaomSINTyAII5ZAABin4SYJBg837.jpg

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

调试项目

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

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

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

如果您使用的是调试监视器的串行 2(外部串行)版本,则应使用 DB1 到 6x2 适配器电缆将串行电缆从 COM9 连接到套件板上的 J2 / SERIAL 5 连接器。

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

DS5250的调试监视器具有以下限制。

使用监视器时,您无法启用扩展堆栈。监视器使用此区域进行数据存储。

申请必须从0x8000开始。

应用程序不得写入矢量 RAM。

使用外部串行监视器时,不支持串行中断模式。

wKgaomSIO4CAWCOxAAFfrBxJZC0704.png

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

审核编辑:郭婷

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

    关注

    48

    文章

    7443

    浏览量

    150827
  • 连接器
    +关注

    关注

    98

    文章

    14205

    浏览量

    135884
  • keil
    +关注

    关注

    68

    文章

    1210

    浏览量

    166560
收藏 人收藏

    评论

    相关推荐

    Wdg_17_Scu与BSW集成,如果没有调试器微控制器停止运行的原因?

    时,如果没有调试器微控制器停止运行。 移除 JTAG 后,微控制器停止并无法重新启动。 相关详情: 我正在使用带有 Trace32 Powerview 的劳特巴赫
    发表于 01-23 08:27

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

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

    高速安全微控制器DS5250电子资料

    概述:DS5250是Maxim公司生产的一款安全微控制器,它是该系列中的一款高度安全、4时钟每机器周期、100%兼容8051指令集的微控制器
    发表于 04-21 06:26

    使用PE微型调试器微控制器中闪存程序时,无法在控制器中闪存程序怎么解决?

    当我使用 PE 微型调试器微控制器中闪存程序时,我们在 216 处收到以下错误 ieruntime 错误并且 GDB 已终止,因此我们无法在控制器中闪存程序。请解决问题
    发表于 04-17 06:03

    DS5250中文资料 (高速安全微控制器)

    DS5250是Maxim安全微控制器系列中的一款高度安全、4时钟每机器周期、100%兼容8051指令集的微控制器
    发表于 05-11 09:37 162次下载

    keil MDK微控制器开发套件下载

    keil MDK微控制器开发套件下载
    发表于 06-14 07:22 203次下载

    C51 系列微控制器的开发工具KEIL C51 Vision2

    C51 系列微控制器的开发工具KEIL C51 Vision2 中文入门教程C51 系列微控制器的开发工具KEIL C51
    发表于 12-28 11:58 0次下载

    如何与小型微控制器配合使用

    本文档展示了 Maxim 的 DS1963S SHA iButton® 如何与小型微控制器配合使用,为控制和状态消息、遥测或敏感过程控制信息
    的头像 发表于 06-20 18:16 1100次阅读
    如何与小型<b class='flag-5'>微控制器</b><b class='flag-5'>配合</b>使用

    基于ARM Cortex M0微控制器MM32F013x

    基于ARM Cortex M0微控制器MM32F013x
    发表于 08-26 09:55 22次下载

    UM2910_用于 STM32 微控制器的 STLINK-V3MINIE 调试器/编程微型探头

    UM2910_用于 STM32 微控制器的 STLINK-V3MINIE 调试器/编程微型探头
    发表于 11-22 19:26 0次下载
    UM2910_用于 STM32 <b class='flag-5'>微控制器</b>的 STLINK-V3MINIE <b class='flag-5'>调试器</b>/编程<b class='flag-5'>器</b>微型探头

    DB4541_STLINK-V3MINIE调试器/编程微型探头,用于STM32微控制器

    DB4541_STLINK-V3MINIE调试器/编程微型探头,用于STM32微控制器
    发表于 11-23 20:28 0次下载
    DB4541_STLINK-V3MINIE<b class='flag-5'>调试器</b>/编程<b class='flag-5'>器</b>微型探头,用于STM32<b class='flag-5'>微控制器</b>

    DB4541_适用于STM32微控制器的STLINK-V3MINIE调试器/编程微型探针

    DB4541_适用于STM32微控制器的STLINK-V3MINIE调试器/编程微型探针
    发表于 11-23 20:29 0次下载
    DB4541_适用于STM32<b class='flag-5'>微控制器</b>的STLINK-V3MINIE<b class='flag-5'>调试器</b>/编程<b class='flag-5'>器</b>微型探针

    Keil μVision调试器DS89C4x0配合使用

    本应用笔记介绍如何使用Keil μVision2工具套件调试超高速闪存系列微控制器的应用,包括DS89C430和
    的头像 发表于 02-21 09:50 1045次阅读
    <b class='flag-5'>将</b><b class='flag-5'>Keil</b> μ<b class='flag-5'>Vision</b><b class='flag-5'>调试器</b>与<b class='flag-5'>DS89C4x0</b><b class='flag-5'>配合</b>使用

    安全微控制器与EPROM/ROM配合使用

    使用DS5000FP或DS5001FP软微控制器的设计人员可以选择使用EPROM而不是NV RAM。本应用笔记描述了使用非电池备份方法时的设计注意事项。器件上的某些引脚需要特别注意,电源故障中断和电源故障复位才能正常工作。在数据
    的头像 发表于 03-01 14:22 953次阅读

    使用Keil C编译处理DS5250

    本应用笔记介绍如何使用Keil μVision2工具套件为DS5240或DS5250高速安全微控制器
    的头像 发表于 03-01 17:10 993次阅读
    使用<b class='flag-5'>Keil</b> C编译<b class='flag-5'>器</b>处理<b class='flag-5'>DS</b>5250