小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

STM32 IAR工程->Keil MDK轉(zhuǎn)換詳解

 瘋狂金屬 2011-01-13
我在STM32的學習中發(fā)現(xiàn),大部分的STM32示例程序都是基于IAR開發(fā)環(huán)境的,但我認為使用Keil MDK開發(fā)環(huán)境更加方便,可以利用RVMDK強大的外設仿真功能加速STM32的開發(fā)。我在以前的Blog文章里介紹過如何在RVMDK中建立STM32工程,以及如何使用RVMDK的軟件仿真功能,下面我將詳細說明怎樣將已有的IAR工程移植到RVMDK。  
  

       不管是IAR還是RVMDK,編程時使用的都是STM32的固件函數(shù)庫,唯一不同的是啟動文件。RVMDK在建立STM32工程時會自動創(chuàng)建啟動文件STM32F10x.s,而IAR使用的啟動文件是cortexm3_macro.s。此外,兩者對中斷向量表的管理也不一樣。 

  

       在移植STM32工程時首先要檢查IAR工程中是否使用了中斷。方法是要看工程中stm32f10x_it.c文件內(nèi)的各中斷函數(shù)是否為空函數(shù),中斷函數(shù)為空說明沒有使用中斷;否則若中斷函數(shù)有修改并且在main函數(shù)中對NVIC進行了設置,則說明使用了中斷。 

  

       下面分沒有使用中斷和使用了中斷這兩種情況分別介紹移植方法。 

        

無中斷: 

       沒使用中斷時的移植較為簡單,此時還可以使用RVMDK自動創(chuàng)建的啟動文件STM32F10x.s,只要把IAR工程project文件夾中的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h和main.c等文件復制到建立好的RVMDK工程文件夾下,然后為RVMDK工程添加使用到的庫函數(shù)文件即可。 

  

有中斷: 

       如果IAR工程中使用了NVIC時,在RVMDK下就不能再使用自動生成的STM32F10x.s啟動文件了,但可以用IAR工程中的啟動文件cortexm3_macro.s和stm32f10x_vector.s來替換。下面以萬利EK-STM32F開發(fā)板提供的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工程文件夾內(nèi)。 
   
 
 (原文件名:1.jpg) 


第三步、為ADC_MDK工程添加使用到的庫函數(shù)文件,然后進行編譯。 

        

       最后的工程目錄: 

 
 (原文件名:2.jpg) 


cortexm3_macro.s和stm32f10x_vector.s啟動文件: 

       只需以上三步,不用改動任何代碼就能搞定IAR工程的移植!只要掌握了將IAR工程移植到Keil MDK中的方法,就可以利用現(xiàn)有的大量IAR STM32示例來加快在RVMDK中的開發(fā)。 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多