安裝完成了安信可(Ai-Thinker) ESP8266 IDE 2.0(整合開發環境),便可使用來測試 NONOS SDK Source。首先下載 ESP8266_NONOS_SDK (測試原程式碼版本:ESP8266_NONOS_SDK_v1.5.4)原程式碼,然後導入 Eclipse,再測試編譯程式。
ESP8266_NONOS_SDK_v1.5.4 原程式 |
Non-OS SDK 是不基於作業系統的 SDK,提供 IOT_Demo 和 AT 的編譯。Non-OS SDK 主要使用計時器和回調函數的方式實現各個功能事件的嵌套,達到特定條件下觸發特定功能函數的目的。Non-OS SDK 使用 espconn 介面實現網路操作,用戶需要按照 espconn 介面的使用規則進行軟體發展。
從版本 ESP8266_NONOS_SDK_V1.5.0 起,AT 固件所需空間增大,無法再使用 4Mbit (512KB) Flash,請使用 8Mbit (1MB) 或以上容量 Flash。
app: 用戶工作主目錄,用戶級代碼及頭檔均放在此目錄下編譯。
bin: 編譯生成的 BIN 檔,可直接下載到 Flash 中。
documents: SDK 相關的文檔或鏈結。
driver_lib: 外設驅動的庫文件,如:UART、I2C 和 GPIO 等。
examples: 可供用戶二次開發的示例代碼,如 IoT Demo 等。
include: SDK 自帶頭檔,包含了用戶可使用的相關 API 函數及其他巨集定義,用戶無需修改。
ld: 鏈結時所需的腳本檔,若無特殊需求,用戶無需修改。
lib: SDK 提供的庫檔。
tools: 編譯 BIN 檔所需的工具,用戶無需修改。
※ 首先使用樂鑫(Espressif)原廠固件
1‧需要將 driver_lib Directory 移動 MOVE 到 app目錄下。
2‧需要將 examples/IoT_Demo/*.* 下的 Files 拷貝COPY 到 app目錄下,並代替舊 Files。
雙擊啓動 ESP8266IDE.exe,通入 Eclipse |
Select → Exiting Code as Makefile Project → Next |
New Project → Unclick C++ → Cygwin GCC → Browse → 選擇 Code Location = ESP8266_NONOS_SDK → Finish |
Right Click → Clean Project → Build Project |
編譯後,看程式有沒有報錯,如果沒有便成功編譯! |
編譯成功後系統顯示生成的 BIN 檔及其下載到 Flash 中的地址 |
ICACHE_FLASH_ATTR 巨集的函數:
對於 ESP8266_Non-OS_SDK 添加了 ICACHE_FLASH_ATTR 巨集的函數,將存放在 IROM 中,CPU 僅在調用到它們的時候,將它們讀到 cache 中運行;沒有添加到 ICACHE_FLASH_ATTR 巨集的函數,將在一開始上電運行時,就載入到 IRAM 中運行;由於空間有限,我們無法將所有代碼都一次性載入到 IRAM 中運行,因此在大部分函數前添加到ICACHE_FLASH_ATTR 宏,放在 IROM 中。
如果需要在 IRAM 中執行功能,就不需要加ICACHE_FLASH_ATTR 的宏,那麼該功能就是放在 IRAM 中執行。
2017年 1月 18日 天氣報告
氣溫:19.3度 @ 20:40
相對濕度:百分之 91%
天氣:多雲
沒有留言:
張貼留言