DSP—2833x CMD文件说明以及非法中断

    1. CMD 文件配置

请添加图片描述

1.cinit是用来存放变量初始值的段,在程序复位以后首先会运行_c_int00函数,这个函数会将初始值搬到相应的带初始值的变量。

2.pinit我的理解是应该在C++时用的,一般用不上!

3.const 和.econst都是有来存储常量的,主要差异应该是寻址范围,.const是64K范围内,>而.econst是全地址范围。

4…bss和.ebss的差异也是这样,.bss是64K范围内,而.ebss是全地址范围。

5.esystem这个段的话,如果你没有那些函数的话,也不用管它,有这个段定义它也不会占用RAM空间。

6…stack大小定义问题,其实要精确定义不太容易,多数时候要靠经验,如果你无法估计它的大小,最简单的办法是给堆栈尽可能的大。至于为什么我将堆栈大小设为小于0X3B0,是因为RAMM0最大只有0X3B0。

请添加图片描述

  • 2.进入非法中段


. 1.中是否使用了Delay_us()函数,如果是,是否已经copy到Ram中?必须的先执行MyCopy才能使用Delay_us

. 2.开了足够的Stack空间

. 3.程序后,先单步运行,看看在哪条语句进入了非法中断

. 4.中是否有越界的情况?例如定义了一个50字节的数组,在赋值的时候,或者在程序运行中,超过了50,非法越界

. 5.中断是否正常,特别是中断号是否对应

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值