硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2679|回复: 2
收起左侧

[有问必答] 在ram里面调试的优势是什么?

[复制链接]

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
发表于 2018-8-22 17:45:01 | 显示全部楼层 |阅读模式
在ram里面调试的优势是什么?

/*
*********************************************************************************************************
   【本例程在安富莱STM32F103ZE-EK开发板上调试通过             】
   【QQ: 1295744630, 旺旺:armfly, Email: armfly@qq.com       】

        文件名: CpuRAM.ini

        这是CPU内部RAM调试脚本。开始Load程序时,由IDE控制仿真器执行这段脚本程序。

        本脚本完成的功能是
        (1) 装载目标程序到CPU内部RAM
        (2) 设置堆栈指针SP
        (3) 修改PC指针

        脚本的语法:
        参加MDK的HELP, 搜索关键字 “uv3 Library Routines” 可以看到uv3支持的脚本命令

        Copyright (C), 2013-2014, 安富莱电子 www.armfly.com

*********************************************************************************************************
*/

FUNC void Setup (void) {
  SP = _RDWORD(0x20000000);                        // 设置堆栈指针
  PC = _RDWORD(0x20000004);                        // 设置PC指针
  _WDWORD(0xE000ED08, 0x20000000);        // 设置中断向量表地址
}

LOAD CpuRAM\obj\output.axf INCREMENTAL     // 先装载代码到CPU内部RAM  (工程选项中就不要选Load Application ar Startup)
Setup();                            // 再调用Setup函数修改堆栈和PC指针(因为SP的值需要从目标代码中读取)
g, main                                                                // 运行到main()函数


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107157
QQ
发表于 2018-8-22 18:06:02 | 显示全部楼层
速度比较快些,无需下载到Flash了。

不过缺点也稍多,就是RAM容量太小了,仅适合调试小程序。而且稍复杂的例子不同于在Flash里面的运行效果。
回复

使用道具 举报

96

主题

297

回帖

585

积分

金牌会员

123

积分
585
 楼主| 发表于 2018-8-22 18:07:16 | 显示全部楼层
eric2013 发表于 2018-8-22 18:06
速度比较快些,无需下载到Flash了。

不过缺点也稍多,就是RAM容量太小了,仅适合调试小程序。而且稍复杂 ...

谢谢指导,牛xxx
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-21 00:38 , Processed in 0.232188 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表