Bosch Sensortec Community

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    BHI260AP issue

    mgchoi
    New Poster

    BHI260AP issue

    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.

     

    5 REPLIES 5
    BSTRobin
    Community Moderator

    Re: BHI260AP issue

    Hi mgchoi,

    Are you using the BHI260AP Shuttle board or the customer board when your downloding firmware to Flash?

    Klio is the example of self-learning.

    mgchoi
    New Poster

    Re: BHI260AP issue

    Yes, I downloaded firmware to Flash using BHI260AP 3.0 ver. However, the Application Board is being tested using the MCU we will use.

    mgchoi
    New Poster

    Re: BHI260AP issue

    Is there any other answer to the above situation?

    BSTRobin
    Community Moderator

    Re: BHI260AP issue

    Hi mgchoi,

    Enable macro definition UPLOAD_FIRMWARE_TO_FLASH and run BHI260AP example code https://github.com/boschsensortec/BHY2-Sensor-API/blob/master/examples/euler/euler.c on STM32 with BHI260AP shuttle 3.0, it worked well on my side.

    Pleae refer log print:
    StartBHI260Task
    BHI260/BHA260 found. Product ID read 89
    Host interrupt control
    Wake up FIFO enabled.
    Non wake up FIFO enabled.
    Status FIFO disabled.
    Debugging disabled.
    Fault enabled.
    Interrupt is active high.
    Interrupt is level triggered.
    Interrupt pin drive is push-pull.
    Flash detected. Erasing flash to upload firmware
    Loading firmware into FLASH.
    Booting from FLASH.
    Boot successful. Kernel version 5991.
    [META EVENT WAKE UP] Firmware initialized. Firmware version 5991
    [META EVENT] Firmware initialized. Firmware version 5991
    Enable Accelerometer corrected wake up at 50.00Hz.
    Enable Gyroscope wake up at 50.00Hz.
    Enable Magnetometer wake up at 50.00Hz.
    Enable Orientation wake up at 50.00Hz.
    [META EVENT WAKE UP] Power mode changed for sensor id 6
    [META EVENT WAKE UP] Sample rate changed for sensor id 6
    [META EVENT WAKE UP] Power mode changed for sensor id 15
    [META EVENT WAKE UP] Sample rate changed for sensor id 15
    ,ACC,x,-3165,y,-495,z,-2323,accuracy,0
    [META EVENT WAKE UP] Accuracy for sensor id 6 changed to 0
    [META EVENT WAKE UP] Power mode changed for sensor id 24
    [META EVENT WAKE UP] Sample rate changed for sensor id 24
    [META EVENT WAKE UP] Power mode changed for sensor id 44
    [META EVENT WAKE UP] Sample rate changed for sensor id 44
    ,GYRO,x,351,y,1523,z,680,accuracy,0
    [META EVENT WAKE UP] Accuracy for sensor id 15 changed to 0
    ,MAG,x,306,y,325,z,-245,accuracy,0,
    [META EVENT WAKE UP] Accuracy for sensor id 24 changed to 0
    ,GYRO,x,129,y,1440,z,672,accuracy,0
    ,MAG,x,306,y,325,z,-245,accuracy,0,
    ,ACC,x,-2708,y,-558,z,-2491,accuracy,0
    ,MAG,x,-172,y,99,z,1293,accuracy,0,
    Euler,h,358.945313,p,169.266357,r:-45.296631,accuracy,0
    [META EVENT WAKE UP] Accuracy for sensor id 44 changed to 0
    ,GYRO,x,-154,y,1758,z,1209,accuracy,0
    ,ACC,x,-2587,y,-504,z,-2735,accuracy,0
    ,MAG,x,478,y,230,z,-472,accuracy,0,
    Euler,h,340.048828,p,171.518555,r:-42.692871,accuracy,0
    ,GYRO,x,198,y,2504,z,1762,accuracy,0
    ,ACC,x,-2733,y,-49,z,-2844,accuracy,0
    ,MAG,x,481,y,224,z,-460,accuracy,0,
    Euler,h,342.641602,p,173.616943,r:-39.902344,accuracy,0
    ,GYRO,x,190,y,2674,z,1742,accuracy,0
    ,ACC,x,-2692,y,66,z,-2877,accuracy,0
    ,MAG,x,487,y,209,z,-442,accuracy,0,
    Euler,h,344.882813,p,175.451660,r:-36.958008,accuracy,0


    You could refer attached example code and check the difference with your code.

     

    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