CC2640R2F Off-Chip OAD 无法正常工作
Hi:
我使用simplelink_cc2640r2_sdk_1_35_00_33里面的off-chip oad 工程"simple_peripheral_oad_offchip", 按照官方提供的OAD开发文档,使用CCS对三个工程"ble5_bim_oad_offchip_cc2640r2lp_app"、"ble5_simple_peripheral_cc2640r2lp_stack_oad_offchip"、"ble5_simple_peripheral_cc2640r2lp_app_oad_offchip"依次进行编译下载,给CC2640R2F重新上电, 使用BTOOL 工具无法扫描到蓝牙设备。
开始我怀疑是只download 了最后一个工程的程序,所以我使用Flash Programmer将烧录了三个文件的程序和只烧录了一个文件的程序分别读取对比,结论是三个文件都被烧录到IC。
然后我对"ble5_simple_peripheral_cc2640r2lp_app_oad_offchip"进行调试,发现程序运行可以运行到
void SimpleBLEPeripheral_createTask(void)
{
.......
Task_construct(&sbpTask, SimpleBLEPeripheral_taskFxn, &taskParams, NULL); // 程序运行到此处
}
但是无法运行SimpleBLEPeripheral_taskFxn, 感觉是RTOS的没有工作一样,RTOS 是怎样启动的?
附件是OAD生成的三个hex文件。
之前有客户遇到类似问题,卡在 Task_construct这边。建议排查下电源和晶振,看是否有问题
Hi VIki:
Tks.
我重启了CCS,再按照off-chip oad 文档步骤,编译下载之后,能够正常工作了。
例外,我在编译测试on-chop oad 程序的时候遇到了些新的问题,编译"oad_target_cc2640r2lp_app" 工程时候有报错,错误如下:
|-->
<Linking>
"C:/ti/simplelink_cc2640r2_sdk_1_35_00_33/source/ti/blestack/common/cc26xx/ccs/cc26xx_app_oad_onchip.cmd", line 255: error #10099-D: program will not fit into available memory. placement with alignment fails for section ".text" size 0x5b32 . Available memory ranges:
FLASH size: 0x7000 unused: 0x6c98 max hole: 0x5cd0
error #10010: errors encountered during linking; "oad_target_cc2640r2lp_app.out" not built
<---|
在cc26xx_app_oad_onchip.cmd配置了IMGA的可用大小是0x7000
#define PAGE_SIZE 0x1000
#define FLASH_IMG_A_END (FLASH_START + (PAGE_SIZE * 7))
#define FLASH_IMG_A_SIZE ((FLASH_IMG_A_END) - (FLASH_IMG_A_START))
我将 FLASH_IMG_A_END 修改为 #define FLASH_IMG_A_END (FLASH_START + (PAGE_SIZE * 8))之后程序编译通过且生成了"oad_target_cc2640r2lp_app_oad_onchip_production.bin”,将其烧录到CC2640之后,使用BTool 搜索不到设备。
Hi,alex
请修改
.text : >> FLASH
Hi Aivin :
将.text : > FLASH 改为 .text : >> FLASH ? 我按照这个方式修改之后,可以生成.bin文件,但是烧录不了。而且在编译的时候也有报错:
Runtime Output:
Fatal Error: -- The provided metadata location (0x00000000) is not empty. Exiting.
makefile:203: recipe for target 'post-build' failed
gmake[2]: [post-build] Error 1 (ignored)
下面是我用的也是TI默认的SECTIONS 配置
Hi alex:
https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/p/584045/2160608#pi239031350=2
Hi Aivin:
谢谢! 你给我的链接,并不能解决我的问题,虽然看起来我们的问题是相同,但是当我把 .text : > FLASH 修改为 .text : >> FLASH之后,产生的是个空的.bin文件,且有一些错误, 我刚接触CC2640R2F开发,未能理解.map文件内容含义。
我的环境:
1. IDE -> CSS 7.2.0.00013
2. SDK -> simplelink_cc2640r2_sdk_1_35_00_33
3. TI ARM Compiler 16.9.0
4. XDC Tools 3.50.02.20
我想把编译信息上传的,但是附件上传后,无法发表,我将部分 修改.text 之后编译信息在下面:
<Linking>
'Finished building target: oad_target_cc2640r2lp_app.out'
' '
C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.3.LTS/bin/armhex -order MS --memwidth=8 --romwidth=8 --intel -o oad_target_cc2640r2lp_app.hex oad_target_cc2640r2lp_app.out
Translating to Intel format...
"oad_target_cc2640r2lp_app.out" .text.1 ==> .text.1
"oad_target_cc2640r2lp_app.out" .resetVecs ==> .resetVecs
"oad_target_cc2640r2lp_app.out" .text.2 ==> .text.2
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_heaps_HeapMem_Module__FXNS__C ==> .const:ti_sysbios_heaps_HeapMem_Module__FXNS__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_gates_GateHwi_Module__FXNS__C ==> .const:ti_sysbios_gates_GateHwi_Module__FXNS__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_gates_GateMutex_Module__FXNS__C ==> .const:ti_sysbios_gates_GateMutex_Module__FXNS__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_Object__DESC__C ==> .const:ti_sysbios_family_arm_m3_Hwi_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_gates_GateHwi_Object__DESC__C ==> .const:ti_sysbios_gates_GateHwi_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_gates_GateMutex_Object__DESC__C ==> .const:ti_sysbios_gates_GateMutex_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_hal_Hwi_Object__DESC__C ==> .const:ti_sysbios_hal_Hwi_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_heaps_HeapMem_Object__DESC__C ==> .const:ti_sysbios_heaps_HeapMem_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Clock_Object__DESC__C ==> .const:ti_sysbios_knl_Clock_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Event_Object__DESC__C ==> .const:ti_sysbios_knl_Event_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Mailbox_Object__DESC__C ==> .const:ti_sysbios_knl_Mailbox_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Queue_Object__DESC__C ==> .const:ti_sysbios_knl_Queue_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Semaphore_Object__DESC__C ==> .const:ti_sysbios_knl_Semaphore_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Swi_Object__DESC__C ==> .const:ti_sysbios_knl_Swi_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Task_Object__DESC__C ==> .const:ti_sysbios_knl_Task_Object__DESC__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Idle_funcList__C ==> .const:ti_sysbios_knl_Idle_funcList__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_cc26xx_Timer_startupNeeded__C ==> .const:ti_sysbios_family_arm_cc26xx_Timer_startupNeeded__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_E_alreadyDefined__C ==> .const:ti_sysbios_family_arm_m3_Hwi_E_alreadyDefined__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_E_hwiLimitExceeded__C ==> .const:ti_sysbios_family_arm_m3_Hwi_E_hwiLimitExceeded__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_NUM_INTERRUPTS__C ==> .const:ti_sysbios_family_arm_m3_Hwi_NUM_INTERRUPTS__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_Object__count__C ==> .const:ti_sysbios_family_arm_m3_Hwi_Object__count__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_Object__table__C ==> .const:ti_sysbios_family_arm_m3_Hwi_Object__table__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_ccr__C ==> .const:ti_sysbios_family_arm_m3_Hwi_ccr__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_excHandlerFunc__C ==> .const:ti_sysbios_family_arm_m3_Hwi_excHandlerFunc__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_nullIsrFunc__C ==> .const:ti_sysbios_family_arm_m3_Hwi_nullIsrFunc__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_numSparseInterrupts__C ==> .const:ti_sysbios_family_arm_m3_Hwi_numSparseInterrupts__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_priGroup__C ==> .const:ti_sysbios_family_arm_m3_Hwi_priGroup__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_TaskSupport_stackAlignment__C ==> .const:ti_sysbios_family_arm_m3_TaskSupport_stackAlignment__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_heaps_HeapMem_E_memory__C ==> .const:ti_sysbios_heaps_HeapMem_E_memory__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_heaps_HeapMem_Module__gateObj__C ==> .const:ti_sysbios_heaps_HeapMem_Module__gateObj__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_heaps_HeapMem_Object__count__C ==> .const:ti_sysbios_heaps_HeapMem_Object__count__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_heaps_HeapMem_Object__table__C ==> .const:ti_sysbios_heaps_HeapMem_Object__table__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_heaps_HeapMem_reqAlign__C ==> .const:ti_sysbios_heaps_HeapMem_reqAlign__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Clock_triggerClock__C ==> .const:ti_sysbios_knl_Clock_triggerClock__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Mailbox_Object__count__C ==> .const:ti_sysbios_knl_Mailbox_Object__count__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Mailbox_Object__table__C ==> .const:ti_sysbios_knl_Mailbox_Object__table__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Mailbox_maxTypeAlign__C ==> .const:ti_sysbios_knl_Mailbox_maxTypeAlign__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Queue_Object__count__C ==> .const:ti_sysbios_knl_Queue_Object__count__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Queue_Object__table__C ==> .const:ti_sysbios_knl_Queue_Object__table__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Semaphore_eventPost__C ==> .const:ti_sysbios_knl_Semaphore_eventPost__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Semaphore_eventSync__C ==> .const:ti_sysbios_knl_Semaphore_eventSync__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Swi_Object__count__C ==> .const:ti_sysbios_knl_Swi_Object__count__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Swi_Object__table__C ==> .const:ti_sysbios_knl_Swi_Object__table__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Swi_numPriorities__C ==> .const:ti_sysbios_knl_Swi_numPriorities__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Task_Object__count__C ==> .const:ti_sysbios_knl_Task_Object__count__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Task_Object__table__C ==> .const:ti_sysbios_knl_Task_Object__table__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Task_allBlockedFunc__C ==> .const:ti_sysbios_knl_Task_allBlockedFunc__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Task_defaultStackHeap__C ==> .const:ti_sysbios_knl_Task_defaultStackHeap__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Task_defaultStackSize__C ==> .const:ti_sysbios_knl_Task_defaultStackSize__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Task_numConstructedTasks__C ==> .const:ti_sysbios_knl_Task_numConstructedTasks__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_cc26xx_Timer_Module__id__C ==> .const:ti_sysbios_family_arm_cc26xx_Timer_Module__id__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_cc26xx_TimestampProvider_useClockTimer__C ==> .const:ti_sysbios_family_arm_cc26xx_TimestampProvider_useClockTimer__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_family_arm_m3_Hwi_Module__id__C ==> .const:ti_sysbios_family_arm_m3_Hwi_Module__id__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_gates_GateHwi_Module__id__C ==> .const:ti_sysbios_gates_GateHwi_Module__id__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_gates_GateMutex_Module__id__C ==> .const:ti_sysbios_gates_GateMutex_Module__id__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_heaps_HeapMem_Module__id__C ==> .const:ti_sysbios_heaps_HeapMem_Module__id__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Task_initStackFlag__C ==> .const:ti_sysbios_knl_Task_initStackFlag__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_knl_Clock_tickMode__C ==> .const:ti_sysbios_knl_Clock_tickMode__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Startup_firstFxns__C ==> .const:xdc_runtime_Startup_firstFxns__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Startup_lastFxns__C ==> .const:xdc_runtime_Startup_lastFxns__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Assert_E_assertFailed__C ==> .const:xdc_runtime_Assert_E_assertFailed__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Error_E_memory__C ==> .const:xdc_runtime_Error_E_memory__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Error_policyFxn__C ==> .const:xdc_runtime_Error_policyFxn__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Error_raiseHook__C ==> .const:xdc_runtime_Error_raiseHook__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_IGateProvider_Interface__BASE__C ==> .const:xdc_runtime_IGateProvider_Interface__BASE__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_IHeap_Interface__BASE__C ==> .const:xdc_runtime_IHeap_Interface__BASE__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_IModule_Interface__BASE__C ==> .const:xdc_runtime_IModule_Interface__BASE__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Memory_defaultHeapInstance__C ==> .const:xdc_runtime_Memory_defaultHeapInstance__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Startup_execImpl__C ==> .const:xdc_runtime_Startup_execImpl__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Startup_maxPasses__C ==> .const:xdc_runtime_Startup_maxPasses__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Startup_sfxnRts__C ==> .const:xdc_runtime_Startup_sfxnRts__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Startup_sfxnTab__C ==> .const:xdc_runtime_Startup_sfxnTab__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Startup_startModsFxn__C ==> .const:xdc_runtime_Startup_startModsFxn__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_SysCallback_abortFxn__C ==> .const:xdc_runtime_SysCallback_abortFxn__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_SysCallback_exitFxn__C ==> .const:xdc_runtime_SysCallback_exitFxn__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_System_abortFxn__C ==> .const:xdc_runtime_System_abortFxn__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_System_exitFxn__C ==> .const:xdc_runtime_System_exitFxn__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_System_maxAtexitHandlers__C ==> .const:xdc_runtime_System_maxAtexitHandlers__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Text_charTab__C ==> .const:xdc_runtime_Text_charTab__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Text_nameEmpty__C ==> .const:xdc_runtime_Text_nameEmpty__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Text_nameStatic__C ==> .const:xdc_runtime_Text_nameStatic__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Text_nameUnknown__C ==> .const:xdc_runtime_Text_nameUnknown__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Error_maxDepth__C ==> .const:xdc_runtime_Error_maxDepth__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Memory_Module__id__C ==> .const:xdc_runtime_Memory_Module__id__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Text_charCnt__C ==> .const:xdc_runtime_Text_charCnt__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Text_isLoaded__C ==> .const:xdc_runtime_Text_isLoaded__C
"oad_target_cc2640r2lp_app.out" .const:xdc_runtime_Error_policy__C ==> .const:xdc_runtime_Error_policy__C
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_getCount64__E ==> .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_getCount64__E
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_getCurrentTick__E ==> .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_getCurrentTick__E
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_getMaxTicks__E ==> .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_getMaxTicks__E
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_initDevice__I ==> .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_initDevice__I
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_setNextTick__E ==> .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_setNextTick__E
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_setThreshold__I ==> .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_setThreshold__I
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_start__E ==> .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_Timer_start__E
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_TimestampProvider_get32__E ==> .const:ti_sysbios_rom_ROM_ti_sysbios_family_arm_cc26xx_TimestampProvider_get32__E
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_rom_ROM_xdc_runtime_Startup_getState__I ==> .const:ti_sysbios_rom_ROM_xdc_runtime_Startup_getState__I
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_rom_ROM_xdc_runtime_System_SupportProxy_abort__E ==> .const:ti_sysbios_rom_ROM_xdc_runtime_System_SupportProxy_abort__E
"oad_target_cc2640r2lp_app.out" .const:ti_sysbios_rom_ROM_xdc_runtime_System_SupportProxy_exit__E ==> .const:ti_sysbios_rom_ROM_xdc_runtime_System_SupportProxy_exit__E
"oad_target_cc2640r2lp_app.out" .text.3 ==> .text.3
"oad_target_cc2640r2lp_app.out" .const ==> .const
"oad_target_cc2640r2lp_app.out" .cinit ==> .cinit
C:/ti/simplelink_cc2640r2_sdk_1_35_00_33/tools/blestack/oad/oad_image_tool oad_target_cc2640r2lp_app.hex F:/Svn_Work/workspace_v7/oad_target_cc2640r2lp_app/../oad_target_cc2640r2lp_stack/FlashROM/oad_target_cc2640r2lp_stack.hex F:/Svn_Work/workspace_v7/oad_target_cc2640r2lp_app/../bim_oad_onchip_cc2640r2lp_app/FlashOnly/bim_oad_onchip_cc2640r2lp_app.hex -t onchip -i production -v 0 --usrId AAAA -ob oad_target_cc2640r2lp_app_oad_onchip_production.bin -m 0x0000 --r 0x0000
******************************************************************************************
Texas Instruments OAD Image Tool
Version: 1.0
******************************************************************************************
OAD Type: onchip
Img Type: PRODUCTION
Input file(s): oad_target_cc2640r2lp_app.hex, oad_target_cc2640r2lp_stack.hex, bim_oad_onchip_cc2640r2lp_app.hex
Output Hex file: None
Output Bin file: oad_target_cc2640r2lp_app_oad_onchip_production.bin
Layout of concatenated input files, per flash sector, before applying --range.
00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15
XXXX xXXX XXXX XXXX XXXX XXXX x.-- ---- ---- ---- ---- ---- ---- ---- ---- ----
XXXX xXXX XXXX XXXX XXXX XXXX XX-- ---- ---- ---- ---- ---- ---- ---- ---- ----
XXXX XXXX XXXX XXXX XXXX XXXX XX-- ---- ---- ---- ---- ---- ---- ---- ---- ----
XXXX XXXX XXXX XXXX XXXX XXXX XX-- ---- ---- ---- ---- ---- ---- ---- ---- ----
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31
---- ---- ---- ---- ---- ---- ---- --XX XXXX XXXX XXXX XXXX XXXX XXXX 0000 XX-.
---- ---- ---- ---- ---- ---- ---- --XX XXXX XXXX XXXX XXXX XXXX XXXX 0000 XX--
---- ---- ---- ---- ---- ---- ---- --xX XXXX XXXX XXXX XXXX XXXX XXXX 0000 XX--
---- ---- ---- ---- ---- ---- ---- ---X XXXX XXXX XXXX XXXX XXXX XXXX X000 XX.-
Legend: `X` 100% full, `x` >50% full, `.` <50% full, `-` empty, `F` all 0xFF,
`0` all 0x00.
******************************************************************************************
Runtime Output:
Fatal Error: -- The provided metadata location (0x00000000) is not empty. Exiting.
makefile:203: recipe for target 'post-build' failed
gmake[2]: [post-build] Error 1 (ignored)
' '
**** Build Finished ****
Hi alex
你把我的CMD文件替换一下,请看下图我修改后已经编译成功。
0456.cc26xx_app_oad_onchip.7z
重新编译之前,请先clean。
Hi Aivin:
非常感谢,使用你给的文件,问题得到了解决。
我对比了下两个文件,区别是
你给我的的:
#define FLASH_IMG_A_START ((FLASH_START) + (FLASH_OAD_IMG_HDR_SIZE))
我自己的:
#define FLASH_IMG_A_START FLASH_START
我使用的sdk是: simplelink_cc2640r2_sdk_1_35_00_33
Hi Alvin:
你這cmd file 是給on chip 用的.
請問 Off chip 能用嗎?
BR Rio
Hi, Rio
Off chip 应该不用更改,没有这个问题。
BR
alvin chen
HI Arvin:
所以請問一下Off chip 是要用這個cmd 檔去編譯嗎? ==> cc26xx_app_oad.cmd
我現在遭遇到跟樓主一樣的問題. ==> http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/140122.aspx
請問一下您可以提供給我您的 email 嗎?
或是您是用哪個cmd 檔去link?
我卡這個 issue 卡一周了...
BR Rio