历史上的今天
返回首页

历史上的今天

今天是:2025年02月02日(星期日)

2020年02月02日 | Keil ARM软件Debug温习

2020-02-02 来源:eefocus

程序用的就是前面编译成功的汇编代码。


然后debug脚本的话用的下面的脚本


/*** <<<  Use Configuration !disalbe! Wizard in Context Menu >>>  ***/ 

/*Name: DebugINRam.ini*/ 
 
FUNC void Setup (void) 

    //  Program Entry Point, .AXF File download Address 
    PC = 0x030000000; 
}     
map 0x00000000,0x00200000 read write exec //Map this memory to be read、write and exec 
map 0x30000000,0x34000000 read write exec //Map this memeory to be read,write and exec 
Setup();                                       // Setup for Running 
//g, main 

调试脚本的编写可以搜到有文档介绍,而且uVersion help里面有很详细的使用介绍。所以,弄一两个脚本,对照着uVersion help改一两个出来,应该写调试脚本没什么问题了就。


编译成功后直接进debug。。。让人很崩溃的现实啊,设置断点,然后点击run。。。直接跳出error

 

*** error 65: access violation at 0x34000004 : no 'execute/read' permission

 

额。。。这个真是没法讲,因为很多程序编译都会出现这样的错误。。。所以,这样的错误也被埋在茫茫error中。。。所以,搜索无果。遂想自己解决。。。


第一个想到的其实是代码的问题,因为对arm汇编不熟,难道是程序调用了不该用的地址?一句句找下来。。。额,没发现啊。


然后,又开始单步调试。。。reset。。。单步调试。。。额,好像错误没了。。。怎么回事?


然后,看那个黄色的小箭头跑来跑去。。。终于发现。。。进入debug的时候,寄存器PC是直接指向0x300000的!!!o(>﹏<)o


也就是,刚进入debug模式的话,当前语句是指向0x300000的,MGD,那里是啥都没有的。。。我用“map 0x30000000,0x34000000 read write exec ”给这段地址给了读写权限,尽管什么也没有,但是傻瓜机纸还是一直会往下运行。。。然后。。。一直到没有read,write权限为止。。。

 

额。。。这时候才看出来,我的initial文件里不是有写PC=0x300000。。。凌乱啊。。。不过,靠自己找到了这个问题,还是比较开心哈!

推荐阅读

史海拾趣

Coiltronics公司的发展小趣事

在电子行业中,产品质量是企业生存的关键。Coiltronics公司深知这一点,因此在生产过程中始终坚持严格的质量管理。公司引进先进的生产设备和技术,建立完善的质量检测体系,确保每一件产品都符合高标准的质量要求。这种对品质的执着追求,使得Coiltronics的产品在市场上赢得了良好的口碑,吸引了大量忠实客户。

Anaren Ceramics公司的发展小趣事

随着技术的不断成熟,Anaren Ceramics公司开始积极拓展市场。公司不仅在国内市场上取得了显著的成绩,还积极开拓国际市场。通过与全球知名电子企业的合作,Anaren Ceramics公司的产品逐渐进入了国际市场,赢得了众多客户的信赖和好评。这一系列的市场拓展活动不仅提升了公司的品牌影响力,也为公司的长期发展奠定了坚实的基础。

Connective Peripherals Pte Ltd公司的发展小趣事

为了确保产品质量的稳定性和可靠性,Anaren Ceramics公司建立了一套完善的质量管理体系。公司严格按照国际标准进行生产和管理,从原材料的采购到产品的出厂,每一个环节都经过严格的检测和把控。这种对质量的严格把控不仅赢得了客户的信任,也为公司在电子行业中树立了良好的口碑。

Carlisle Interconnect Technologies公司的发展小趣事

随着电子行业的快速发展,Carlisle Interconnect Technologies不断进行技术升级和产品创新。公司不断引进先进的生产设备和技术,提升产品的质量和性能。同时,公司还积极拓展产品线,从最初的绝缘电线电缆扩展到连接器、传感器等多个领域。这种多样化的产品策略使得公司能够更好地满足客户的多样化需求,也在市场上取得了更大的成功。

