手把手教你用STM32發送帶附件的郵件 (一、RT-Thread Studio 項目配置)

目錄

 

項目介紹

項目準備

資源準備

現在開始

建立開發工程

RT-Thread Studio 導入工程

RT-Thread Studio 配置

一、庫文件準備

二、庫文件配置

三、鏈接文件配置

測試工程


項目介紹

本項目基於正點原子潘多拉開發板,使用RT-Thread操作系統,實現帶附件的郵件發送功能。

項目準備

  1. RT-Thread Studio [開發工具]
  2. RT-Thread IoT_Board SDK [開發環境]
  3. 正點原子潘多拉開發板 [硬件]

資源準備

爲了加快開發流程,我們使用RT-Thread提供的IoT_Board開發包,裏面已經做好了潘多拉的硬件環境,無需進行移植,我們本次的開發也是基於其中的一個demo進行,非常方便。

開發包下載:https://gitee.com/Armink/IoT_Board/repository/archive/1.1.0

最新源碼:https://gitee.com/Armink/IoT_Board

現在開始

  • 建立開發工程

下載完開發包後,進入目錄:IoT_Board - examples,可以看到這裏麪包含了大量的例程,所有這些例程都是可以直接下載到板子運行的。

我們需要做的是郵件發送項目,因此需要有一個能夠聯網的例程。在此我們選擇 iot_wifi_manager 例程,該例程實現了基本的wifi連接功能,在此基礎上開發我們就不需要過多的涉及網絡代碼的編寫,可以着眼於我們的郵件功能。

            

我們將該例程在當前文件夾複製一份,並且命名爲 smtp_test:

至此我們就擁有了我們自己的一個工程,由於我們是使用RT-Thread Studio進行開發,而該開發包是基於MDK的工程,所以接下來我們需要在RT-Thread Studio中導入該工程。

  • RT-Thread Studio 導入工程

打開RT-Thread Studio,選擇 文件 - 導入 - RT-Thread - MDK/IAR 項目到工作空間中

                

點擊下一步,選擇我們剛纔所建立的工程文件夾中的project.uvprojx文件,點擊打開:

將工程名稱命名爲:SMTP,點擊完成。

此時我們就把之前建立的工程順利導入到了RT-Thread Studio中了:

 

  • RT-Thread Studio 配置

由於我們的原始工程使用的是ARMCC工具鏈,而RT-Thread Studio使用的是GCC工具鏈,因此我們還需要進行一些配置才能使工程能夠正常下載運行。

一、庫文件準備

本項目中我們需要用到WIFI操作的庫文件以及OTA的庫文件,WIFI庫文件包含了對WIFI模塊的操作接口,而OTA庫文件則負責WIFI固件的校驗及搬運,在這裏我們只需將其正確配置如工程即可,無需對其進行深入的瞭解。

我們打開 IoT_Board - libraries 文件夾,可以看到裏面包含了一些庫,我們需要的文件就在 rt_ota 文件夾 與 wifi 文件夾中。

接下來我們需要將這兩個文件夾中的庫文件加入到我們的工程中。因爲我們的工程是通過MDK工程導入的,如果我們直接修改原本工程的文件結構會出現一些問題,所以在此我們不會將文件添加到原工程已存在的目錄中,而是在原工程的基礎上新建文件夾並將我們後續的新文件添加到新目錄中。

首先我們打開RT-Thread Studio,在我們的工程中新建一個目錄,命名爲 board :

建立文件夾後,我們右擊新建的文件夾選擇打開資源所在目錄。我們新建的board文件夾就位於此目錄下。

將剛纔我們打開的libraries中的rt_ota與wifi文件夾複製到board文件夾下。

此時我們的庫文件就已經準備下,接下來要在RT-Thread Studio中進行相應的配置,將這些庫文件加入到工程中。

二、庫文件配置

右擊工程名,選擇刷新,此時我們就能在工程目錄中看到我們加入的新文件:

                 

我們展開這兩個文件夾目錄,可以看到我們所加入的所有文件:

