ESP8266學習筆記(二)

上一周講了ESP8266的初步開發,也就是AT模式工作,這種模式是最適合初學者使用的,因為wifi模塊內部的函數都已經封裝好了,無論你用什么mcu,都可以直接調用指令來實現你所需要的功能。

當然,如果僅僅是有這種模式,那么這塊芯片就不至于那么火了。這塊芯片的神奇之處在于它本身是一個mcu,而且生產公司對部分的函數免費開源,給了開發者很大的發揮空間。也就是說,本來需要在51或者arduino單片機上運行的程序可以直接燒錄進wifi芯片,讓芯片充當單片機,這樣在產品開發時就節省了成本和空間,可以做出更高效美觀的作品。所以,下面我就講講ESP8266的深度開發。

開發前的準備

  1. usb轉TTL模塊,或者單片機開發板,直接使用它的串口通訊引腳,用來燒錄程序和進行串口信息打印;

  2. 從樂鑫官網下載ESP8266_NONOS_SDK,雖然官方有提供在linux下的開發平臺,但是我還是推薦用安信可的IDE開發工具,它把make指令等都集成在eclipse上,直接通過build project就可以編譯出bin文件,當然,安信可的工具集里面是有包括燒錄工具的,所以不須另外下載。

開發步驟

  1. 將sdk導入安信可IDE,點導入工程,瀏覽到一個要編譯的工程,編譯器選 Cygwin;
  2. 導入example進行改寫或者自己編寫user_main.c;
  3. 執行build project,生成bin文件;
  4. 使用燒錄工具,將blank.bin,flash.bin,irom_text.bin和init_data_default.bin導入對應的地址中,將芯片的GPIO0口置于低電平,按照說明連接串口,點擊一鍵燒錄;
  5. 燒錄完畢后,將GPIO0口置空,芯片處于正常工作模式。

項目結構

項目結構.jpg
  • app為項目源碼文件夾,可以在里面編寫自己的程序;
  • bin為燒錄文件文件夾,程序編譯后自動生成的bin文件會在這里,導入燒錄軟件即可進行燒錄;
  • documents為說明文檔文件夾,關于這個sdk的使用方法和介紹文檔都在里面;
  • driver_lib為驅動鏈接庫,關于串口和IO口的驅動程序的頭文件和源文件都在里面,編譯時后自動生成一個靜態鏈接庫;
  • examples為示例代碼文件夾,可以從里面摘取代碼進行模仿和學習;
  • include為頭文件文件夾,當你編程時需要用到的封裝函數須在這里引入對應的頭文件;
  • ld為flash編譯控制文件夾,里面對應你的不同flash容量給了不同的地址信息,在燒錄時會調用;
  • lib為靜態鏈接庫文件夾,里面包含了各種頭文件的靜態鏈接庫,編譯時會調用;
  • tools為腳本與工具,一般不用修改;
  • license為許可文件,不用修改;
  • makefile為配置文件,定義了一系列的規則來指定哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,也是自動化編譯過程的核心。

關于makefile

一般makefile的關注點有以下幾個:

編譯模式控制(針對根目錄makefile)
image.png

這是在linux系統下編譯控制的選擇項,不過在IDE下只需修改makefile文件就可以如愿地控制編譯,如果不使用ota升級功能的話那么就用上圖給的編譯方式就行了。

包含頭文件(所有makefile)
image.png

這是makefile編譯時會包含的頭文件,用戶可以根據自己存放頭文件的位置自行對includes 后的內容進行修改。

SUBDIRS(針對app文件夾下的makefile)

image.png

變量SUBDIRS : 指定當前目錄下,要遞歸編譯的子目錄。用戶需根據自己app文件夾下的子目錄名稱和個數,分別添加到SUBDIRS變量中,例如你的app目錄如下圖所示,那么對應的makefile就與上圖一致。
image.png

COMPONENTS_eagle.app.v6(針對app文件夾下的makefile)
image.png

該變量是表明將引用那些app文件夾下的靜態鏈接庫,一般是與用戶自己編寫的文件夾名稱相對應,所以用戶根據需要自行修改,否則會出現函數未定義的錯誤。

LINKFLAGS_eagle.app.v6(針對app文件夾下的makefile)
image.png

該變量是表明將引用那些lib文件夾下的靜態鏈接庫,與lib文件夾下的文件名稱相對應,所以用戶根據需要自行調用修改,否則也會出現函數未定義的錯誤。

總之,makefile是一個很重要的文件,管理依賴和控制編譯的整個過程。如果感興趣的話,可以去學習它的語法,簡直就是自動化編譯的神器 ~

總結

這次大概講了ESP8266的深度開發的一些準備工作和整體框架,關于具體的開發和燒錄等細節將在后續的文章中為大家闡明。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內容