打印

请问STM32F10x.S和stm32f10x_vector.S的区别

[复制链接]
7737|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lpdyd|  楼主 | 2008-4-7 13:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问STM32F10x.S和stm32f10x_vector.S的异同点?

如题.

为什么有的例程中用STM32F10x.S作启动代码,而有的却用stm32f10x_vector.S做启动代码呢?
沙发
lpdyd|  楼主 | 2008-4-7 13:54 | 只看该作者

先顶一下

这两个文件好像都是用来设置CP,SP和向量表的,只是觉得不用中断的时候就用STM32F10x.S作启动;当用到中断时,要用stm32f10x_vector.S作启动代码.

使用特权

评论回复
板凳
21班猪| | 2008-4-7 19:40 | 只看该作者

错,

首先,在主函数里设置中断,如下。
void NVIC_Setting(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  /* Enable the TIM1 Interrupt */  
  NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQChannel;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}
然后
void TIM1_UP_IRQHandler(void) __irq
{
//你的代码。
}

就可以了。
 

使用特权

评论回复
地板
mcubug| | 2008-4-7 20:42 | 只看该作者

还没整到这地方

使用特权

评论回复
5
香水城| | 2008-4-8 08:32 | 只看该作者

楼主用的是什么工具?你什么时候要使用这个文件?

看到过stm32f10x_vector.s,但没看到过stm32f10x.s。

使用特权

评论回复
6
lpdyd|  楼主 | 2008-4-8 09:26 | 只看该作者

我用的工具是RealView MDK

我用的工具是RealView MDK.
每次创建一个工程项目时,系统提示:"是否加载启动代码?"
选择"是",则在工程下的文件组中自动添加了stm32f10x.s文件.

在应用的过程中,觉得不用中断的时候就用STM32F10x.S作启动;当用到中断时,要用stm32f10x_vector.S作启动代码.因为先前我自己编写和调试的一些程序,仅仅用到了RCC,GPIO,用STM32F10x.S做启动代码,可以正常编译运行.后来程序中用到了NVIC,EXTI,SysTick关于中断的外设,用STM32F10x.S就不行了,无法编译.我试着用了stm32f10x_vector.S做启动代码,结果正常编译运行.
我大致看了这两个文件,好像都是用来设置CP,SP和向量表的.有很多相似之处.

关于3楼的回答,我没看懂??!
关于香版主的提问,我做了如上解释.估计大家用的工具多是IAR的EWARM吧.

使用特权

评论回复
7
xiepengchenghn| | 2010-5-30 21:42 | 只看该作者
6# lpdyd
你那个是RVMDK自动生成的启动代码,创建的时候不要用它,用固件库中的

使用特权

评论回复
8
maomao2126| | 2010-5-30 22:41 | 只看该作者
一直在用stm32f10x_vector.s,在安装keil是确实会生成stm32f10x.s
但是一直都没有使用,以前比较过两个文件的差异
只是都是汇编,没怎么看明白
也搭个顺风车,看看高手的解答,谢谢咯

使用特权

评论回复
9
zjswuyunbo| | 2010-5-31 14:04 | 只看该作者
学习了。
那以后就直接用stm32f10x_vector.s。
这文件一般情况,不需要做更改了吧。

使用特权

评论回复
10
2009chinalj| | 2013-5-18 10:51 | 只看该作者
stm32f10x。s 文件一般是在用户定义的启动代码,需要我们去修改
打开stm32f10x。s 可以看到很多中断向量后有一个 [WEAK] 表示没有定义中断向量时编译时也不会给出错误只是程序停留在接着的语句B。
每个库有自己的stm32f10x_vector.s  这是要注意的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

18

帖子

0

粉丝