毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

startup_stm32f10x_md.s更换为startup_stm32f10x_hd.s后出错

更新时间:2012-6-14:  来源:毕业论文

芯片由STM32F103v更换为STM32F103ZET后 启动文件由startup_stm32f10x_md.s替换为startup_stm32f10x_hd.s后,问题随之出现 
1 未更换启动文件即由startup_stm32f10x_md.s在芯片STM32F103ZET上也可以运行正常 
2 但更换为startup_stm32f10x_hd.s后反而工作出错了  
难道更改启动文件后还要做其他改动? 
程序是读写SD卡程序 

中断向量表有没有改?估计你用到什么中断什么的以前改过,新版本忘记改了,比如: 
新版本 
__Vectors DCD __initial_sp ; Top of Stack 
  DCD Reset_Handler 
  DCD NMIException 
  DCD HardFaultException 
  DCD MemManageException 
  DCD BusFaultException 
  DCD UsageFaultException 
  DCD 0 ; Reserved 
  DCD 0 ; Reserved 
  DCD 0 ; Reserved 
  DCD 0 ; Reserved 
  DCD SVCHandler 
  DCD DebugMonitor 
  DCD 0 ; Reserved 
  DCD PendSVC 
旧版本 
__Vectors DCD __initial_sp ; Top of Stack 
  DCD Reset_Handler 
  DCD NMIException 
  DCD HardFaultException 
  DCD MemManageException 
  DCD BusFaultException 
  DCD UsageFaultException 
  DCD 0 ; Reserved 
  DCD 0 ; Reserved 
  DCD 0 ; Reserved 
  DCD 0 ; Reserved 
  DCD SVCHandler 
  DCD DebugMonitor 
  DCD 0 ; Reserved 
  DCD OS_CPU_PendSVHandler; 
对比最后一行,新版本自动生成,而旧版本用的是操作系统,中断向量不同。 
还有就是堆栈的大小需要自己改,看看是否忘记改了如: 
Stack_Size EQU 0x00002b00 

以上问题是我自己碰到的,看看对你有没有帮助

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。