日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

CC1310空中升级笔记05 BIM适配工程处理

發(fā)布時(shí)間:2024/3/26 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CC1310空中升级笔记05 BIM适配工程处理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

在學(xué)習(xí)OAD例程時(shí),才真正明白CC1350 project0的用處。對(duì)一個(gè)待增加OAD的工程,需要學(xué)習(xí)它的操作方法。另外我還結(jié)合自己淌過(guò)的幾個(gè)坑,總結(jié)了這個(gè)操作記錄。希望能對(duì)一些做CC1310 OAD的朋友們有所幫助。

本文作者twowinter,轉(zhuǎn)載請(qǐng)注明作者:http://blog.csdn.net/iotisan/

1.增加宏

In project option -> ARM Compiler -> Advanced Options -> predefined symbols add ‘USE_BIM’ define
// 我在例程中沒(méi)看到有使用這個(gè)宏,貌似沒(méi)關(guān)系

2.使能HEX生成

In project option -> ARM Hex Utility -> check Enable ARM Hex Utility

感覺(jué)這樣還不夠,我找到了個(gè)帖子,在e2e論壇還發(fā)了個(gè)帖子。
http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/562492

我在帖子中問(wèn)CC1310應(yīng)該怎么做:–intel and –memwidth=8, and – romwidth=8.

3.cmd處理

CC1310_LAUNCHXL_TIRTOS.cmd 和 CC1310_LAUNCHXL_TIRTOS-bim.cmd 的主要區(qū)別在這里:

/* The starting address of the application. Normally the interrupt vectors */ /* must be located at the beginning of the application. */ #define FLASH_BASE 0x0 #define FLASH_SIZE 0x20000/* The starting address of the application. For a Boot Image Manager */ /* compatible image the Applicaion need to start in the first page. */ #define FLASH_BASE 0x1000 #define FLASH_SIZE 0x1EFF0

照這樣來(lái)看,增加了BIM之后,應(yīng)用程序從4K開始。在第一步中還使能了USE_BIM的宏。

ifdef USE_BIM

#define FLASH_OAD_IMG_HDR_SIZE 0x10 #define FLASH_OAD_IMG_START FLASH_APP_BASE + FLASH_OAD_IMG_HDR_SIZE #define FLASH_OAD_IMG_MAX_LEN FLASH_LEN - (2 * FLASH_PAGE_LEN) - FLASH_OAD_IMG_HDR_SIZE

endif

研究了下CC1350的兩個(gè)boot程序,一個(gè)是片內(nèi)的,一個(gè)是片外的,分別研究了下他們的跳轉(zhuǎn)地址。目前這個(gè)APP工程是跳轉(zhuǎn)到了0x1010,采用的是extflash的工程。為什么片外OAD的BIM要4K的flash,大概是片內(nèi)的判斷比較簡(jiǎn)單,片外則要加入SPI,所以代碼量大一些。

this is on chip:

asm(" MOV R0, #0x00D0 "); asm(" LDR R1, [R0, #0x4] ");// Reset the stack pointer, asm(" LDR SP, [R0, #0x0] ");// And jump. asm(" BX R1 ");

this is extflash:

asm(" MOV R0, #0x1010 "); asm(" LDR R1, [R0, #0x4] ");// Reset the stack pointer, asm(" LDR SP, [R0, #0x0] ");// And jump. asm(" BX R1 ");

4.release.cfg

RTOS子工程中還有一個(gè)cfg文件。
rfDmExamples-bim.cfg 比 例程的 release.cfg ,默認(rèn)多了如下兩個(gè)設(shè)置:

/** Assign an address for the reset vector.** Default is 0x0, which is the start of Flash. Ordinarily this setting should* not be changed.*/ m3Hwi.resetVectorAddress = 0x1010;/** Assign an address for the vector table in RAM.** The default is the start of RAM. This table is placed in RAM so interrupts* can be added at runtime.** Note: To change, verify address in the device specific datasheets'* memory map.*/ m3Hwi.vectorTableAddress = 0x20000000;

5.RTOS子工程的替換

指南中沒(méi)體現(xiàn),自己摸索了出來(lái)。

從CC13X0-SDK開始,每個(gè)工程都會(huì)帶一個(gè)RTOS的子工程。

這塊就直接替換rtos的工程。
右鍵工程 -> Show Build Settings -> CCS Build -> Dependencies

Remove tirtos_builds_CC1310_LAUNCHXL_release_ccs
Add tirtos-bim_builds_CC1310_LAUNCHXL_release_ccs

6.把ccfg.c排除在外

指南中沒(méi)體現(xiàn),自己摸索了出來(lái)。

因?yàn)閷?shí)際生成的hex,仍保留CCFG區(qū)域。我之前深深吃了這個(gè)虧。如果瞎搞的話,CC1310可是會(huì)brick哦,這樣只能返廠了。

7.編譯完后處理各個(gè)bin

合成即將運(yùn)行的hex,版本號(hào)v3_01

hexmerge.py將應(yīng)用層hex和BIM的hex合成一個(gè)文件,這個(gè)是在intelhex-2.1中。

python /usr/bin/hexmerge.py -o bin/rfWsnNodeOadClient_CC1310_LAUNCHXL_tirtos_ccs_all-v3_01.hex "--overlap=error" bin/rfWsnNodeOadClient_CC1310_LAUNCHXL_tirtos_ccs-v3_01.hex bin/bim_extflash_cc1350lp_bim.hexrfWsnNodeOadClient_CC1310_LAUNCHXL_tirtos_ccs_all-v3_01.hex rfWsnNodeOadClient_CC1310_LAUNCHXL_tirtos_ccs-v3_01.hex bim_extflash_cc1350lp_bim.hex

準(zhǔn)備空中升級(jí)的bin,版本號(hào)v3_02

oad_image_tool.py 將應(yīng)用層hex處理成bin

python tools/oad_image_tool.py -v 0x0302 -i remoteapp bin/rfWsnNodeOadClient_CC1310_LAUNCHXL_tirtos_ccs-v3_02.hex -ob bin/rfWsnNodeOadClient_CC1310_LAUNCHXL_tirtos_ccs_app-v3_02.bin -m 0x1000

rfWsnNodeOadClient_CC1310_LAUNCHXL_tirtos_ccs-v3_02.hex
rfWsnNodeOadClient_CC1310_LAUNCHXL_tirtos_ccs_app-v3_02.bin

End


總結(jié)

以上是生活随笔為你收集整理的CC1310空中升级笔记05 BIM适配工程处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。