色另类_婷婷激情四月_亚洲精品无码不卡在线播放he_欧美第七页_精品国产综合区久久久久99_青娱乐极品盛宴在线

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

如何擴大CC2640 SDK 示例代碼的BIM代碼空間來滿足客戶定制化要求

發布日期:2022-04-28 點擊率:30

Other Parts Discussed in Post: LAUNCHXL-CC2650, CC2640

通常在實現OAD(on-air-download)功能的過程中,TI會提供標準的示例BIM(Boot Image Manager)代碼來進行鏡像校驗和下載。在TI所提供的示例代碼中,BIM代碼一般位于內部flash page31,和CCFG相鄰。若用戶根據自身功能定義不同,需要在BIM代碼區域增加更多功能(例如自定義UART / SPI boot, 自定義安全校驗功能等等)而導致自定義功能后的BIM代碼超出4k byte,又由于BIM區域與CCFG及NV Storage Area相鄰,在原有位置不能擴大,只能考慮重新為BIM劃定地址空間來滿足需求。

本文基于LAUNCHXL-CC2650評估板(http://www.ti.com.cn/tool/cn/launchxl-cc2650) 和BLE-STACK-2-2-1 SDK,詳細描述如何將原有的OAD示例代碼所包含的BIM起始地址從0x1F000改到0x1000,并且將BIM的地址區間從4k擴到8k。

注:所有不同版本的BLE SDK可以在以下網址找到:http://www.ti.com/tool/BLE-STACK-ARCHIVE

此外本文還會談到在進行BIM重定位過程中會遇到的以下問題及其解決方案:

  • TI RTOS相關Flash區域沖突的規避

  • 新的目標Image有效header的產生

  • 如何修改python工具的腳本生成新的Image

*****************************************************************************************************************

首先關于BIM起始地址的修改,分以下幾步:

  • Step1: 修改simple_peripheral project -> cc2650lp_app project的 flash起始地址

  • Step2: 重新給bim_extflash project 的BIM代碼分配地址空間

  • Step3: 使用新的BIM分配方式來實現OAD功能

Step1:修改simple_peripheral project -> cc2650lp_app project的 flash起始地址

在IAR7.70/IAR7.8中導入C: isimplelinkle_sdk_2_02_01_18examplescc2650lpsimple_peripheral 文件夾下的項目如下

   1) 修改APP_IMAGE_START

打開cc2650lp_app-FlashOnly_OAD_ExtFlash 工程的option--linker—config,將APP_IMAGE_START從0x1000修改成0x3000

   2) 修改RTOS運行方式

從項目中打開打開CC2640.cfg,或者直接在以下地址內找到這個文件: ble_sdk_2_02_01_18srccommoncc26xxkernelcc2640config)

注釋掉下圖所示的代碼:

原因:當選擇“use BIOS in ROM”方式時,RTOS 的ROM指針會被固定的放在0x1500區域。這樣就與我們所想要自定義的BIM代碼空間沖突了。而選擇“use BIOS in Flash”的方式可以讓TI-RTOS從FLASH啟動,以避免這個問題。當然”use BIOS in Flash”的方式會稍微多占用一些用戶的flash區域。

3) 修改reset vector的地址

接上一步,在CC2640.cfg中,將m3Hwi.resetVectorAddress 從0x1010修改為0x3010。

原因:這是reset vector的地址,應該跟在header后面。

step2 :重新給bim_extflash project 的BIM代碼分配地址空間

在IAR7.70/IAR7.8中導入C: isimplelinkle_sdk_2_02_01_18examplesutilim_extflashcc2640文件夾下的項目如下

打開上圖所示的cc26xx_bim_extflash.icf文件,重新定義一個FLASHPAGE1,定義其范圍為8k,把region BIM定義為PAGE1的區域,并將BIM_START從0x1F000修改到0x1000.

       

編譯通過后,檢查生成的bim_extflash.map, 確認之前的改成是否有效。

Step3:使用新的BIM分配方式來實現OAD功能

基于step2中的操作,打開同一個項目中如下圖所示的bim_main.c



做如下修改:

重新打開STEP1中修改過的C: isimplelinkle_sdk_2_02_01_18examplescc2650lpsimple_peripheral下的project, 找到

找到圖中所示的oad_target_external_flash.c,做如下修改


以上三步完成后,各自重新編譯成功,即完成了項目需要的所有改動。

