Other Parts Discussed in Thread: UNIFLASH
Has it ever been resolved that this is possible?
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.
Has it ever been resolved that this is possible?
Hi Alexander,
It is possible to perform OAD off-chip without a 32 kHz external crystal oscillator. Please refer to SWRA499 and the BLE Enhanced OAD SimpleLink Academy Lab for SIMPLELINK-CC2640R2-SDK v5.30. Please report any specific issues or errors you encounter.
Regards,
Ryan
xor_128 <whole-program>
error #10234-D: unresolved symbols remain
warning #10063-D: entry-point symbol other than "_c_int00" specified: "startup_entry"
>> Compilation failure
Once following the above without even adding the 32khz less part, I get this error
is the guide for ble-5 only as that is what is used in the example at the end, i get the above error on building the stack?
You should be importing the simplelink_cc2640r2_sdk_5_30_00_03\examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral_oad_offchip example and ensuring that all of the correct Dependencies listed in the Release Notes are used. There is also the BLE-Stack User's Guide which can be referenced. Are you able to build non-OAD BLE examples?
Regards,
Ryan
yes that is the example I can build, however in this isntance I am following the guidance you provided adding OAD to multirole, i can build the OAD project separately, but when adding the 32khz mode it advertises but times out when attempting to connect, my project is is a simple peripheral with sensor readings being saved to a mx25l6433f that i will to use for the OAD purpose also, but all attempts at adding OAD to this project have either thrown various errors or advertised and not connected, hence my above question
Hi Alexander,
Thank you for reaching out.
As mentioned by Ryan, it is possible to perform OAD off-chip without a 32 kHz external crystal oscillator
Having a project able to advertise but not to connect is generally the sign of issues with the LF crystal or its configuration. May I kindly ask you if the CCFG set in the BIM project is correct for no-LF crystal operation?
In addition to that, the SCA (sleep clock accuracy) set by the peripheral should be 500ppm.
I hope this will help,
Regards,
Hi there, yes HCI_EXT_SetSCACmd(500); sleep clock accuracy was already being set to 500 and the CCFG file is the RCOSC one and the other has been excluded from the build, there is no issue with crystal as other projects none OAD work fine on our boards
Hi,
Could you please confirm the CCFG file you are referring to is part of the BIM project? (not part of the app, persistent app or library project)
Could you also run a test using the same images but running on a board with a 32-kHz crystal?
Bets regards,
it is within the application folder of the BIM, yes it works on a launchpad with the 32khz
Hi,
When the OAD project is configured for crystal-less operation, does it work without crystal until the first software update, or does it stop working right away?
Regards,
it stops working straight away, it advertises but timesout on first connection, then when on a launchpad advertises and is connectable
Hi,
Ok, thank you for telling me.
Could you please try to flash the device once with the image for crystal-less operation, and once for with-crystal operation? Then dump the device's Flash (either using CCS, Uniflash or Flash Programmer) and verify the flashes' content is identical to what has be flashed at first. The page containing the CCFG should be particularly reviewed and a diff between the crystal-less and the with-crystal should be performed on this specific page.
Bets regards,
I managed to get it working, by deleting the project and merely adding it again and adding the RCOSC ect, doing exactly how I had previously, however it only works in debug mode, when disconnected from power it does not turn back on and when using flash programmer it it doesnt advertise either when flashing the bim, stack and then app...
could it be my flash storage isnt functioning correctly in the bim? mx25l6433f is this supported without changes? the pinout has been changed to be correct
functional and advertising with LEDs on from CCS then from btool with the BIN file not
so, correct me if i am wrong, I now realise that this should never load correct? due to me needing to use srec_cat to join the BIM with the App, i am however getting this error when using srec_cat
\FlashOnly\bim_oad_offchip_cc2640r2lp_app_FlashOnly.hex:
210: file contains no data
210: file contains no data
bash: -intel: command not found
bash: -bin: command not found
https://srecord.sourceforge.net/man/man1/srec_examples.html the link provided on the OAD guide is no longer functional for examples
Hi Alexander,
Great to see you are making progress!
If understand properly, you are now in the situation where the system works only when the debugger is attached, is it correct?
This kind of behavior may be caused by the absence of the BIM in the device's flash. Could you please make sure you flash the BIM image at the same time as the same time as the application?
If this does not help, you may want to try to disable power saving (for testing only) and see whether the results are different.
\FlashOnly\bim_oad_offchip_cc2640r2lp_app_FlashOnly.hex:
You should not use the "Flash only" configuration. In this configuration, the stack is duplicated outside of the ROM (i.e. in Flash). This configuration is useful for debugging of Bluetooth stack issues, but I am not sure you can actually generate it with the public SDK.
I am sorry for the broken link. You may eventually use this link: https://web.archive.org/web/20220325021511/http://srecord.sourceforge.net/man/man1/srec_examples.html
I hope this will help,
Best regards,
thanks for your reply. so yes I read that loading the bim, stack and then app, the device will not auto restart when losing power or working with the images through flash programmer, on the guide it loads the multirole app and stack merged with the bim_flash_only this is what i have been attempting, using the srec_cat is this not necessary , should it just restart? I will try the above
"C:\Program Files\srecord\bin\srec_cat.exe" "C:bim_oad_offchip_cc2640r2lp_app\FlashOnly\bim_oad_offchip_cc2640r2lp_app.hex"
-intel C:simple_peripheral_cc2640r2lp_oad_offchip_app\FlashROM\simple_peripheral_cc2640r2lp_oad_offchip_app_FlashROM_oad.bin
-bin -o mutli_role_oad_production.hex -intel
srec_cat:
bim_oad_offchip_cc2640r2lp_app\FlashOnly\bim_oad_offchip_cc2640r2lp_app.hex:
1: warning: ignoring garbage lines
srec_cat:
bim_oad_offchip_cc2640r2lp_app\FlashOnly\bim_oad_offchip_cc2640r2lp_app.hex:
210: file contains no data
bash: -intel: command not found
bash: -bin: command not found
with power saving off on the BIM alot of errors are thrown, power saving off on the App, the behaviour is no different
whilst waiting for information regarding building the production image that will work after power cycle ect, I have been porting our code across from the simple_peripheral project to the OAD I am getting these errors
undefined first referenced
symbol in file
--------- ----------------
GAPBondMgr_LinkEst <whole-program>
GAPBondMgr_LinkTerm <whole-program>
GAPBondMgr_SetParameter <whole-program>
GAP_EndDiscoverable <whole-program>
GAP_GetParamValue <whole-program>
GAP_MakeDiscoverable <whole-program>
GAP_SetParamValue <whole-program>
GAP_TerminateAuth <whole-program>
GAP_TerminateLinkReq <whole-program>
GAP_UpdateAdvertisingData <whole-program>
GAP_UpdateLinkParamReq <whole-program>
GAP_UpdateLinkParamReqReply <whole-program>
GATTServApp_RegisterService <whole-program>
GATT_Indication <whole-program>
GATT_Notification <whole-program>
GATT_bm_alloc <whole-program>
GATT_bm_free <whole-program>
HCI_EXT_SetSCACmd <whole-program>
linkDBNumConns <whole-program>
linkDB_State <whole-program>
osal_ConvertUTCSecs <whole-program>
osal_ConvertUTCTime <whole-program>
osal_getClock <whole-program>
osal_setClock <whole-program>
osal_snv_read <whole-program>
osal_snv_write <whole-program>
startup_entry <whole-program>
I believe this is due to simple_peripheral having both STACK_LIBRARY and __cplusplus defined, but when defining them in the OAD project more unresolvable issues arise, can you give me any insight here?
undefined first referenced
symbol in file
--------- ----------------
GATTServApp_RegisterService <whole-program>
osal_ConvertUTCSecs <whole-program>
osal_ConvertUTCTime <whole-program>
osal_getClock <whole-program>
osal_setClock <whole-program>
the list is this one sorry
I have also been trying to add OAD to my old project, currently the errors on this attempt are
undefined first referenced
symbol in file
--------- ----------------
flashEndAddr <whole-program>
prgEntryAddr <whole-program>
oad_image_header is there something I should be importing?
also i think the guide is missing the need to add the below
#define CONN_EVENT_TO_INDEX(x) (sizeof(unsigned int) * 8 - 1 - __clz((unsigned int) x))
for the below to work, as i dont see it imported on any projects, maybe its because its the newest sdk, im not sure
#define OAD_CONN_EVT_END_EVT CONN_EVENT_TO_INDEX(MAX_NUM_BLE_CONNS)
Hi,
Wrt:
bim_oad_offchip_cc2640r2lp_app\FlashOnly\bim_oad_offchip_cc2640r2lp_app.hex:
210: file contains no data
Best regards,
Hi,
flashEndAddr <whole-program>
prgEntryAddr <whole-program>
These are two variables holding the addresses of the flash end and the program entry. They should be defined based on the place you have flashed the image.
I hope this will help,
Regards,
i was looking at the OAD project and cannot see where this is done?
also any news on creating the merged OAD image?
I have been building the stack and the app with flashrom but the BIM only has these configurations
Hi,
For the bim, this sounds like the correct approach. I thought you were referring to the Bluetooth LE project.
Regards,
so it should work as i have followed that guide? the is something wrong with the way i am using the srecord then?
Hi,
You should check the file is not empty as mentioned in the error message.
In addition, make sure the versions of the OS and all the other tools match the versions mentioned in the release notes.
Hope this will help,
Regards,
C:\Users\alexm\Documents\MedEngine\flt-37-oad\bim_oad_offchip_cc2640r2lp_app\FlashOnly\bim_oad_offchip_cc2640r2lp_app_FlashOnly.hex:
1: warning: ignoring garbage lines
srec_cat:
C:\Users\alexm\Documents\MedEngine\flt-37-oad\bim_oad_offchip_cc2640r2lp_app\FlashOnly\bim_oad_offchip_cc2640r2lp_app_FlashOnly.hex:
210: file contains no data
It contains 210 lines of hex
SimpleLink CC2640R2 SDK 5_30_00_03 was built & tested on a Windows host platform using the following Integrated Development Environments (IDEs) and components. Using an IDE or toolchain version not listed below may result in compatibility issues with this SDK release.
utilising all of the above
adding these to the stack on simple peripheral is impossible as it does not use the arm linker it uses the archiver, how can i proceed?
undefined first referenced
symbol in file
--------- ----------------
GATTServApp_RegisterService <whole-program>
osal_ConvertUTCSecs <whole-program>
osal_ConvertUTCTime <whole-program>
osal_getClock <whole-program>
osal_setClock <whole-program>
i know the above is that they arent being imported/included corectly however it is entirely copied from the functional none OAD project imported exactly the same way correctly and I cannot see why they are no functionally imported in the OAD project
https://www.ti2k.com/52292.html - gatt.h is imported as well as gattservapp.h where appropriate for the GATTServApp_RegisterService I am really at a loss..
Hi,
I read this thread and from what I know it is easy to modify simple peripheral stack library project without the 32 Khz crystal. But there is no guide for the simple peripheral off chip OAD example program.
-kel
creating a build image from the ext_flash_bim gives me the same error for a shorter file
$ "C:\Program Files\srecord\bin\srec_cat.exe" "C:bim_extflash_cc2640r2lp\FlashOnly\bim_extflash_cc2640r2lp.hex"
srec_cat:
C:bim_extflash_cc2640r2lp\FlashOnly\bim_extflash_cc2640r2lp.hex:
1: warning: ignoring garbage lines
srec_cat:
bim_extflash_cc2640r2lp\FlashOnly\bim_extflash_cc2640r2lp.hex:
114: file contains no data
so against my better judgment even though everything was being imported correctly and it shouldve loaded the above i just moved the osal ect into the application location, and it runs, it runs through all our custom periodic tasks, but is not discoverable, on pause it shows prcmsleep, but any breakpoint in our periodic tasks are hit, could this to be to do with the BIM as the empty project in debug at least advertised, the error persists for both BIM ext flash and for the OAD offchip, is there any other method of creating tthis build image as srecord continues to throw the above error
hardware interrupt with rcosc enabled
runs fine and advertises with it commented out, OAD project.. not sure if there is a quick fix for this..
custom hardware
Hi Alexander,
Could you please open a new thread for this last issue?
Thanks and regards,