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.

CC2650: Bootloader and/or Bios in flash

Part Number: CC2650

Hello everyone

I have always worked on CC2650F128 32Pin 5x5 on which I have an application developed years ago (TI-RTOS 2.16.0.08).

now I had to switch to a CC2650F128 48Pin 7x7 on which I brought the application (currently without bootloader and with bios in ROM): Application as is  working.


Now I must to insert a custom bootloader (for PCB reasons I CANNOT use TI's ROM bootloader) to update via OTA.


I found TI's serial_bootloader project and successfully compiled.

The initial idea was to place this bootloader at the beginning of the flash at 0x0 and place my application at 0x2000, but I realized that if I DON'T bring the BIOS into Flash (leaving it in rom) some areas of the first page are occupied.

Therefore I tried to move the bios in flash but this even if it does not seem to give initial problems (my application starts) in reality sometimes the CC2650 reboots for watchdog (my sw implementation) probably after a few accesses to the internal M0 radio (I seem to have identified the problem on the RF_pendCmd, but I still don't understand the real reason).


Therefore I then tried to go down the road of placing the bootloader on pages 29 and 30 of the flash before the last page containing the ccfg.


In this way the app would remain at the address 0x0 and there would be no need in this case to move the bios to flash (avoiding the problem described above) but the information I am missing is how to start my cc2650 at the poweron from an address other than 0x0.

In fact, in this case at poweron or after a reset I would like the custom bootloader located at address 0x1D000 to be executed first, which would then be configured for the jump at address 0x0.

I hope I was clear enough but summarize my questions:

1 - is it possible to start the cc2650 from an instruction other than 0x0 at the poweron?

2 - if I bring the bios in Flash, in addition to commenting on the relevant section in the .cfg, do I have to do anything else that could otherwise compromise the RF operation?

thanks in advance for the support

Regards

Roberto

  • Hi Roberto,

    Here is the serial bootloader example for reference.

    1) You can modify the m3Hwi.resetVectorAddress inside the *.cfg file to determine the start-up location.  This is commonly used with OAD applications.

    2) There should be no concern with using the BIOS in Flash.  Although it should also be possible to change the flash starting address of the application and stack command linker files (*.cmd) before building to avoid using the first flash page.

    Regards,
    Ryan