1. 程式人生 > >20155211課程設計個人結題報告

20155211課程設計個人結題報告

can sta 解決辦法 imu AC handle auto 而在 deb

20155211課程設計個人結題報告

個人貢獻

  • 參與課設題目討論及完成全過程
  • 輔助調試代碼
  • 資料收集
  • 撰寫小組結題報告

實踐過程中的問題及解決:

  1. 編譯之後出現如下錯誤:..\OBJ\HZ.axf: error: L6050U: The code size of this image (47788 bytes) exceeds the maximum allowed for this version of the linker.
    技術分享圖片
    出現錯誤的原因是:沒有完全破解。
    解決辦法是:按照D:\實驗箱資料20161008\實驗箱資料20161008-forsale-exp\Part4-Cortex M3\1.實驗平臺搭建\MDK5.11a安裝手冊中的破解方法破解MDK5.15
  2. 下載到開發板時出現如下錯誤:

技術分享圖片

解決辦法是:打開Options for Target選項卡,在Debug欄選擇仿真工具為J-LINK/J-TRACE Cortex,如圖所示:
技術分享圖片

技術分享圖片

上圖中我們還勾選了Run to main(),該選項選中後,只要點擊仿真就會直接運行到main函數,如果沒選擇這個選項,則會先執行startup_stm32f40_41xxx.s文件的Reset_Handler,再跳到main函數。
然後我們點擊Settings,設置J-LINK的一些參數,如圖所示:
技術分享圖片

圖1.7中,我們使用J-LINK V8的SW模式調試,因為我們JTAG需要占用比SW模式多很多的IO口,而在實驗箱開發板上這些IO口可能被其他外設用到,可能造成部分外設無法使用。所以,我們建議大家在調試的時候,一定要選擇SW模式。Max Clock,可以點擊Auto Clk來自動設置,圖1.7中我們設置SWD的調試速度為10MHz或者5MHz,這裏,如果你的USB數據線比較差,那麽可能會出問題,此時,你可以通過降低這裏的速率來試試。
註意:若是JLINK連接成功的話,SW Device處會顯示設備信息。
單擊OK,完成此部分設置,接下來我們還需要在Utilities選項卡裏面設置下載時的目標編程器,如圖1.8所示:
技術分享圖片

我們直接勾選Use Debug Driver,即和調試一樣,選擇JLINK來給目標器件的FLASH編程,然後點擊Settings,設置如圖所示:
技術分享圖片

這裏MDK5會根據我們新建工程時選擇的目標器件,自動設置flash算法。我們使用的是STM32F407ZGT6,FLASH容量為1M字節,所以Programming Algorithm裏面默認會有1M型號的STM32F4xx FLASH算法。特別提醒:這裏的1M flash算法,不僅僅針對1M容量的STM32F4,對於小於1M FLASH的型號,也是采用這個flash算法的。最後,選中Reset and Run選項,以實現在編程後自動運行,其他默認設置即可。設置完成之後,如圖所示。
在設置完之後,點擊OK,然後再點擊OK,回到IDE界面,編譯一下工程。接下來我們就可以通過JLINK下載代碼和調試代碼。

3.安裝keil MDK5.15之後再運行以前老版本的工程會出現如下錯誤:.\Core\core_cm4.h(169): error: #5: cannot open source input file "core_cmInstr.h": No such file or directory
技術分享圖片

解決方法:手動添加path;為: MDK安裝目錄\ARM\Pack\ARM\CMSIS\4.1.1\CMSIS\Include,然後重新編譯 ,解決問題。

參考資料

  • https://blog.csdn.net/zq1035874027/article/details/54709563
  • https://blog.csdn.net/hello__xs/article/details/70666285
  • https://download.csdn.net/download/lqxk000/7163935
  • https://blog.c-sdn.net/avenger0422/article/details/50708969
  • https://blog.csdn.net/nemol1990/article/details/45461053
  • https://www.amobbs.com/thread-5628435-1-1.html
  • 《The Definitive Guide to Arm Cortex-M3 and Cortex-M4 Processors_c》
  • 《Cortex-M3權威指南CnR2(電子書)》
  • 《時間觸發嵌入式系統設計模式(中文版)》

設計體會及收獲

本次課設項目首先就是需要移植成功,網上的確有很多移植方法,系統代碼是開源的,具體主要就是修改一個匯編中斷配置文件以及設置時鐘和中斷,然後拷貝系統源碼。移植過程中出現了許多錯,但和小組成員通在網絡上搜索以及實踐最終得到解決。移植成功後就是定義具體任務及優先級,我們只需要在任務運行的時候做具體的邏輯就可以了。

因為老師提供的代碼裏用到的實驗箱和本次實驗的不匹配,因此主要的工作就是與以往代碼進行修改。先後經歷了uC/OS-II需要轉化成uC/OS-III、LCD相關代碼無法顯示等問題後,在老師的指導下,項目最終得以完成。

通過本次實踐,學習並了解到uC/OS-III相關的知識,與以往只要跟著指導書的步驟做就不會出現問題的情況相比,這次是要我們對指導書進行修改,盡管在實踐過程中遇到了許多問題,有的是在網絡上搜索不到的,這在一定程度上超出了我們的認知,但是在老師的幫助下,問題最終都得到了解決。這次實驗成功時的喜悅大概就是真正的喜悅。

20155211課程設計個人結題報告