*************************************************************************************

其次,為了配合新的地址分配來實現OAD,我們需要生成新的目標Hex待燒錄文件。仍然采用相關的Python工具(這里使用了Python 2.7.10)來生成需要的新的hex文件(新的文件包含正確的metadata Header)。

注:這里重點說明BIM地址修改后,如何對python腳本進行修改。關于提到的Python工具的下載和使用說明可以參見BLE SDK中包含的CC2640 BLE OAD User’s Guide.pdf說明文檔中的如下章節,這里不另加贅述。

  • 10.1 Installing Python

  • 10.2 TI OAD Image Tool (Python)

 

根據我們之前的修改,已經把simple_peripheral project -> cc2650lp_app project 的代碼起始地址改成了0x3000,而原來采用的python工具腳本所生成的hex文件,是配置成將header的imgAddr改成0x1000的,與我們需要把起始代碼改成0x3000的需求不符。所以,我們需要對原有python 工具的腳本和相關操作進行修改,分成以下兩步:

1)      修改oad image的腳本文件( oad_image_tool.py)

該腳本文件位于:C: isimplelinkle_examples-ble_examples-2.2 oolsscriptsoad文件夾

用PythonGUI打開該文件,將startAddr賦值為0x3000,如下:

2)      修改python 工具的腳本的相關操作

這里我們會用到兩個Python的argument: -m –r, 來完成修改目標Image的metadata header地址 的目的。

       

在命令行界面輸入如下命令:

> set PATH=%PATH%;C:python27

> Python C: isimplelinkle_examples-ble_examples-2.2 oolsscriptsoadoad_image_tool.py C:Usersx0269290DownloadsDesktople_sdk_2_02_01_18examplescc2650lpsimple_peripheraliarappFlashOnly_OAD_ExtFlashExesimple_peripheral_cc2650lp_app.hex -o C:Usersx0269290DownloadsDesktople_sdk_2_02_01_18examplescc2650lpsimple_peripheraliarappFlashOnly_OAD_ExtFlashExeSimple_peripheral_cc2650lp_app.hex -m 0x3000 -r :0xD000

(注:根據python腳本、目標hex、輸出hex所在位置及名稱的不同需要對命令做出對應的更改。)

如圖所示:

得到結果如下:

注:以上例子中的“-m”是用命令給metaAddr賦值。但因為metaAddr(0x3000)大于imgStartAddr(0x1000)導致錯誤,所以在1)中修改python腳本中的對應代碼。

完成上述步驟后,將修改好的APP image用燒寫工具(如:flashprogram2)燒寫進launchpad(注意:燒寫順序和之前一樣,先BIM,再stack,再App)就可以進行OAD操作了。然后照常用BLE device monitor對App進行操作,可以看到如圖所示,App的代碼段已經下面是燒錄完正確image后BLE device monitor參考界面。

下一篇: PLC、DCS、FCS三大控

上一篇: 汽車新熱點: T-BOX系

推薦產品

更多
主站蜘蛛池模板: 午夜久久久久久网站 | 亚洲已满18点击进入在线观看 | 欧美视频第一区 | 亚洲区视频 | 男女生性毛片免费观看 | 久草热在线 | 国产成人av在线 | 欧美极品一区二区 | 久久久高清免费视频 | 国产精品亚欧美一区二区三区 | 国产一区二区精品尤物 | 成人亚洲A片V一区二区三区婷婷 | 国产色a| 国产在视频一区二区三区吞精 | 秋霞日韩久久理论电影 | 亚洲欧美在线视频 | 国产欧美日韩精品一区 | 午夜在线视频观看 | 91精品一区二区三区久久久久久 | 一区二区免费看 | 91久久亚洲国产成人精品性色 | 亚洲综合视频一区 | 亚洲精品久久久久久久久久久久久 | 香蕉综合视频 | 中国一级黄色片 | 久久久久久久久久久9精品视频 | 九一免费国产 | 国产夜色福利院在线观看免费 | 亚洲精品黄色 | 91精品国产综合久久久久蜜臀 | 亚洲综合色一区二区三区另类 | 欧美国产精品一区二区免费 | 一级黄a | 国产无圣光高清一区二区 | 在线视频h | 国产精品99爱免费视频 | 九一精品 | 成年免费视频网站入口 | 国产视频一区二区 | 国产精品高清在线 | 成人练习生演员 |