Hello. I am an electrical and electronics engineering student, and I am doing an internship. I have designed my own PCB with an STM32F103 series processor and a BNO055 IMU sensor. I have received the PCB. All that's left is to write the code for the board and make it work. To be honest, I have very little knowledge in the software part, especially for STM32. I have seen a few projects that use the STM32 and the BNO055 sensor. While working on these projects, I noticed that they use libraries that they have created themselves (such as bno055_driver.h, i2c_driver.h, bno055_driver.c, etc.). I'm not sure if it's necessary to create these libraries. I couldn't fully understand this part. What should I do to get data from the sensor? I would really appreciate it if you could give me some ideas.
There is driver code for BNO055 on Github(https://github.com/boschsensortec/BNO055_driver). Based on this code, I have written an example program to read sensor data on STM32 for your reference.