用IAR开发,中断为什么跳到startup_stm32f40xx.s里面定义的中断函数,,而不是stm32f4xx_it.c里面定义的中断函数?
根据IAR编译器文档,startup_stm32f40xx.s里面定义的中断函数都是PUBWEAK,,意思是如果另外定义了同名函数,则PUBWEAK属性的函数失效。
但是st例程里面的是正常的,如果在stm32f4xx_it.c里面定义了中断函数,则不会跳到startup_stm32f40xx.s里面定义的中断函数。
具体要设置哪里呢?以前使用MDK也有这样的问题。
我的解决方法是,将startup_stm32f40xx.s里面除reset_Handler之外的所有中断函数删除,,全部在stm32f4xx_it.c里面定义。。。。
但心里总有疑问,不爽啊,,找了网上别人遇到的,都没有解决这个问题。。
|