This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/CC2640: Cannot build skeleton project (can build 2640R2F stuff)

Part Number: CC2640
Other Parts Discussed in Thread: BLE-STACK, , , CC2650

Tool/software: TI C/C++ Compiler

Hello,  I can't seem to build even a skeleton CC2640F128 project. 

* I have built the simple_peripheral_cc2640r2lp_app project and successfully run it on the eval board.
* I could not port it to the F128 (our target)  by just switching the CPU, however.
* I tried building a skeleton project - but it fails due to what looks like missing reset code.
* So far I haven't found any refs to the "ResetISR" (see below) code anywhere in the docs.
* Shouldn't a skeleton build without modification? 


SKELETON PROJECT CREATION
-----------------------------

New CCS Project

Target:     SimpleLink Wireless MCU       CC2640F128
Connection: TI XDS2xx USB Debug Probe

Project Name:         Test_CC2640F128
Use Default Location: Checked

Compiler Version: TI v 16.9.6.LTS

(No advanced settings modified)

Project Template:  Empty Project (with main.c)


BUILD RESULTS
------------------------
'Building target: Test_CC2640F128.out'
'Invoking: ARM Linker'
"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.6.LTS/bin/armcl" -mv7M3 --code_state=16 -me -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi -z -m"Test_CC2640F128.map" --heap_size=0 --stack_size=256 -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.6.LTS/lib" -i"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.6.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="Test_CC2640F128_linkInfo.xml" --rom_model -o "Test_CC2640F128.out" "./main.obj" "../cc26x0f128.cmd"  -llibc.a
<Linking>

 undefined first referenced
  symbol       in file    
 --------- ----------------
 ResetISR                 

error #10234-D: unresolved symbols remain
warning #10062-D: entry-point symbol "ResetISR" undefined
error #10010: errors encountered during linking; "Test_CC2640F128.out" not built

>> Compilation failure
makefile:141: recipe for target 'Test_CC2640F128.out' failed
makefile:137: recipe for target 'all' failed
gmake[1]: *** [Test_CC2640F128.out] Error 1
gmake: *** [all] Error 2

**** Build Finished ****


------------------------------------------------------------------------------

  

  • Hi Mark,

    It looks like you are trying to run a CC2640R2 project on a CC2640. If you are using the CC2640, I would recommend starting from the Simple Peripheral project in BLE-Stack v2.2.1.
  • Did you really read my post?

    I tried a BRAND NEW skeleton project FROM SCRATCH for the 2640F128.   

  • Sorry for the curtness but I have been getting very frustrated with the whole CCS environment.   I have been doing embedded SW development for over 30 years and I find the system about as counter-intuitive as it gets.   But I think I get now that the R2 parts require a completely different SDK from the R parts (i.e CC2640R2F vs CC2640F - gee this is not confusing at all) even though everything I have read leads me to believe that they are basically architecturally equivalent.  The data sheets even look the same until you dig.  So why would one assume that you need a completely different SDK?   And why would a CC2640F128 CPU option present itself if the correct SDK was not installed in the first place?

  • Hi Mark,

    You are correct: the two devices have the same architecture, however they have different code in ROM. The CC2640R2 was created to be flash optimized for Bluetooth 4.2 features. In addition, the CC2640R2 is a part of the SimpleLink MCU SDK platform while the CC26x0 is not.

    Our recommended procedure for starting new project development, at least from a BLE perspective, is to choose the GAP role that you want to use and find the matching simple_ project. So, for the case above, you would use the simple_peripheral project from the BLE-Stack v2.2.1 SDK. This allows you to start with validated project settings so you don't end up with frustrating problems like above.

    If you want general guidance and information on getting started with BLE on the CC2650, you can review the Getting Started section of the Software Developer's Guide (Pg. 13-15). You can also go through SimpleLink Academy if you want a more in depth explanation of using stack APIs: software-dl.ti.com/.../overview.html

    For non-BLE projects, I would recommend getting started with TI Drivers examples that are shipped with TI-RTOS.