Bug in EXT driver STM32F0

ChibiOS public support forum for topics related to the STMicroelectronics STM32 family of micro-controllers.

Moderator: RoccoMarco

Post Reply
Eddie
Posts: 44
Joined: Sat Mar 16, 2013 5:57 pm
Has thanked: 2 times
Been thanked: 6 times

Bug in EXT driver STM32F0

Post by Eddie »

Hi, there is bug in ext_lld_isr.c

Compiling ext_lld_isr.c
../../../../os/hal/ports/STM32/STM32F0xx/ext_lld_isr.c: In function 'ext_lld_exti_irq_enable':
../../../../os/hal/ports/STM32/STM32F0xx/ext_lld_isr.c:227:25: error: missing binary operator before token "!"
../../../../os/hal/ports/STM32/STM32F0xx/ext_lld_isr.c: In function 'ext_lld_exti_irq_disable':
../../../../os/hal/ports/STM32/STM32F0xx/ext_lld_isr.c:244:25: error: missing binary operator before token "!"
User avatar
Giovanni
Site Admin
Posts: 14893
Joined: Wed May 27, 2009 8:48 am
Has thanked: 1202 times
Been thanked: 997 times

Re: Bug in EXT driver STM32F0

Post by Giovanni »

Hi,

Fixed thanks.

Giovanni
dmene
Posts: 14
Joined: Mon Nov 23, 2015 6:38 pm
Been thanked: 4 times

Re: Bug in EXT driver STM32F0

Post by dmene »

Hi,

ChibiOS 16.1.3 - Keil 5.17

#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__)
#define HAL_USE_EXT TRUE
#endif

NIL-STM32F051-DISCOVERY

linking...
.\obj\ch.axf: Error: L6218E: Undefined symbol EXTD1 (referred from ext_lld_isr.o).
.\obj\ch.axf: Error: L6218E: Undefined symbol ext_lld_channel_disable (referred from ext.o).
.\obj\ch.axf: Error: L6218E: Undefined symbol ext_lld_channel_enable (referred from ext.o).
.\obj\ch.axf: Error: L6218E: Undefined symbol ext_lld_init (referred from ext.o).
.\obj\ch.axf: Error: L6218E: Undefined symbol ext_lld_start (referred from ext.o).
.\obj\ch.axf: Error: L6218E: Undefined symbol ext_lld_stop (referred from ext.o).


RT-STM32F303-DISCOVERY

compiling ext_lld_isr.c...
..\..\..\..\os\hal\ports\STM32\STM32F3xx\ext_lld_isr.c(346): warning: #61-D: integer operation result is out of range
pr = XTI->PR & XTI->IMR & ((1 << 30) | (1 << 31));
..\..\..\..\os\hal\ports\STM32\STM32F3xx\ext_lld_isr.c(350): warning: #61-D: integer operation result is out of range
if (pr & (1 << 31))
..\..\..\..\os\hal\ports\STM32\STM32F3xx\ext_lld_isr.c(350): warning: #68-D: integer conversion resulted in a change of sign
if (pr & (1 << 31))

Daniel.
User avatar
Giovanni
Site Admin
Posts: 14893
Joined: Wed May 27, 2009 8:48 am
Has thanked: 1202 times
Been thanked: 997 times

Re: Bug in EXT driver STM32F0

Post by Giovanni »

Hi,

I replaced (1 << 31) with (1U << 31), please could you verify that it solves the problem?

Giovanni
Post Reply