How to program BCM20736 without changing the BTP file each time

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi all,

Per the discussion here on preserving the BD_ADDR on each subsequent programming of the part: How to program BCM20736 without changing MAC Address


I'm sorry to jump in late into this discussion. I'm using Mac OS X, and the BCM920737TAG board. I mainly use the command line:

./make <app>-BCM920737TAG_Q32 download

to download code to the board, and don't use the IDE. Following this thread, I added a new target to the Makefile for download, and included the -NOERASE flag to it:

download_using_chipload_no_erase:

  $(QUIET)$(ECHO_BLANK_LINE)

  $(QUIET)$(eval UART:=$(shell $(CAT) < com_port.txt))

  $(QUIET)$(if $(UART), \

          $(ECHO) Downloading application leaving EEPROM intact... && $(call CONV_SLASHES,$(CHIPLOAD_FULL_NAME)) -BLUETOOLMODE -PORT $(UART) -BAUDRATE $(PLATFORM_BAUDRATE) -MINIDRIVER $(SOURCE_ROOT)Platforms/$(PLATFORM_FULL)/$(PLATFORM_MINIDRIVER) -NOERASE -BTP $(SOURCE_ROOT)Platforms/$(PLATFORM_FULL)/$(PLATFORM_BOOTP) -CONFIG build/$(OUTPUT_NAME)/$(OUTPUT_NAME).hex -CHECKCRC -NOVERIFY -DLMINIDRIVERCHUNKSIZE 251 > build/$(OUTPUT_NAME)/download.log 2>&1 \

          && $(ECHO) Download complete && $(ECHO_BLANK_LINE) && $(ECHO) $(QUOTES_FOR_ECHO)Application running$(QUOTES_FOR_ECHO) \

          || $(ECHO) $(QUOTES_FOR_ECHO)****Download failed - Press the reset button on the device and retry ****$(QUOTES_FOR_ECHO), \

          $(ECHO) Download failed. This version of the SDK only supports download to BCM20736A1 and BCM20737A1 devices)

Note that the other change suggested by arvinds  (adding -O DLConfigFixedHeader:0 to create_ota_image) is already in the Makefile.

However, when I change the line

DLConfigBD_ADDRBase = "20737A000002"

in the 20737_EEPROM.btp file, it does indeed erase the old value and replace it with the new value. So, it doesn't work as suggested in this thread. Any help is greatly appreciated. I would like to find a way to download code to different boards without having to change the .btp file each time.

Thanks,

Arvind

0 Likes
1 Solution

To explain a little on my approach. I changed the base address when I carried out the cgs conversion to hex. In doing so, I make sure that those sectors where the BD address is stored are not touched during the re-write. In fact, if you opened up the HEX files (one with -O DLConfigFixedHeader:0 and the other without) and compared them, you will understand what I meant. For your thoughts.

Did you manage to sort it out? arvindraghavan

View solution in original post

0 Likes
10 Replies