Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BHI260AP issue

    BHI260AP issue

    mgchoi
    New Poster

    Hi, BOSCH

    1. To download firmware to BHI260 I understand that there are two kinds.
         First, downloading to Flash works fine, but it doesn't run.
         Timeout error after booting_from_flash.
         No matter how many times I read the register, it is not normal.


    2. Second, RAM downloads well, works well, and reads kernel versions well.
         What I expect from these problems is, The firmware download routine (because the RAM works well) does not appear to be a problem.
         There seems to be a problem with what is written in Flash, or there seems to be a problem with the firmware applied to Flash.

    3. Third, if you look at the bhi260 datasheet, it says that when writing firmware on flash, you should write firmware on 0x1F84.
         Flash descriptor is written on the first sector of Flash.
         The flash descriptor contains information about flash.
         It works without it.
         Without Flash decipher, it only works in the default SPI mode (slow and operational).
         When you apply the flash descriptor, it operates in full operation mode. QSPI is said to be available (because it is set to maximum).
         However, there is no mention of this in the relevant example of github. (On the code)

    4. The example and related sources you are using were downloaded from https://github.com/BoschSensortec/BHY2-Sensor-API and tested.

    5. For your information, I wrote a question using load_firmware in the example folder.

    6. I understand files such as Euler and Quaternion among example files, but what is 'Klio' file?

    mgchoi_1-1673917500581.png

    Currently, the development board used for the BHI260 shuttle is not using the one provided.
    If the source of the development board is provided separately, I would like to receive it.

    One more thing, if you look at all the applications in the example, after booting up, you can see that.

    mgchoi_0-1673917194342.png

    Like this, the contents of unconditionally erasing and writing flash are all the same.
    Normally, I only need to use it once for flash.
    I don't understand why the example source is configured this way.

     

    6 REPLIES 6

    Thanks, BSTRobin

    Based on the data you sent me, I checked that it works well when I did it again.

    However, if you look at the datasheet in the Flash descriptor section below, you need to fill out the information, but I don't understand this part. To use QSPI, you need to use the Flash descriptor part, is there any related example code or data?
    It's not detailed in Datasheet.

    3. Third, if you look at the bhi260 datasheet, it says that when writing
    firmware on flash, you should write firmware on 0x1F84.
    Flash descriptor is written on the first sector of Flash.
    The flash descriptor contains information about flash.
    It works without it.
    Without Flash decipher, it only works in the default SPI mode (slow and
    operational).
    When you apply the flash descriptor, it operates in full operation mode.
    QSPI is said to be available (because it is set to maximum).
    However, there is no mention of this in the relevant example of github. (
    On the code)

    BSTRobin
    Community Moderator
    Community Moderator

    Hi mgchoi,

    If you only load firmware on the host MCU, you don't need to care about Flash descriptor. Because the operation of reading and writing Flash is implemented in the firmware, that is, the SDK of BHI260AP(development environment for generating firmware)  contains Flash operations, including Flash descriptor.

    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist