5新建没有头文件_IAR新建工程
IAR新建工程
? ? ? ?本教程適用于初次接觸IAR的同學,通過介紹IAR如何新建工程,了解一些常用工程選項的作用。
1
創建工程文件夾
???這里以新建一個LPC54606工程為例
根據龍邱例程,創建工程文件夾(如果根據其他工程新建,可以打開對應工程,將使用到的文件復制到新建工程中)
龍邱提供的LPC54606例程的文件結構如下
將使用到的文件復制到對應文件夾創建一個IAR_Project文件夾,將CMSIS和Drivers文件夾復制到IAR_Project文件夾中。
2
新建工程
????打開IAR,這里使用IAR8.2版本
3
添加文件分組
????上面新建了一個空的工程,我們需要將使用的文件添加到工程里面(注意CMSIS的.h頭文件這里沒有添加,因為.h文件可以不添加進工程分組里面)。
選中lpc54606工程 右鍵添加分組
選中lpc54606分組文件夾 右鍵添加文件
將龍邱工程中example文件夾下的mian.c 和include.h復制并添加到新工程
4
設置工程配置
選擇芯片
選擇芯片后,如果芯片有硬件浮點單元會默認開啟(注意需要單片機有硬件浮點單元,MK60DN就沒有)
printf 和 scanf 都選擇支持全功能格式
(支持浮點數)
添加頭文件路徑
我們已經將文件添加到工程中了,但是編譯的時候,報錯找不到對應頭文件。每個人的習慣不一樣,頭文件存放位置也不一樣,因此需要將所有頭文件位置告訴編譯器,讓編譯器知道去那個文件夾找頭文件(如果自己新寫了頭文件,記得將自己的頭文件路徑添加進來)。注意使用相對路徑,如果使用絕對路徑,當工程位置移動時,就會找不到頭文件。
添加全局宏定義
將龍邱例程中的全局宏定義復制到新工程
DEBUG_DLIB_FILE_DESCRIPTORCPU_LPC54606CPU_LPC54606J512BD100=1PRINTF_FLOAT_ENABLE=1SCANF_FLOAT_ENABLE=1PRINTF_ADVANCED_ENABLE=1SCANF_ADVANCED_ENABLE=1
生成debug調試信息
仿真調試時需要使用
優化等級
優化等級是一個比較重要的配置,優化等級越高,生成的bin文件就越小,一般情況下代碼的運行速度也會提高,但是在Debug調試的時候,由于優化,代碼可能不會順序執行,調試的時候可以將代碼優化等級調到最低。
屏蔽警告
官方fsl庫在編譯時存在一些警告信息,因此我們參考官方SDK將對應的警告號屏蔽即可。
分散加載文件
不同單片機RAM和FLASH起始地址和大小不盡相同,而且還可能外擴DRAM和FLASH,因此IAR中使用一個腳本.icf文件來確定工程的分散加載信息。IAR有自帶的分散加載文件,但是這里我們使用自己修改過的分散加載文件。注意使用相對路徑,如果使用絕對路徑,當工程位置移動時,就會找不到分散加載文件。
電源管理lib庫
NXP為了讓用戶更方便的使用電源低功耗,將相應的電源管理封裝起來,做成lib庫文件。
debug下載器配置
IAR并不知道你使用什么下載器,因此需要你告訴IAR你使用的什么下載器。
5
添加工程分組
經過上面的配置后,程序以及可以通過jlink燒錄進單片機,但是有時候我們的Debug時,使用最低的優化等級。Debug完成后使用較高的優化等級,每次都有修改配置。可不可以生成兩套配置?
IAR可以添加分組,使一個代碼可以有多種不同的配置。
刪除一種配置分組
默認新建的工程都有兩種配置 debug和release,上面我們配置了debug的配置,但是release還沒有配置,將release刪掉。
添加一種配置分組
基于debug配置,生成新的release分組
6
總結
其實用戶沒必要新建工程,一些新手感覺例程里面文件過多,可能會影響單片機效率,影響文件可讀性。
關于效率問題,在編譯鏈接環節,根據IAR優化等級會將不使用的函數、變量刪除,并不會添加到最終的bin文件中,因此不會影響效率,也不會增大代碼量。
可讀性,基于龍邱的例子工程,用戶可以自行刪減未使用到的文件,減少文件數量,增加代碼可讀性。
點擊上方“龍邱科技”關注我們!
獲取更多學習內容
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的5新建没有头文件_IAR新建工程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js加版本号 webpack_webpa
- 下一篇: mysql_unbuffered_que