搜索
bottom↓
回复: 11

MDK非常奇怪的问题

[复制链接]

出0入0汤圆

发表于 2010-9-15 16:16:00 | 显示全部楼层 |阅读模式
源文件中不加入startup.s编译出现这2个错误:
jtag_first.axf: Error: L6320W: Ignoring --entry command. Cannot find argument 'Reset_Handler'.
jtag_first.axf: Warning: L6320W: Ignoring --first command. Cannot find argument '__Vectors'.
在源文件中加入startup.s后就可以编译通过。
但是程序DEBUG时在这里进入了死循环
   195: IntDefaultHandler
0x00000106 E7FE      B        0x00000106
   196:         B       IntDefaultHandler
整个程序比较大
这个startup.s究竟有什么作用呢,为什么程序量小的时候不加入startup.s可以编译通过,但是程序量大的时候就不行了呢?

出0入0汤圆

发表于 2010-9-15 16:23:16 | 显示全部楼层
启动代码啊,没有那个怎么初始化工作环境啊……

出0入0汤圆

 楼主| 发表于 2010-9-15 16:26:49 | 显示全部楼层
TO:librae8226
为什么代码量小的时候不需要startup.s呢?

出0入0汤圆

发表于 2010-9-15 16:31:18 | 显示全部楼层
和代码量无关,反正没有了startup.s,至少你程序的堆栈和中断向量表都不知在哪,能正常跑是奇迹

出0入0汤圆

发表于 2010-9-15 19:19:16 | 显示全部楼层
死循环是在等中断。

出0入0汤圆

 楼主| 发表于 2010-9-15 19:34:48 | 显示全部楼层
现在莫名其妙进入这里了
;******************************************************************************
;
; This is the code that gets called when the processor receives a fault
; interrupt.  This simply enters an infinite loop, preserving the system state
; for examination by a debugger.
;
;******************************************************************************
FaultISR
        B       FaultISR
一直在这里卡住了,怎么回事呢

出0入0汤圆

发表于 2010-9-15 19:51:17 | 显示全部楼层
人家的注释不是说的很清楚吗?

出0入0汤圆

 楼主| 发表于 2010-9-15 20:00:56 | 显示全部楼层
TO: june4th 朴正欢
当处理遇到错误中断的时候将会调用这里的代码,这是一个简单的死循环,保持系统的状态,以便于debugger
错误的中断指的是什么呢?我的程序里并没有用到任何的中断啊。

出0入0汤圆

发表于 2010-9-15 20:07:29 | 显示全部楼层
回复【7楼】g47603690
to: june4th 朴正欢
当处理遇到错误中断的时候将会调用这里的代码,这是一个简单的死循环,保持系统的状态,以便于debugger
错误的中断指的是什么呢?我的程序里并没有用到任何的中断啊。
-----------------------------------------------------------------------

我真是被你给吓傻了,你不是要用Cortex-M3吗?为什么连一点基本的概念都没有就敢于编程呢?中断向量都不知道,Fault Status Register对你来说肯定是天方夜谭。先到ARM网站上看看《Cortex-M3 Technical Reference Manual》,对你要用的这个内核有个基本概念再编程吧。

出0入0汤圆

 楼主| 发表于 2010-9-15 20:33:43 | 显示全部楼层
回复【8楼】june4th 朴正欢
-----------------------------------------------------------------------

谢谢你的建议

出0入0汤圆

发表于 2010-9-16 20:20:39 | 显示全部楼层
在contex-M3/M0上,导致硬Fault的最常见的3种可能:
    1> 在异常处理程序中,调用了SVC服务;
    2> 在非异常处理程序中,使用了CPS指令;
    3> 内存操作问题。

出0入0汤圆

发表于 2014-6-19 17:41:57 | 显示全部楼层
CORE文件夹下导入startup_stm32f10x_hd.s启动文件
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 01:47

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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