STM32F401 in CMSIS/HAL driverji

Moderator: tilz0R

STM32F401 in CMSIS/HAL driverji

OdgovorNapisal/-a s54mtb » 21 Mar 2015, 01:16

Ko želim uporabiti karkoli od CMSIS driverjev (novi HAL) na STM32F401RBT dobim cel kup napak pri vsakem od driverjev.

Primer pri USB
Koda: Izberi vse
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(102): error:  #20: identifier "GPIOF" is undefined
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DP_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(102): warning:  #223-D: function "__GPIOF_CLK_ENABLE" declared implicitly
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DP_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(102): error:  #20: identifier "GPIOG" is undefined
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DP_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(102): warning:  #223-D: function "__GPIOG_CLK_ENABLE" declared implicitly
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DP_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(102): error:  #20: identifier "GPIOI" is undefined
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DP_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(102): warning:  #223-D: function "__GPIOI_CLK_ENABLE" declared implicitly
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DP_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(112): error:  #20: identifier "GPIOF" is undefined
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DM_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(112): warning:  #223-D: function "__GPIOF_CLK_ENABLE" declared implicitly
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DM_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(112): error:  #20: identifier "GPIOG" is undefined
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DM_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(112): warning:  #223-D: function "__GPIOG_CLK_ENABLE" declared implicitly
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DM_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(112): error:  #20: identifier "GPIOI" is undefined
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DM_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(112): warning:  #223-D: function "__GPIOI_CLK_ENABLE" declared implicitly
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_DM_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(123): error:  #20: identifier "GPIOF" is undefined
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_ID_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(123): warning:  #223-D: function "__GPIOF_CLK_ENABLE" declared implicitly
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_ID_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(123): error:  #20: identifier "GPIOG" is undefined
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_ID_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(123): warning:  #223-D: function "__GPIOG_CLK_ENABLE" declared implicitly
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_ID_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(123): error:  #20: identifier "GPIOI" is undefined
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_ID_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(123): warning:  #223-D: function "__GPIOI_CLK_ENABLE" declared implicitly
      __GPIOx_CLK_ENABLE            (MX_USB_OTG_FS_ID_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(136): error:  #20: identifier "GPIOF" is undefined
        __GPIOx_CLK_ENABLE          (MX_USB_OTG_FS_VBUS_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(136): warning:  #223-D: function "__GPIOF_CLK_ENABLE" declared implicitly
        __GPIOx_CLK_ENABLE          (MX_USB_OTG_FS_VBUS_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(136): error:  #20: identifier "GPIOG" is undefined
        __GPIOx_CLK_ENABLE          (MX_USB_OTG_FS_VBUS_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(136): warning:  #223-D: function "__GPIOG_CLK_ENABLE" declared implicitly
        __GPIOx_CLK_ENABLE          (MX_USB_OTG_FS_VBUS_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(136): error:  #20: identifier "GPIOI" is undefined
        __GPIOx_CLK_ENABLE          (MX_USB_OTG_FS_VBUS_GPIOx);
C:\Keil\ARM\PACK\Keil\STM32F4xx_DFP\2.3.0\CMSIS\Driver\OTG_FS_STM32F4xx.c(136): warning:  #223-D: function "__GPIOI_CLK_ENABLE" declared implicitly


Hec je, da teh GPIO-jev nan tej "embalaži" sploh ni.

Ali so tile pack-i tako "naštelani", da se prav skonfigurirajo? Ima kdo kaj izkušenj z najnovejšimi HAL driverji?
Always going the extra mile.
https://www.buymeacoffee.com/s54mtb
Uporabniški avatar
s54mtb
 
Prispevkov: 14710
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 2183 krat
Prejel zahvalo: 6096 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: STM32F410 in CMSIS driverji

OdgovorNapisal/-a s54mtb » 21 Mar 2015, 01:27

Aha, sem že našel. V release notesih piše

The HAL (Hardware Abstraction Layer) drivers provided within this package supports the following STM32F4 Series 405xx/415xx/407xx/417xx/427xx/437xx/429xx/439xx/401xC/401xE/411xC/411xE


Torej 401xB ni podprt.
Always going the extra mile.
https://www.buymeacoffee.com/s54mtb
Uporabniški avatar
s54mtb
 
Prispevkov: 14710
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 2183 krat
Prejel zahvalo: 6096 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: STM32F410 in CMSIS driverji

OdgovorNapisal/-a tilz0R » 21 Mar 2015, 14:13

Glede na to, da je med B C E in nevem katerimi še razlika samo FLASH in RAM size ne vidim težav da izbereš pod Target enega drugega, potem pa ročno nastaviš flash in ram size za tvoje potrebe.

PS: Slišal sem (iz preverjenih virov) da bo ST najvrjetneje opustil HAL driverje ker so bili narejeni predvsem za takšne ljudi (dijake, študente), ki jih Arduino style zanima (vse kar dela, pa ne veš od kje) ampak je odziv zelo slab.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 2403
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 264 krat
Prejel zahvalo: 767 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: STM32F410 in CMSIS driverji

OdgovorNapisal/-a TilenS » 22 Mar 2015, 20:41

Upam da opustitev HAL ne pomeni pomeni razvoj "HAL 2.0" ampak da gredo nazaj na SPD :)
TilenS
 
Prispevkov: 379
Pridružen: 05 Feb 2015, 00:40
Zahvalil se je: 0 krat
Prejel zahvalo: 61 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 12

Re: STM32F410 in CMSIS driverji

OdgovorNapisal/-a tilz0R » 22 Mar 2015, 20:45

STD driverji so še vedno živi in tudi bodo še naprej.
Ravno 2 tedna nazaj je bil update za f4 serijo za podporo f446 seriji.
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 2403
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 264 krat
Prejel zahvalo: 767 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: STM32F401 in CMSIS/HAL driverji

OdgovorNapisal/-a s54mtb » 23 Mar 2015, 14:58

Nerodnost sem rešil tako, da sem v stm32f4xx_hal_conf.h dodal:

Koda: Izberi vse
#define GPIOF 0
#define GPIOG 0
#define GPIOI 0

#define __GPIOF_CLK_ENABLE()   ( RCC->AHB1ENR = RCC->AHB1ENR /*  not in this device */ )
#define __GPIOG_CLK_ENABLE()   ( RCC->AHB1ENR = RCC->AHB1ENR /*  not in this device */ )
#define __GPIOI_CLK_ENABLE()   ( RCC->AHB1ENR = RCC->AHB1ENR /*  not in this device */ )
Always going the extra mile.
https://www.buymeacoffee.com/s54mtb
Uporabniški avatar
s54mtb
 
Prispevkov: 14710
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 2183 krat
Prejel zahvalo: 6096 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: STM32F401 in CMSIS/HAL driverji

OdgovorNapisal/-a tilz0R » 23 Mar 2015, 14:59

Ko ti uspe kaj pametnega naredit, si vzemi prosim čas in napiši tukaj kako se ti zdi zadeva.
Mene še vedno nekak ne vleče, rabim še malo feedback-ov za to :)
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 2403
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 264 krat
Prejel zahvalo: 767 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: STM32F401 in CMSIS/HAL driverji

OdgovorNapisal/-a mujo » 23 Mar 2015, 15:19

Jaz sem HAL samo bolj konkretno povohal. Saj ideja ni tako slaba (menjaš HW (ali OS), skompajlaš na novo in dela).
Ampak ko imaš define defina pa zadeva postane nepregledna pri težavah.
Me pa ne preseneča, da se je ST odločil, da jih ukine.
mujo
 
Prispevkov: 735
Pridružen: 21 Jan 2015, 10:50
Kraj: MB
Zahvalil se je: 1 krat
Prejel zahvalo: 150 krat
Uporabnika povabil: VolkD
Število neizkoriščenih povabil: 18


Vrni se na C in sorodni jeziki

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost