1. 程式人生 > >初學BLE藍芽底層開發的常識

初學BLE藍芽底層開發的常識

藍芽微控制器 CC254x :完全支援BLE,採用經典51核心(C8051)。

EW 是 IAR Embedded Workbench 的簡稱,是C/C++的編譯環境和偵錯程式,應用於嵌入式系統的開發工具。

IAR 有各種平臺,我們開發cc2540用IAR for  8051就可以了,還要注意版本的協議棧,我要執行教程的例子,還是選用低版本的8.10,可以根據需要下載對應版本的IAR

我們看見的板子一般分為底板和核心板,底板SmartRF,核心板才是CC254x,稱為SmartRF CC254x。

Smart RF Flash Programmer:燒錄程式碼至模擬器中執行,相容CC Debugger。

開發需要

硬體:
PC 機一臺
SmartRF cc254x(底板、核心板、模擬器、USB 線)一套
軟體:
XP/win7 系統,IAR 8.10 整合開發環境


首先安裝IAR和TI協議棧的相關驅動,模擬器偵錯程式(CC Debugger)驅動的安裝。

將IAR的工程Make編譯,編譯成功後,在Debugger資料夾下Exe下會生成.hex檔案,


然後點選綠色小三角就可以在開發板運行了。

在執行程式碼之前,首先將模擬器和開發板連線好,模擬器的使用mini-usb 線連線到
電腦PC 端,然後使用灰色排線連線模擬器和SmartRF 開發板。

點選綠色小三角執行後的除錯介面:



另一種燒錄.hex檔案到開發板的方法,使用SmartRF Flash Programmer(需安裝)

flash programmer 是ti 開發的hex 檔案燒寫工具,通過Flash Programmer 不光可以給目標
晶片燒寫程式,而且還而已更新CC-Debugger 模擬器的韌體程式,功能非常強大。

設定IAR 產生Hex 檔案
我們這裡分為二種情況
· 普通IAR 工程產生Hex 檔案
· BLE 協議棧工程產生Hex 檔案
下面詳細介紹
普通IAR 工程產生Hex 檔案
右擊Workspace 中的專案名稱,
然後開啟Options 對話方塊。
在開啟的Options 中選擇Linkder 中的Output 選項卡, 設定如下圖:


在開啟的Options 中選擇Linkder 中的Extra output 選項卡,設定如下圖:


然後重新編譯工程 ,在Debugger/Exe/xxx.hex生成.hex檔案

BLE 協議棧工程產生Hex 檔案
BLE 協議棧工程預設設定了生成hex 檔案,無需另外配置。

燒寫過程介紹
選擇燒寫類別
開啟Flash Programmer。在“What do you want to program”中選擇“Program CCxxxxSoc
or MSP430”,如下圖,請注意,Program Evaluation Board,是用來燒寫cc-debugger
模擬器韌體用的,請勿隨意操作,以免損壞模擬器。
檢視裝置連線
選擇已連線的需要燒寫的連線,如果沒有出現列表,請檢查模擬器與目標板的連線是
否OK,CC-Debugger 變綠燈或者SmartRF04EB (另一種模擬偵錯程式,我們這用的是CC Debugger)亮燈表示識別並且按模擬器復位按鈕,到
晶片,這時Flash Programmer 中會出現裝置列表,如果模擬器已經識別到晶片,而軟體
中沒有出現裝置列表,則請檢查模擬器驅動是否安裝成功,裝置管理器檢視是否顯示驅動。


選擇需要燒寫的裝置和需要燒寫的hex 檔案:
在Flash Image 中定位到需要燒寫的hex 檔案,並且在Actions 中選擇合適的操
作,如下圖:


執行燒寫
點選Perform actions 開始燒寫,燒寫成功後,會顯示program OK。