亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1844 | 回復(fù): 0
打印 上一主題 下一主題

使用IAR創(chuàng)建庫以及如何使用庫(轉(zhuǎn)) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-12-23 01:46 |只看該作者 |倒序?yàn)g覽

在使用STM32的固件庫的時(shí)候,需要往工程中添加使用到的功能的對應(yīng)源文件,比如:stm32f10x_gpio.c等等,一個(gè)個(gè)添加很麻煩不說,每次在rebuild的時(shí)候都要編譯這些基本不變的文件.

而通過使用庫則可以解決這些問題,首先只需添加一次庫文件,第二Rebuild的時(shí)候只編譯我們自己寫的源文件

 

創(chuàng)建庫的過程(IAR中):

新建一個(gè)DLib工程,把stm32f10x_xxx.c這樣的文件和對應(yīng)頭文件全部復(fù)制到工程文件夾下(不復(fù)制也可以),然后添加進(jìn)去,還有 core_cm3.c, misc.c, system_stm32f10x.c, 這些都添加進(jìn)去.(注意:不要添加.h頭文件,這和KEIL是不一樣的,IAR里不用添加頭文件,只需要源文件里#include就行了.)

.s啟動(dòng)文件則可以根據(jù)實(shí)際需要添加,當(dāng)然你也可以每種型號都分別創(chuàng)建一個(gè)對應(yīng)的庫.然后在實(shí)際工程中根據(jù)不同的片子選擇不同的庫.

 

添加進(jìn)去后,打開工程屬性設(shè)置.

general option:

         target屬性框里選擇芯片;

         output屬性框里的Output file里選擇Library(如果新建的工程是DLib的話,這里默認(rèn)已經(jīng)是了);

         Library Configuration屬性框里的Library選項(xiàng)選擇None;   (這里注意哦)

 

C/C++ compile:

      

         optimizations里可以選擇優(yōu)化等級.

          Preprocessor里,additional include directories欄里添加包含文件的路徑.如同一般工程一樣把頭文件的路徑添加進(jìn)去.

 

OK,設(shè)置如上.編譯后,將會(huì)后成一個(gè).a文件.

以上是Debug模式下生成的庫文件,Release下的設(shè)置同上.兩者間的不同的是Debug選項(xiàng)中默認(rèn)輸出調(diào)試信息,而Release中默認(rèn)沒有.同時(shí)時(shí)我們可以在Release中根據(jù)需要把優(yōu)化等級調(diào)高一點(diǎn).最后,Release模式下生成的庫文件小一點(diǎn).

 

 

如何使用庫:

 

和平時(shí)一樣建一個(gè)工程,或者隨便打開一個(gè)你自己的STM32工程.然后添加庫,兩種方法可以添加庫:

1.可以直接像添加源文件一樣,在工程中右鍵->add files,然后添加.a文件.

2.右鍵屬性,在Linker選項(xiàng)中的Library選項(xiàng)卡中的additional libraries:中添加.而且可以在Debug屬性中添加Debug模式產(chǎn)生的庫,release中添加release模式生成的庫.需要注意的是不 能只添加路徑,文件名也要寫上. 比如:E:/IAR_LIB/Stm32/stm32_d.a

 

OK,這時(shí)你就可以把像stm32f10x_gpio.c這樣的文件從工程中Remove了.

(使用庫)和(不使用庫手動(dòng)添加stm32f10x_gpio.c)之間,在實(shí)際工程中,最終生成的可執(zhí)行文件的大小是一樣的.

 

最后,在實(shí)際工程中:

只需將stm32f10x_conf.h, stm32f10x_it.h, stm32f10x_it.c復(fù)制到工程文件夾,然后把stm32f10x_it.c添加進(jìn)工程就行了 (當(dāng)然,前面已經(jīng)說過,無論是在ARM工程,還是 庫工程中,IAR都不需要添加頭文件,添加了反而會(huì)編譯出錯(cuò),只需要源文件中#include) 

另外上述三文件最好不要?jiǎng)?chuàng)建成庫,因?yàn)樗鼈冊诓煌墓こ滔露际遣灰粯拥?這個(gè)就不用我說了吧. :)

上述三文件在STM32庫中的STM32F10x_StdPeriph_Lib_V3.3.0/Project/STM32F10x_StdPeriph_Template中有,當(dāng)然例子中也有,經(jīng)常有人找不到這三個(gè)文件在哪....

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP