Hi I want to make a simple ethernet project by uvision 5.2 using ST'stm32f7 series.(without using HAL library just with cmsis and RTX)
when it comes to package selection cmsis ethernet mac driver asks for hal drivers while people in uvision 4.7 do this kind of projects without any stm32f7 HAL driver libraries. the question is why uvions package manager is asking for stm32f7 hal driver ?
AIUI, the packages are provided by the silicon manufacturer - ie, ST in this case.
So, ST aren't going to be inclined to re-invent that particular wheel?
Probably because the HAL is CMSIS compliant, provides needed definitions, and Keil doesn't want to handle the maintenance of vendor specific stuff, rather just the "middle" ware common stuff.
And for that matter supporting a universe of people auto-generating code with CubeMX using HAL/LL
CMSIS defines I/O bus address etc and is vendor independent(i mean it is provided by ARM not vendor) as are network interfaces packages in uvision.
i have no idea why ST's HAL libraries are required .
update : i have just uploaded a screen shot to clarify the question !
link : uupload.ir/.../82jp_keil_ethernet.jpg
CMSIS also covers defines, and supporting source, as provide by the VENDOR, in a form desired by ARM
Here it is pulling DEFINES, CLOCKING/BUSING and GPIO, stuff that is entirely outside the ARM CORE.
KEIL has to exist in a universe of libraries that everyone else is utilizing, using pieces provided by THIRD PARTIES, so it can be inter-operable with that, rather being isolated, and alone.
I have concluded you don't really understand the scope of "CMSIS"
If you really want to find out, take a look at what part(s) of the ST HAL are being used, and then see if it/they already exist(s) within CMSIS ...
See: http://www.keil.com/pack/doc/CMSIS/Pack/html/index.html
you are right i have just noticed EMAC_STM32F7xx.h ( which is related to the package i mentioned earlier) have an include line as this
#include "Driver_ETH_MAC.h"
#include "stm32f7xx_hal.h" <------------------ this one is hal driver
so it seems this package actually uses ST's HAL drivers .