I am trying to work out how to use the BHI260AB out of the box without having to load it with firmware. I understand from the datasheet that it has BSX firmware preloaded however the data sheet does not explain how to activate it nor how to configure the device to boot to use it.
Section 5.2 of the data sheet decribes the initialisation and boot modes - of which only 2 methods are described - standalone and host boot mode. These describe booting from an externally connected QSPI flash device loaded with firmware or loading firmware via the host interface. I wish to do neither of these, instead I wish to use the BSX firmware which according to the datasheet is stored internally in the ICCM rom and is sufficient for my needs.
So far I have powered up the device (HOSTBOOT set high) and I am able to read the host interface registers over the I2C bus:
BOOT STATUS reads 0x18 - host interface ready and no flash as expected, HOST STATUS reads 0x01 - sleeping, CHIP ID reads 0x70, CHIP CTRL, HOST INTERFACE CTRL, INTERRUPT CTRL, FEATURE STATUS, INT_STATUS, ERROR all read 0x00. FEATURE STATUS indicates that BSX has not been initialised. The HOST STATUS register indicates that none of the host DMA channels are active therefore there doesn't seem to be the option of writing anything to the DMA command channel.
I have also tried setting HOST BOOT to low and the register results are the same.
The chip has the following printed on it:
The chip appears to be waiting for me to do something further, have I misunderstood the purpose of the preloaded BSX firmware?
Solved! Go to Solution.
The BSX lib function is programed into BHI260AB.
But in order to use the sensor and initialize the sensor properly, you MUST download the FW.
The execution code of BSX is also included in the FW.
You can choose either download FW from host MCU or external QSPI Flash.
But you can't skip FW download steps.