在 STM32 Firmware library 目录:
...STM32F10xFWLibFWLibprojectRIDE 有一个
stm32f10x_vector.c 文件, 这个 ..._vector.c 就是跟
中断向量有关的吧。
对于 Ride7 编译环境, 这个 “stm32f10x_vector.c ” 是怎样 跟
其他 源程序 关联的呢? 好象没有 加入 Ride工程文件。
我试过 把它加进去 , 但是 编译不能通过。
而 另外两个编译器 的工程 文件所在目录也有 “stm32f10x_vector”.
关于这个 stm32f10x_vector.c 文件, 是怎样处理的呢?
请看那个目录里的readme.txt文件
以下是这个文件的内容:
/******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
* File Name : readme.txt
* Author : MCD Application Team
* Version : V1.0
* Date : 10/08/2007
* Description : This sub-directory contains all the user-modifiable files
* needed to create a new project linked with the STM32F10x
* Firmware Library and working with RIDE7(version:1.01.0002)
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/
Directory contents
===================
- project .rprj/.rapp: A pre-configured project file with the provided library
structure that produces a debug
elease executable image
with RIDE7.
- stm32f10x_vector.c: This file contains the vector table for STM32F10x.
- cortexm3_macro.s: Instruction wrappers for special Cortex-M3 instructions.
How to use it
=============
- Open the Project.rprj project.
- In the configuration toolbar(Project->properties) select the project config:
- BOOT_FLASH: to load project image into FLASH
- BOOT_RAM: to load project image into RAM
- Rebuild all files: Project->build project
- Load project image: Debug->start
- Run program: Debug->Run(ctrl+F9)
******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE******
仍然不明白怎样关联中断处理函数的
在 readme.txt 文件里,关于 vector 只描述了一句:
- stm32f10x_vector.c: This file contains the vector table for STM32F10x.
在工程属性设置里,也找不到 相关设置。
目前的 情况是, 我 把 Firmware library 下 examples 的 "systick"
文件夹 的 源程序 拿过来 ,新建 一个 RIDE 工程,修改部分代码,可以在
Primer 上成功运行, 使用上了 SysTickHandler( ) 这个中断服务函数。
而,stm32f10x_vector.c 这个函数没有包含进去, 甚至 把这个文件 删除,仍然可以成功中断。
但是,只要 稍修改 SysTickHandler() 函数名,例如SysTickHandler00(),就不能 成功 中断,Primer 不能产生预期的运行效果。
(这个SysTickHandler() 函数在stm32f10x_it.c 中定义,加入到了工程)。
现在的问题是,怎样使“ SysTickHandler()”等stm32f10x_it.c 中定义的函数 成为中断服务函数?
(在Keil for arm 编译器里,是在 “Startup file ”里面定义的。)
Ride 的 还 不明白。
请使用提供的工程模板来修改,不要自己新建工程
我们没有用过RIDE,不能回答你的具体问题。
提供的工程模板中包含了相关文件的引用,你把工程模板拷贝到你自己的目录中再进行修改、添加文件即可。
好的。谢谢。
哈哈,已经有进展了。特别 感谢 浪大哥 的帮 忙。
特别高兴的是,使用 ST 网站上的
“STMicroelectronics Flash Loader Demonstrator”工具可以升级我的Keil STM32评估板了。
原本以为要 买 ULINK 或 JLINK 呢。
Primer 是使用 RIDE 编译的 , ST 评估板 是使用IAR EWARM 吧?
而 KEIL 评估板 是 使用 Keil for arm 的。
是的,是 RVMDK。
它 的 IDE 是 uVision 环境。