這個是生成LIB的技巧.也許大家在網上看到某些程序會發現,他們用這個方式來包含STM32的庫文件:
而不是像DX32的例程那樣一堆C:
那么,本技巧篇例程就是教大家怎么生成那個.LIB 的文件的.
首先打開本程序,大家看到的整個工程就只有庫文件:
因為這是把STM32的函數庫編譯成庫的形式,所以你只需要包含函數庫就行.
然后注意一點,stm32f10x_conf.h 文件中,所有的include都要開放
#include "stm32f10x_adc.h"
#include "stm32f10x_bkp.h"
#include "stm32f10x_can.h"
#include "stm32f10x_crc.h"
#include "stm32f10x_dac.h"
#include "stm32f10x_dbgmcu.h"
#include "stm32f10x_dma.h"
#include "stm32f10x_exti.h"
#include "stm32f10x_flash.h"
#include "stm32f10x_fsmc.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_i2c.h"
#include "stm32f10x_iwdg.h"
#include "stm32f10x_pwr.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_rtc.h"
#include "stm32f10x_sdio.h"
#include "stm32f10x_spi.h"
#include "stm32f10x_tim.h"
#include "stm32f10x_usart.h"
#include "stm32f10x_wwdg.h"
#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions)
*/
這是因為當這堆C文件編譯成*.LIB后,里面的內容將是恒定的,不能裁減的.(這是C語言的理念,跟編譯器什么的無關),所以我們必須開放所有H 文件,這樣編譯出來的LIB 文件才是全能的.這個理解,就和普通的DX32例程中包含一大堆C文件的意義是一樣的.只不過是我們先把庫函數那部分預先編譯成LIB 文件.
然后,就是選擇編譯成LIB:
編譯后的庫文件的名字是可定義的,這里隨便改個名字叫LIB.
然后嘛,就是編譯,編譯完成后,LIST目錄上就有一個LIB.lib文件了,注意文件的后綴名固定為lib 的.
到這里,一個LIB文件就弄出來了,試試拿一個普通的DX32工程,然后把所有的函數庫*.C文件刪除(注意.H 文件不要刪除,因為你在程序中還要用.H 文件上的很多宏定義,例如
GPIO_Pin_1 這些宏定義),之后再加進這個LIB.lib,注意記得選擇正確的文件類型:加進去后,就可以像往常那樣編譯你的工程了.
到此,LIB的生成和應用就完成了,其實白菜本人并不提倡試用LIB文件,雖然從編譯角度上說,這個方式會使編譯速度快一點,但有以下的缺點是不容忽略的:
1.為了通用,你必須把整個庫都編譯,這樣在程序中就不方便裁減,例如我不用SPI功能,以前的方式就是在stm32f10x_conf.h 中屏蔽掉一些include,但這個LIB 方式卻不行.即使你在工程中保留了stm32f10x_conf.h 文件,并修改它,但這對已經編譯成LIB 的庫文件的大小和內容不產生影響
2.不方便觀察庫函數,經過預編譯的LIB 文件,里面的所有東西都不能以C 的形式看到了,這樣對于學習來說,是有不少影響的.
當然,LIB 的一個主要用途,就是用在工作上的,當你某些C 文件不希望讓別人看到源代碼,但又必須給別人使用的時候,把你這些機密的C 文件編譯成LIB 是一個最好的方式.在我認為,
這個是LIB 唯一實在的用處呵呵~
上一篇:cortex_m3_STM32嵌入式學習筆記18之DAC實驗
下一篇:STM32內置參照電壓的使用
推薦閱讀
史海拾趣
Arcolectric始終堅持品質至上的原則,對產品的每一個環節都進行嚴格的質量控制。公司不僅通過國際制造架構的合作來確保產品的高品質,還積極引進先進的生產設備和技術人才,不斷提升產品的性能和可靠性。這種對品質的執著追求使得Arcolectric的產品在全球范圍內得到了廣泛的認可和贊譽。
無錫友達電子有限公司自2002年成立以來,就致力于半導體集成電路設計領域。在初創階段,公司憑借對高性能模擬和數模混合集成電路的深刻理解,迅速推出了多款性能優異的功放、電源等系統方案。這些產品在電視機、音響設備等領域的廣泛應用,為公司贏得了市場的初步認可。通過不斷的技術創新,無錫友達逐漸在電子行業嶄露頭角。
ELM Technology Corporation非常重視企業文化的建設。公司倡導“創新、協作、誠信、責任”的企業精神,鼓勵員工積極創新、勇于擔當。同時,公司還為員工提供了良好的工作環境和福利待遇,增強了員工的歸屬感和凝聚力。這種積極向上的企業文化為ELM的持續發展提供了強大的動力。
請注意,以上故事僅為概述,具體細節和事實需要根據ELM Technology Corporation的實際情況進行補充和完善。
ATS公司成立于1989年,最初是一家專注于電子產品熱管理咨詢的公司。創始人團隊憑借其深厚的電子工程背景和敏銳的市場洞察力,識別到電子產品熱管理領域的潛在機遇。經過數月的研究和開發,ATS成功研發出了一種新型散熱技術,顯著提高了電子設備的散熱效率。這一技術突破迅速贏得了市場的認可,ATS開始收到來自各大電子產品制造商的咨詢和合作請求。
為了進一步擴大市場份額和提高競爭力,AVAGO公司開始積極尋求并購機會。通過一系列精心策劃的并購交易,公司成功整合了多家在半導體行業具有影響力的企業,從而獲得了更多的技術資源和市場份額。這些并購不僅增強了AVAGO公司的綜合實力,還為其在全球范圍內的業務拓展奠定了堅實基礎。
本帖最后由 paulhyde 于 2014-9-15 09:49 編輯 廣西電子設計競賽中的國旗自動升降體統要求播放國歌。前幾天,去了南城聯創買了一片kd-153g的國歌語音芯片,共有四個引腳。但這么使用它呢?? … 查看全部問答∨ |
|
各位大蝦,我在使用“norains”博主編寫的SoundBase“類在evc下實現錄音的時候,碰到了調試正常通過,但錄音的時候不能錄音,請各位不吝賜教, 下面是出現問題的詳細情況: 為方便各位查看,"SoundBase"類的具體內容在這個網頁里面http://blog ...… 查看全部問答∨ |
往dsp寫入數據時,控制寄存器和地址寄存器都沒問題,但是用ccs看memory并沒有改變。讀數據也不對,請大蝦們多指教啊!!!我用的是8位多路模式… 查看全部問答∨ |
日前,德州儀器 (TI) 宣布推出業界首款縮短多輸出高性能 DC/DC 電源系統設計周期的在線工具 WEBENCH 系統電源建筑師,進一步壯大其獲獎 WEBENCH® 工具陣營。 詳細自己查詢啦,版權問題,就不貼原文了… 查看全部問答∨ |