How to program the OTP with the Proximity Reporter application in the SDK?

6 posts / 0 new
Last post
hull39
Offline
Last seen:5 years 12 months ago
Joined:2014-07-08 16:28
How to program the OTP with the Proximity Reporter application in the SDK?

Hi,
I'm trying to reproduce the result shown in Fig. 1 of AN-B-011 "Cold Boot Timing and Power Details."

I would like to burn the Proximity Reporter application into the OTP, unplug the daughter board from the mother board and have the chip do a cold boot when 1.5 VDC is applied to the correct pin.

So far I've compiled the reporter_fh project and burned the full_emb_sysram.hex that was produced into flash. That worked great and the motherboard+daughterboard boot when the USB input to the daughterboard is attached to a 5VDC source. I can see the BLE advertising packets on a sniffer.

I assume the following next steps are required:
1.编辑reporter_fh / da14580_config。跳频和改变the following values:
a. replace "#define DEVELOPMENT_DEBUG 1" with "#define DEVELOPMENT_DEBUG 0"
b. replace "#undef APP_BOOT_FROM_OTP" with "#define APP_BOOT_FROM_OTP"
c. replace "#undef READ_NVDS_STRUCT_FROM_OTP" with "#define READ_NVDS_STRUCT_FROM_OTP"

2. recompile reporter_fh and generate a new full_emb_sysram.hex

3. use OTP Programmer in Smart Snippets to burn full_emb_sysram.hex into the OTP image. The default settings of Smart Snippets sets offset in OTP memory = 0000

4. use OTP Programmer in Smart Snippets to burn the default OTP header but make the following changes before burning:
a. change Application Flag 1 from No to Yes
b. change Application Flag 2 from No to Yes
c. change 0x47FF4 (Remapping Flag) from "SRAM at 0" to "OTP at 0"
d. change 0x47FFC (JTAG enable flag) from Enabled to Disabled
I would retain the other defaults:
0x47F70 (package used) = WLCSP, 0x47F74 (32 KHz source selection) = XTAL32KHz, 0x47FD0 (Signature Algorithm) = None,

5. do NOT burn anything into the NVDS. Is this correct?

Then, I assume the OTP will contain the reporter_fh application and when I disconnect the daughterboard from the motherboard and apply a 1.5 VDC source to the correct pin, the chip will cold boot and reporter_fh will perform just like it did when it booted from flash.

Is this all correct? Did I miss anything?

Thanks,
Jon

MHv_Dialog
Offline
Last seen:1 week 5 days ago
Staff
Joined:2013-12-06 15:10
Hi Hull39,

Hi Hull39,

You will have to modify the daughter card hw to operate in boost mode. The daughterboard schematic specifies the required change.

hull39
Offline
Last seen:5 years 12 months ago
Joined:2014-07-08 16:28
Hi Mikael,

Hi Mikael,
In addition, at your suggestion (thanks for that), in step 4, I read the OTP Header values first then modified them as mentioned above before burning the header.
That preserved some trim values that were on the chip but were unknown to Smart Snippets.

I also made sure to burn the image before burning the header.

This gave me a daughter board that runs from a 3V source. The hardware modification to run it in boost mode is being done now.

Thanks,
Jon

MHv_Dialog
Offline
Last seen:1 week 5 days ago
Staff
Joined:2013-12-06 15:10
Hi Jon,

Hi Jon,

That is good news. And as you mentioned, reading the OTP settings before you edit them retains important data already stored there.

After you do the hardware mods for boost operation, make sure that you set the jumpers correctly on the motherboard. It took me a long time to realize that I should move J14 to pin 1 and 2 ;o)

If you want to run the boost mode configured daughtercard without plugging it into the motherboard, you should supply it - not thru VBAT; but through VBAT1V (BR7 on connector)

hantig
Offline
Last seen:3 years 2 months ago
Joined:2017-07-03 17:01
How to read and write on

How to read and write on Internal eeprom in da14580 ?

MT_dialog
Offline
Last seen:2 weeks 3 days ago
Staff
Joined:2015-06-08 11:34
Hi hantig,

Hi hantig,

There is no internal EEPROM on the 580, the 580 has only an OTP from which the device mirrors the contents to the sysram. The OTP can only be written once using the Smart Snippets tool and the OTP burner tool.

Thanks MT_dialog