其中我們真正需要的是 rt_ota.hlibrt_ota_noalgo_0.1.2_stm32l4_gcc.a以及libwifi_6181_0.2.5_armcm4_gcc.a,總共三個文件。其他文件我們並不需要,因此無需關注。

首先我們需要將 rt_ota.h 所在的目錄加入到工程的頭文件路徑中,使編譯器能夠找到這個頭文件。

右鍵工程名打開右擊菜單,選擇 屬性(參照前幾次操作):

選擇 C/C++ 構建 下的 設置 選項,在右側的菜單中選擇 GNU ARM Cross Compiler 下的 Includes,點擊 Include path (-I)右側的加號圖標:

在彈出的對話框中選擇 工作空間 ,選擇我們剛纔加入的 rt_ota.h 的文件路徑,點擊確定:

頭文件路徑加入後,我們還需加入兩個庫文件。

在之前打開的屬性/設置菜單中選擇 Cross Arm C Linker 下的 Libraries ,點擊 Libraries (-l)右側的添加圖標,在彈出的對話框中輸入 rt_ota_noalgo_0.1.2_stm32l4_gcc ,點擊確定,再次點擊添加圖標,輸入 wifi_6181_0.2.5_armcm4_gcc ,點擊確定。(去掉庫文件名前面的lib和結尾的.a)

庫文件加入後還需加入庫文件的路徑,點擊下方 Library search path (-L) 右側的添加圖標,按照添加頭文件路徑的方式將兩個庫文件的路徑添加入工程中:

至此庫文件的添加操作已經完成,點擊應用並關閉保存配置。

若此時彈出一個對話框,點擊 即可。

三、鏈接文件配置

接下來我們需要添加鏈接文件,由於本工程原本是MDK工程,不存在用於GCC的鏈接文件,因此我們需要創建一個鏈接文件。當然,我們並不想從頭開始寫一個鏈接文件,好在RT-Thread Studio可以生成一個新的針對於STM32L475的工程,又因爲其是 RT-Thread Studio 生成的,所以它自帶GCC的鏈接文件,我們只需將其拷貝到我們的工程中即可。

3.1、新建模板工程

點擊 文件 - 新建 - RT-Thread項目,隨意輸入一個項目名,選擇 基於BSP,選擇 stm32l475-atk-pandora,選擇 ST-LINK接口,點擊完成。

     3.2、拷貝鏈接文件

進入新生成的項目目錄下的 board - link_scripts , 將該目錄下的 link.lds 拷貝到我們自己項目中的 board 文件夾下:

       

       

再次刷新我們的工程,此時可以看見目錄下已經有了link.lds文件:

同理,我們需要將該文件加入到編譯環境中。打開項目屬性,選擇 C/C++ 構建 - Cross ARM C Linker - General,點擊添加圖標將我們的鏈接文件添加入Script files中:

添加完後點擊 應用並關閉 按鈕。此時我們的項目就算是部署成功了,接下來我們先測試一下工程是否可以正常編譯運行。

  • 測試工程

首先我們進入 Applications - main.c 文件中修改 WLAN_SSID WLAN_PASSWORD 兩個宏定義,它們分別對應我們所要連接的無線網用戶名和密碼。只有正確配置了無線網的用戶名與密碼才能使開發板連上WIFI。

修改成功後點擊軟件上方工具條的編譯圖標進行項目編譯:

   

當RT-Thread Studio下方控制檯顯示 Build Finished 提示後表明編譯成功。

此時我們點擊上方工具條的下載按鈕右側的小箭頭,選擇ST-LINK:

     

選擇完成後確保開發板與電腦相連,同時打開串口調試工具,打開開發板所對應的連接端口,準備查看開發板的運行日誌,點擊下載按鈕下載程序:

等待下載完成後,查看串口調試工具,若此時開始打印如下數據,則程序下載成功:

開發板啓動流程完成後,會自動連接剛纔配置的WIFI,若連接成功,則會打印出獲取的IP地址信息:

此時標誌着我們的工程在RT-Thread Studio下部署完成,接下來我們就可以進行應用的開發了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章