We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I think there is a mistake in keil middlewares ver 6.x, keil should defines API functions for bottom layer of its middleware for micro/hardware interface and we as users can write our drivers according to keil APIs, keil can also provide this drivers layer according to stm32cube, but we as users can replace it with our custom drivers.
with this new keil method there is no way for user and we have to use stm32cube.Keil should give freedom to users to select stm32cube driver or user custom driver.
In current version you MUST use stm32cube + middleware or leave both and use your own middleware.
I hope keil modify its procedure for lower layer APIs and give us freedom to select drivers.
Bottom layer API for middleware is well defined, it uses CMSIS Driver V2 API (documentation can be found here: http://www.keil.com/pack/doc/CMSIS/Driver/html/index.html).
Therefore, if you don't like the provided drivers or they are not suitable for your requirements, you can still write your own drivers and add them into the project.
thanks.
If keil support ST standard lib for its middleware it was better for many users that use it for a long time.
Supporting both ST Standard lib and stm32cube is possible for keil.
Also, if you would like to use the ST peripheral library, just download it from ST site and add it to the project :)