Flash Programmer 2軟件安裝及介紹
我們用IAR進行編譯之後,生成的文件是“.hex”文件(默認情況下只生成hex文件,當然如果配置OAD空中升級,還會生成“.bin”文件,“.bin”文件的升級燒錄方法請看CC2640 OAD的相關博文,如下連接:點擊打開鏈接),這個文件是十六進制文件,編譯的時候我們可以直接用IAR的仿真方式燒錄,但是如果不需要編譯的情況下燒錄或者燒錄多個文件的時候,用IAR去操作就相對麻煩一些。下面,我們一起來看看如何用TI的工具“Flash Programmer 2”來下載。
該工具可以從TI官網上進行下載,如果覺得打開TI官網太卡的話,可以從下面的鏈接進行下載:
http://download.csdn.net/detail/zzfenglin/9626337安裝過程比較簡單,沒有什麼需要設置的,所以我們跳過安裝過程。該工具安裝完成之後,通過xds100v3仿真器將電腦與開發板連接起來。該軟件具有發現目標、下載固件、讀取固件、讀取MAC地址,寫第二MAC地址等功能,並且可以將Flash中特定地址區間的數據讀出來或者修改特定地址的數據,還有鎖定芯片的功能。
Flash Programmer 2的使用及功能介紹
搜索連接設備
雙擊“Flash Programmer 2”快捷方式,打開該軟件,界面顯示截圖如下:
點擊“Refresh”刷新設備,在XDS下的設備類型上點擊鼠標右鍵,然後點擊彈出的“Connect”,操作顯示如下:
點擊“Connect”之後,會在下方的“Status”顯示執行過程,並顯示連接的進度條,成功連接之後,顯示綠色的“Success”,截圖如下:
連接過程:
連接成功:
連接成功之後,我們就可以進行程序燒錄,MAC地址讀取,Flash數據讀取及修改等等操作了。
Main--程序燒錄
該工具燒錄分爲單個文件燒錄和多個文件燒錄。
1.單個文件燒錄,配置截圖如下:
成功燒錄的時候會在“Status”下顯示相應說明及“Success”:
2.多個文件燒錄,配置如下:
大家一定要注意第二步中兩個文件的先後順序,一定是“Stack”文件在前,“App”文件在後。按照上述配置好之後,點擊升級按鈕即可完成燒錄。升級成功的顯示跟單個文件升級一樣。
注意:不管是單文件燒錄還是多文件燒錄,被燒錄的文件所在的路徑中千萬不能包含中文,否則會提示燒錄失敗。
Edit--Flash數據操作
界面截圖如下:
從上圖中,我們可以看到,操作過程區域選擇的方式分別爲All flash、Flash pages和Address。
1.All flash:就是選擇整個flash空間。選中之後截圖如下:
注意:後面的地址和長度都是固定死的,不能再輸入了,其實它就是Address選項的極限情況。
2.Flash pages:選擇之後如下圖所示:
選擇某個page或者某個範圍的page,比如輸入0,就是選擇page 0區域;如果輸入“0-3”,就是選擇page0到page3區域。
3.Address:選擇之後顯示如下:
我們可以在“Address:0x”後面輸入要選擇的區域的起始地址,注意是十六進制的,然後在後面的“Length:”後面輸入區域的長度,注意長度是十進制的。
從圖1的右上角,我們可以看到有兩個按鈕“Read”和“Read Flash to file...”,前者是將所選區域的flash地址上的數據讀出來,顯示在下面的網格中;後者是將所選區域的flash地址上的數據讀出來保存到一個文件中。
從圖1的中間位置截圖如下:
我們可以看到有三個按鈕“Write”、“Save view to File...”和“Copy to Clibboard”。雙擊上面區域的某個要修改的小格,然後輸入修改後的內容,點擊“Write”就可以將修改後的數據寫入Flash中。“Save view to File...”指令就是將修改後的保存到某個文件中。“Copy to Clibboard”指令是將修改的數據複製到黏貼板上。
Info Page--設備信息區域
該界面截圖如下:
從上圖中可以看到,可以操作的命令是讀、寫、複製到黏貼板和保存到文件。該選項讀出來的是設備信息的內容,可以直接修改讀出來的數據,修改之後點擊“Write”即可。
MAC Address--MAC地址
該界面截圖如下:
從上述截圖中,我們可以看到每個CC26xx設備都有兩個地址:Primary address和Secondary address。
1.Primary address:芯片固有的,出廠之後就固定的,只可以讀,不可以修改的。上圖中讀出來的是“ A0:E6:F8:07:AD:82”,這個是我連接的設備的固有地址。
2.Secondary address:並不是芯片固有的,是保存在Flash中“0x1FFD0”地址上的,可以讀,也可以修改,默認值是“FF:FF:FF:FF:FF:FF”。當該address被修改爲其他值的時候,搜索設備顯示的MAC就是該值了,比如上述我們修改爲“FF:FF:FF:FF:FF:11”,然後點後面的“Write”,這個時候用BLE調試工具進行搜索,就會發現顯示的MAC變成了“FF:FF:FF:FF:FF:11”。
題外:對於Secondary address的修改,我們可以通過代碼來實現,實現的代碼源碼如下:
uint8 bdAddress[B_ADDR_LEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x11 };
HCI_EXT_SetBDADDRCmd(bdAddress);
這樣,Flash Programmer 2的使用大致就瞭解完了。