c语言中reset函数,2812的C语言中的.reset段的含义以及其在存储器中的定位

问题如下:

疑问一:仿真调试下载程序或把程序已烧写至FLASH后脱机上电运行程序时,程序是不是必须要执行“从0X3F FFC0处复位→执行0X3F FC00地址处的初始化引导函数(Initboot) →根据GPIO选择引导模式→确定用户程序入口地址→从入口处开始执行用户程序”这一系列过程吗?对于用C语言编程时,通常在复位地址向量处(对于F240而言,复位地址在0X0000地址处?),常需要放置指令:“B  _c_int0”来规定初始化入口地址,意即C语言函数“_c_int0”完成的功能就是初始化引导函数(Initboot)的功能吗?但对F2812来说,复位向量地址为0X3F FFC0,处于ROM区,是一次性编程ROM,怎么把_c_int0这个入口地址放在0X3F FFC0处呢?

疑问二:由于引导模式由GPIO引脚状态决定,那对于一个已经设计好的DSP最小系统,引脚状态在硬件上已经固定好了,意即是不是此时只能局限于一种引导模式了?不能同时进行仿真调试和烧写至FLASH内进行硬件调试吗?(因为仿真调试时,用户程序入口地址一般在SARAMH0处,烧写至FLASH内进行允许时,用户程序入口地址在FLASH处。)

解答如下:(MP和MC模式下的读取方式!!)

1:上电运行时根据MP/MC引脚的状态决定是从片外的3fffc0处读取复位向量或者时从片内的rom的3fffc0处读取复位向量。MC方式下从片内读取,MP方式下从片外读取。

2:一般我们用的是MC方式,即从片内读取复位向量,在片内的rom 3fffc0处有一个地址为3ffc00。

3ÿ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值