简介:我在STM32的学习中发现,大部分的STM32示例程序都是基于IAR开发环境的,但我认为使用KeilMDK开发环境更加方便,可以利用RVMDK强大
简介:我在STM32的学习中发现,大部分的STM32示例程序都是根据IAR开发环境的,但我以为运用Keil MDK开发环境愈加便利,能够运用RVMDK强壮的外设仿真功用加速STM32的开发。我在曾经的Blog文章里介绍过如安在RVMDK中树立 …
关键字:STM32
我在STM32的学习中发现,大部分的STM32示例程序都是根据IAR开发环境的,但我以为运用Keil MDK开发环境愈加便利,能够运用RVMDK强壮的外设仿真功用加速STM32的开发。我在曾经的Blog文章里介绍过如安在RVMDK中树立STM32工程,以及怎么运用RVMDK的软件仿真功用,下面我将具体阐明怎样将已有的
IAR工程移植到RVMDK。
不管是IAR仍是RVMDK,编程时运用的都是STM32的固件函数库,仅有不同的是发动文件。RVMDK在树立STM32工程时会主动创立发动文件STM32F10x.s,而IAR运用的发动文件是cortexm3_macro.s。此外,两者对中止向量表的办理也不一样。
在移植STM32工程时首先要查看IAR工程中是否运用了中止。办法是要看工程中stm32f10x_it.c文件内的各中止函数是否为空函数,中止函数为空阐明没有运用中止;不然若中止函数有修正并且在main函数中对NVIC进行了设置,则阐明运用了中止。
下面分没有运用中止和运用了中止这两种状况别离介绍移植办法。
无中止:
没运用中止时的移植较为简略,此刻还能够运用RVMDK主动创立的发动文件STM32F10x.s,只需把IAR工程project文件夹中的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h和main.c等文件复制到树立好的RVMDK工程文件夹下,然后为RVMDK工程增加运用到的库函数文件即可。
有中止:
假如IAR工程中运用了NVIC时,在RVMDK下就不能再运用主动生成的STM32F10x.s发动文件了,但能够用IAR工程中的发动文件cortexm3_macro.s和stm32f10x_vector.s来替换。下面以万利EK-STM32F开发板供给的ADCDemo为例,介绍怎么将IAR工程移植到RVMDK。因为在ADCDemo中运用到了TIM2_IRQHandler,需要在RVMDK中作以下修正:
第一步、在RVMDK中树立工程,命名为ADC_MDK;然后将发动文件cortexm3_macro.s和stm32f10x_vector.s复制到树立好的ADC_MDK工程文件夹下,并在ADC_MDK工程中将RVMDK主动树立的发动文件STM32F10x.s删去,用以上两个文件替换。
第二步、将ADCDemo IAR工程project文件夹中的lcd.c、lcd.h、stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h和main.c文件复制到ADC_MDK工程文件夹内。
第三步、为ADC_MDK工程增加运用到的库函数文件,然后进行编译。
最终的工程目录:
cortexm3_macro.s和stm32f10x_vector.s发动文件:
只需以上三步,不必改动任何代码就能搞定IAR工程的移植!只需把握了将IAR工程移植到Keil MDK中的办法,就能够运用现有的很多IAR STM32示例来加速在RVMDK中的开发。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/260466.html