<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 移植ucosII到STM32F103ZE(三)

          移植ucosII到STM32F103ZE(三)

          作者: 時間:2016-11-25 來源:網(wǎng)絡 收藏
          四、 移植過程詳解:
          1. 初始配置 STM32 的標準外設庫
          stm32 標準外設庫的使用在 stm32f10x_stdperiph_lib_um.chm 中的How to use the Library一節(jié)中已有說明:
          1) 加載文件:加載庫文件和相應啟動代碼到工程中,這一步在上面步驟里已經(jīng)做過了。
          2) 配置芯片類型:(編譯下工程,使頭文件加載進工程)打開 stm32f10x.h 文件,在大約的 66-73 行,根據(jù)所選芯片類型,去掉相應注釋。這里我去掉 STM322F10X_HD行的注釋(高密度型的stm32芯片)。對自己選用的芯片到底是屬于低密度型、中密度型、高密度型還是互聯(lián)型,可查看 78-92 行的官方注釋。




          配置芯片類型
          3) 是否啟用標準外設庫:繼續(xù)在stm32f10x.h 文件中,去掉105行的USE_STDPERIPH_DRIVER 注釋,啟用 stm32 標準外設庫。


          4) 配置芯片主頻:打開system_stm32f10x.c,在 110-115行,根據(jù)所選芯片主頻,去掉相應注釋,默認SYSCLK_FREQ_72MHz注釋已去掉。本項目中的 STM32F103主頻可達 72MHz,所以這就不做修改了。


          5) 配置所用外設庫:打開stm32f10x_conf.h,對于工程中不需要的外設,可注釋掉里面的包含的頭文件,以加快編譯速度。目前我們僅保留stm32f10x_gpio.h,stm32f10x_rcc.h, misc.h,
          stm32f10x_tim.h,stm32f10x_usart.h,以后要用到什么再加什么,如下圖。當然也可不注釋,所有驅(qū)動全部保留。


          6) 完善工程
          完善余下工作
          建立名為App.c, app_cfg.h和 includes.h的空文件,保到stm32-ucosII-demoApp文件夾下,并將它們加載到 keil工程的 APP 目錄下。
          建立名為 Bsp.c 和 Bsp.h 的空文件,保存到Stm32-ucosII-demoBsp文件夾下,并將它們加載到keil工程的BSP 目錄下。


          uCOSII_core和uCOSII_port 這兩個文件目錄目前為空,后面才將用到。如果去掉這兩個文件目錄,以上結(jié)構(gòu)就是STM32裸片開發(fā)的工程樹形目錄了。同時,STM32F10x_StdPeriph_Driver 目錄下的庫文件和其它一些基本不用修改的標準文件最好設置為只讀屬性,以防止誤修改。如上圖中的帶鎖文件就是只讀屬性。
          2. uCOSII 的移植步驟
          以下為uCOSII系統(tǒng)的文件結(jié)構(gòu)圖:其中Your Application為應用程序,需要用戶自己添加;uC/OS-II book為uC/OS提供的,不需要修改;BSP是板級支持文件,需要用戶根據(jù)開發(fā)板電路進行修改;uC/OS-II Cortex-M3 Port是需要用戶根據(jù)處理器進行修改的。






          AppNotes包含 ucosii 移植說明文件。

          上一頁 1 2 下一頁

          評論


          技術(shù)專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();