AverLogic公司的发展小趣事

除了关注业务发展外,AverLogic公司还积极履行企业社会责任,推动可持续发展。公司注重环保和节能,采用环保材料和生产工艺,减少对环境的影响。同时,公司还积极参与公益事业,为社会做出贡献。这些举措不仅提升了公司的社会形象,也为其在电子行业中树立了良好的口碑。

需要注意的是,这些故事是基于一般性的电子行业趋势和公司可能的发展路径构建的,并不代表AverLogic公司的实际发展历程。如需了解AverLogic公司的具体发展故事,建议查阅相关的行业报告、公司年报或新闻报道。

HM International公司的发展小趣事

AverLogic公司在电子行业中以其技术创新和产品突破而崭露头角。在早期的发展阶段,公司专注于研发高质量的视频处理芯片,以满足市场对于更高清晰度和更流畅视频播放的需求。经过多次实验和迭代,公司成功推出了一款具有革命性的转换器产品——AL110,这款产品能够将PC和Macintosh的VGA信号转换为高品质的NTSC或PAL信号,从而极大地提升了视频信号的处理效率和输出品质。这一创新不仅为公司赢得了市场的认可,也为公司在电子行业中奠定了坚实的基础。

问答坊 | AI 解惑

怎么仿真MAX485的双路备份通讯系统?

大家好,我想仿真下MAX485多点通信,通讯网路上连接4个485芯片(编号为1、2、3、4),其中,1和2构成一路主从,3和4构成一路主从,当1和2通讯时,3和4不通讯;反之,3和4 通讯时,1和2 不通讯(此时1和2不加电,作为备份用)。但是有个问题,4个MAX ...…

查看全部问答>

[销售]进口瑞侃Raychem阻燃电线2.5平方

名称:瑞侃RAYCHEM阻燃电线 型号:FLDWC0311-2.50 规格:2.5平方 数量:10000米 单价:6元/米 邮费:买家自理 详细见图: …

查看全部问答>

LED使用寿命

LED在一般说明中,都是可以使用50,000小时以上,还有一些生产商宣称其LED可以运作100,000小时左右。这方面主要的问题是,LED并不是简单的不再运作而已,它的额定使用寿命不能用传统灯具的衡量方法来计算。实际上,在测试LED使用寿命时,不会有人一 ...…

查看全部问答>

LED不是梦,LED 投影钟价格才十元

起码创意是咱DIY可以学学的 …

查看全部问答>

核磁共振对人有危害吗?

谁能脱口而出得出答案? 来看看专业解释: 核磁共振成像是利用电子计算机对人体断面进行图像分析诊断的检查方法,它不用X线,而是磁场,其基本原理是人体所含氢原子在强磁场下给予特定的高波后会发生共振现象,产生一种高波数的电磁波。核磁共振 ...…

查看全部问答>

关于学电子的教材问题

想学好电子技术,希望各位介绍些好的教材.谢了!…

查看全部问答>

请教串口程序问题

#include #define uchar unsigned char #define uint unsigned int unsigned char flag,a,i; uchar code table[]=\"I get \"; void init() {         TMOD=0x20;     //确定T1的工作方式     & ...…

查看全部问答>

CAB打包dll文件

请问,如果想把dll文件打包到CAB包中,应该如何编写inf文件…

查看全部问答>

"经典的DSP的C程序和汇编程序库/常用例程"——学习资料!!

http://sanhengxing.com/xzindex.asp 还有其他的关于等等单片机的资料,不知道有没有需要的,大家去看看吧! 关于 DSP DSP(digital singnal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件.其工作原理是接收模拟信号,转换为 ...…

查看全部问答>

EE_FPGA基础教程系列 --NO.2-- 建立第一个Quartus工程

[ 本帖最后由 xieqiang 于 2011-5-12 11:26 编辑 ]…

查看全部问答>