1. 程式人生 > >大白NBIOT 移遠BC26模組模組OpenCpu開發視訊教程(有連線移動、電信平臺的opencpu原始碼)

大白NBIOT 移遠BC26模組模組OpenCpu開發視訊教程(有連線移動、電信平臺的opencpu原始碼)

本教程是基於大白的BC26開發板來展開的。

文末有彩蛋!!!

開發板集成了:USB介面轉雙串列埠晶片、主串列埠和除錯串列埠介面處有LED訊號指示燈。用microUSB可以獲取到BC26和基站通訊的log資料。BC26所有1.8V的IO口都轉換成了3.3V的電平,開發板留出了BC26的3個除錯串列埠、所有GPIO口、I2C介面、SPI介面、2個GPIO控制的LED燈、電源指示燈、休眠喚醒介面、BC26電源啟動介面、BC26復位介面、3.3V和5V電壓輸出介面、GND介面。

文章最下方有視訊教程的連結。

把BC26開發板插入電腦的USB介面,在電腦裝置管理器中檢視COM口,如下圖,Standard COM Port(COM60)是BC26的主串列埠,Enhanced COM Port(COM59)是BC26的debug串列埠。開啟串列埠除錯助手,選擇Standard COM Port(COM60)作為AT指令輸入的COM口。

1、首先檢視核心軟體版本:

ATI

Quectel_Ltd
Quectel_BC26
Revision: BC26NBR01A02

OK

我的核心版本是BC26NBR01A02,我這裡故意把NB標紅,是因為這個NB表示的是移遠BC26的硬體版本號,如果您返回的是:BC26NAR01AXX,這個就表示您的BC26的硬體版本號是NA。請注意NA的硬體版本號是不允許燒錄基於NB硬體版本的opencpu核心的,同樣NB的硬體版本號也是不允許燒錄基於NA硬體版本的opencpu核心的,否則會有未知bug。

2、燒錄OpenCpu的核心程式

2.1開啟FlashTool.exe軟體,正確選擇號串列埠COM口號Standard COM Port(COM60),開啟串列埠後,因為我的硬體版本號是NB的

,所以選擇BC26 OpenCpu\BC26NBR01A02_BETA0704檔案下的flash_download.cfg,這個是OpenCpu的核心程式。如果你的硬體版本號是NA的,請選擇NA版本的opencpu核心 。

   

2.2點選下圖中的Start按鈕後,按下BC26開發板的電源按鈕,啟動BC26,緊接著按下復位按鈕,就會開始下載了,如下圖提示Download Flash .. 100%後就燒寫成功了。

檢視opencpu的核心軟體版本:

ATI                //檢視核心版本號

Quectel_Ltd
Quectel_BC26
Revision: BC26NBR01A02_BETA0704

OK

3、程式碼編輯

大白用的是SublimeT Text作為程式碼編輯器,大白提供的檔案中有安裝包。

PS:SublimeText具有漂亮的使用者介面和強大的功能,例如程式碼縮圖,python的外掛,程式碼段等。還可自定義鍵繫結,選單和工具欄。SublimeText 的主要功能包括:拼寫檢查,書籤,完整的Python API Goto 功能,即時專案切換,多選擇,多視窗等等。SublimeText 是一個跨平臺的編輯器,同時支援WindowsLinuxMac OS X等作業系統。

SublimeT Text建立工程教程

Sublime Text 可以很方便地管理多個工程。使用Sublime TextProjects,可以將不同根目錄的檔案組織起來成為一個工程,而不用將所有的檔案都放到一個根目錄下面。

1. 建立工程

Project > Add Folder to Project

  這時在sidebar中將出現剛剛新增的檔案目錄,如果還需要新增其他目錄,則重複這一操作即可。

2. 儲存工程

Project > Save Project As

  點選儲存後Sublime Text將自動生成兩個檔案:

        project_name.sumlime-project:包含工程定義,該檔案會被記錄到版本控制裡。

        project_name.sublim-workspace:包含了使用者的工程資料,例如開啟的檔案和修改等,該檔案不會被記錄到版本控制裡。

4、程式碼編譯

使用gcc-arm-none-eabi-4_8來編譯程式。先安裝gcc-arm-none-eabi-4_8,大白提供的檔案中有安裝包。安裝完成後,進入下圖路徑中的檔案,雙擊下圖中的2個.exe檔案,分別雙擊後,make編譯指令就會生成。

然後雙擊下圖中的MS-DOS圖示,會彈出DOS視窗,下面就可以在這個DOS視窗中輸入命令啦。

2個編譯指令:Make clean、Make new。

Make clean:清除編譯後生成的檔案,如.cfg、.bin、.map、.log檔案。

Make new:進行程式碼編譯,編譯後生成的檔案如下圖圈出的檔案。有.cfg、.bin、.elf、.map、.log檔案,其中.cfg檔案就是下載到BC26CPU內部的執行檔案,所有的程式碼 Worings和Errors都會儲存到.log檔案中,可以檢視程式碼的錯誤地方。

如下圖,大白程式上預設編譯的是example_gpio.c檔案的,如下圖gcc_makefile檔案中的__EXAMPLE_GPIO__,C_PREDEF=-D __EXAMPLE_GPIO__這句話相當於#define __EXAMPLE_GPIO__,在example_gpio.c中最開始部分就有判斷是否巨集定義了__EXAMPLE_GPIO__,如果已經定義了__EXAMPLE_GPIO__,才會執行後面的程式。

如果想執行其他的 .C檔案可以在gcc_makefile檔案中定義其他標頭檔案名。比如我想執行example_multitask.c檔案,我就要把之前的C_PREDEF=-D __EXAMPLE_GPIO__改為C_PREDEF=-D __EXAMPLE_MULTITASK__。大白提供的example資料夾中的.c檔案中都是有proc_main_task主函式的,所以不能同時定義和執行2個或2個以上的標頭檔案的。

選擇剛才編譯生成的.cfg檔案,點選綠色的Start按鈕後:

如果BC26還未啟動,請緊接著按下BC26開發板的電源按鈕,啟動BC26;

如果BC26已經開機啟動,請緊接著按下復位按鈕。

就會開始下載了,如下圖提示Download Flash .. 100%後就燒寫成功了。

燒寫成功後BC26處於關機狀態,需要按一下電源按鈕啟動BC26,然後你的app程式就可以跑起來了。

我的demo程式就是讓我的2個GPIO控制的LED燈以1Hz的頻率閃爍,並且BC26的DEBUG串列埠會每隔0.5s輸出一次:<--DaBaiOpenCPU:  GPIO_Toggle loop -->的資訊。看DEBUG串列埠輸出的資料時,串列埠除錯助手需要選擇Enhanced COM Port(COM59)。

/***********************************

需要大白BC26開發板的點選開啟連結

************************************/

可以加我們扣扣群 527798089 進行技術交流(備註:大白nbiot)或者在文章下面留言討論,大白會及時回覆。