Other Parts Discussed in Thread: LAUNCHXL-CC2640R2, CC2650, CC2640, UNIFLASH
I am trying to add on-chip oad capability to the simple serial socket server project running on the LaunchXL-CC2640R2 rev 1.0. I am using the simple serial socket sever example from the sdk revision 2.20.00.49 example pack. I am using the the steps outlined in the sw developers guide and referencing the example on-chip oad project included in the sdk.
After adding the bim, persistent app, and updating the stack builds, those projects were able to build, link, and run their post-build actions. However, the application project fails to link with the following error:
IAR Link Error when building the App
Fatal Error[Li001]: could not open file "C:\ti\ble_examples-simplelink_cc2640r2_sdk-2.20\examples\rtos\CC2640R2_LAUNCHXL\bleapps\simple_serial_socket_server\tirtos\iar\stack\FlashROM_Library\Exe\cc2640r2lp_stack_FlashROM_Library.a"
My questions are as follows:
1. Where in the build configuration is the stack image provided to the linker? The simple_peripheral on-chip oad example links to the .out file, not a .a file.
2. When adding oad capability, I removed the stack project for the serial server and added the stack project from the on-chip example. Is this correct, or should the stack project included in the serial server example be modified to support oad.
3. I directly added the persistent app and bim projects from the on-chip oad example to the simple_serial_socket_server workspace. Is this correct or should I have coped the projects and added the copied projects to the workspace? I'm concerned the paths could be incorrect because the example pack installs to a different directory than the included sdk examples.
The serial server project path is:
C:\ti\ble_examples-simplelink_cc2640r2_sdk-2.20\examples\rtos\CC2640R2_LAUNCHXL\bleapps\simple_serial_socket_server\tirtos\iar
while the bim, stack, and persistent app projects are at:
C:\ti\simplelink_cc2640r2_sdk_2_20_00_49\examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral_oad_onchip\tirtos\iar
Thanks for any and all help with this issue!
The IAR Version 8.20.2 project options used are provided below. You can stop reading here unless you want details of the project settings and defines.
__________________________________________________
Simple Serial Server app options
Linker Configuration File
$SRC_BLE_DIR$\common\cc26xx\iar\cc26xx_app_oad.icf
App Linker Configuration symbols :
CC2650=2
FLASH_ROM_BUILD=2
OSAL_SNV=1
App Compiler Defined Symbols
CC2640R2_LAUNCHXL
CC26XX
CC26XX_R2
DeviceFamily_CC26X0R2
ICALL_EVENTS
ICALL_JT
ICALL_LITE
ICALL_MAX_NUM_ENTITIES=6
ICALL_MAX_NUM_TASKS=4
ICALL_STACK0_ADDR
MAX_NUM_BLE_CONNS=1
SDI_USE_UART
RF_SINGLEMODE
xSTACK_LIBRARY
USE_ICALL
xPOWER_SAVING
xdc_runtime_Assert_DISABLE_ALL
xdc_runtime_Log_DISABLE_ALL
OAD_ONCHIP
MAX_PDU_SIZE=251
IMAGE_INVALIDATE
HAL_IMAGE_B
SPLIT_APP_STACK_IMAGE
OSAL_SNV=1
OSAL_CBTIMER_NUM_TASKS=1
App pre-build command line
"$XDCROOT$\xs" --xdcpath="$XDCPATH$" iar.tools.configuro -c "$TOOLKIT_DIR$" --cc "$COMPILER_PATH$" --device "$DEVICE$" --compileOptions $COMPILER_ARGS_ROOT_QUOTED$ --linkOptions $LINKER_ARGS_QUOTED$ --profile release --projFile "$PROJ_PATH$" --cfgArgs "{NO_ROM:0, OAD_IMG_B:1}" -o $PROJ_DIR$\..\config\configPkg $EXAMPLE_BLE_ROOT$\tirtos\app_ble.cfg
App post-build command line
$TOOLS_BLE_DIR$\output_converter\output_converter.exe $EXE_DIR$\$TARGET_BNAME$.bin
Stack Project options
Stack Output was changed from Library to Executable.
Stack Linker Options
config file: $SRC_BLE_DIR$\common\cc26xx\iar\cc26xx_stack_oad.icf
Stack Linker configuration symbols
FLASH_ROM_BUILD=2
CC2650=2
OSAL_SNV=1
Stack Compiler options
CC26XX
CC26XX_R2
DeviceFamily_CC26X0R2
EXT_HAL_ASSERT
FEATURE_OAD
FLASH_ROM_BUILD
GATT_NO_CLIENT
ICALL_EVENTS
ICALL_JT
ICALL_LITE
OSAL_CBTIMER_NUM_TASKS=1
OSAL_SNV=1
POWER_SAVING
SPLIT_APP_STACK_IMAGE
xSECURITY
USE_ICALL
Stack pre-build command line
$TOOLS_BLE_DIR$\lib_search\lib_search.exe $EXAMPLE_BLE_ROOT$\tirtos\build_config.opt $SRC_BLE_DIR$\blelib $PROJ_DIR$\..\config\lib_linker.cmd cc2640 $TOOLS_BLE_DIR$\lib_search\lib_search.xml $SRC_BLE_DIR$\symbols
Stack post-build command line
cmd /C "$TOOLS_BLE_DIR$\frontier\frontier.exe iar $PROJ_DIR$\$CONFIG_NAME$\List\$TARGET_BNAME$.map $PROJ_DIR$\..\config\iar_boundary.bdef $PROJ_DIR$\..\config\iar_boundary.xcl & $TOOLS_BLE_DIR$\output_converter\output_converter.exe $EXE_DIR$\sp_oad_onchip_$PROJ_FNAME$_$CONFIG_NAME$.bin -b $PROJ_DIR$\..\config\iar_boundary.bdef & $TOOLS_BLE_DIR$\oad\oad_image_tool_unsecure.exe iar $PROJ_DIR$ 2 $EXE_DIR$\$TARGET_BNAME$.hex $PROJ_DIR$\..\config\iar_boundary.xcl -o $EXE_DIR$\$TARGET_BNAME$_oad"