I have found different statements about whether using bmi08a_load_config_file, which transfers a 6 KiB binary object to the sensor using reserved registers, is a mandatory initialization step, before reading accelaration data, or not:
@BSTRobin states that loading the config file is a mandatory step before getting data.
In another post, @Mark2018 writes:
5. The config file contains the configuration for the sync feauture, the feature will not work without loading that config into the sensor. But the configuration does not effect the quality of the sensor signals, the sensor works fine without the configuration.
This suggests that loading the config file is not mandatory, if one doesn't need data synchronization. It also appears from my own tests with a BMI088, that I can read acceleration data out of the sensor, even without loading the config file.
Since the download of that config data utilizes registers documented as "reserved", I would find it helpful if the data sheets could be updated with a short explanation about the config file and feature configuration functionality and the exact conditions, when it should/must be used. Also, there exist tables like the one in this reply, that I could not find in recent datasheets (2021/Nov and 2022/Jan) or the Design Guide .
In this context, in the Github driver, bmi08a.c in line 2888 regarding reserved registers ACCEL_INIT_CTRL/ACCEL_INTERNAL_STAT contains the comment
/* Wait till ASIC is initialized. Refer the data-sheet for more information */
but the actual information in the data sheets appears to be missing.
BTW, does loading the 6 KiB config file alter the sensor in a permanent way, e.g. by some flash like mechanism? Or is the change lost after removing power?
It didn’t mention in BMI08x data sheet that BMI08x had this limitation of 32 byte.
On the other hand, the SPI length supported by host MCU may be greater than 32 bytes.
So you could ignore the comment: "maximum supported length is 32" in bmi8x_defs.h.