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.

CC2640R2F: oad question

Part Number: CC2640R2F


I am working on my project based on sdk 1.40, oad sample project.

I made it work, for example, I name it version 1.0,  then I modify some code, name it version 2.0.

if I program 1.0 hex, and oad 1.0 bin, it is ok.

program 2.0 hex, and oad 2.0 bin, ok.

but,   1.0 hex, oad 2.0 bin,   not work, no adv and no helloworld I print.

2.0 hex oad to 1.0 bin, the same issue.

is there anything important I missed?

  • It’s difficult to judge what’s the problem on your case. If you test simple_peripheral off-chip OAD example, does it work? If it does, I would suggest you to do your OAD application based on simple_peripheral OAD example.

  • yes my project is based on simple_peripheral OAD example.

    question: does the bin include app and stack?

    I am tracking the issue, doubt, if I modify the stack, will cause oad fail? why?  the bin should be whole and dependent to nothing?

  • Yes, the bin includes app and stack. I don’t think modifying the stack will cause oad fail

  • I have made a test, I program hex (bim+stack+app) to sdk board, then I modify the stack a little, changed a function return value, and check it in app,  I build the stack and then app, generate new bin.

    I found that after oad (success), no change, not get the new return value, which means, no stack update during this process,  where is the problem?

  • I test again and get the same result, I am sure no stack update in bin or in oad process.  

    please give some suggestion where to check the related setting,   how to make the bin include app and stack.

    backgroud: CC2640R2F, sdk 1.40,  oad sample project.

  • SDK 1.40 is obsolete. I would suggest you to use latest SDK 3.20.

  • yes I know, and I am moving to latest version, but our product keep shipping.

    could you please tell me where/how to set,  set the bin as include app+stack,   or app only, or stack only.    

    I read some document and think there is this concept, but do not find how.

  • also, need to know, very important, current 1.40 oad project,  can oad latest 3.20 oad project, right? 

    it is very important as our product is already in customer field use, it will be trouble if they lost oad feature if we move to 3.20.

  • Latest time I said app including stack part is based on latest SDK 3.20. I don’t remember exactly if app including stack part in SDK 1.40. However, SDK 1.40 also include OAD example and it should work if you follow OAD guide exactly in SDK document.

  • following up, 

    there is no oad sample project in 3.20 sdk, so that I can not have reference and test.

    I keep investigate the project setting, find two key setting:

    1   in app project, there is icf file, it is cc26xx_app_oad.icf,  for option, there is cc26xx_app_and_stack_oad.icf,  I guess I should use cc26xx_app_and_stack_oad.icf?  how this icf fuction?

    2 I find it is very important step called post build, my cmd is 

    cmd /C "$TOOLS_BLE_DIR$\output_converter\output_converter.exe $EXE_DIR$\$TARGET_BNAME$.bin -a 0x10 & $TOOLS_BLE_DIR$\oad\oad_image_tool.exe $EXE_DIR$\$TARGET_BNAME$.hex -t offchip -i app --imgVer 0 -ob $EXE_DIR$\$TARGET_BNAME$.bin -m 0x0000 --r 0x0000"

    after test and investigate, I find it do two things:  1,  convert app bin to app hex,     2, convert app hex to app bin with oad information 

    I try use oad_image_tool.exe to convert app hex and stack hex into one bin with oad information but not succeed. 

    could you please give me an example (command line) of how to convert app hex and stack hex into one bin with oad information?

  • There is simple_peripheral_oad_offchip in blestack of SDK 3.20.