Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #29389

Re: Missing volatile qualifiers in MCU vendor header files?

From Tilmann Reh <usenet2007nospam@autometer.de>
Newsgroups comp.arch.embedded
Subject Re: Missing volatile qualifiers in MCU vendor header files?
Date 2020-04-06 08:29 +0200
Organization A noiseless patient Spider
Message-ID <r6ei8g$fv4$1@dont-email.me> (permalink)
References <dd63bec2-08e0-4ff3-bc9a-ea94a7a53c01@googlegroups.com>

Show all headers | View raw


Dave Nadler schrieb:

> Whilst trying to track down an obscure bug, I noticed that ST
> header files do not specify volatile for peripheral registers.
> In contrast ARM stuff (looking at CMSIS) is religious about volatile.
> 
> For example, in stm32f413xx.h there's lots of stuff like
> #define TIM2_BASE (APB1PERIPH_BASE + 0x0000UL) // nice hex address
> #define TIM2      ((TIM_TypeDef *) TIM2_BASE)  // TIM2-> used throughout
> 
> No volatile on the pointer declaration (nor structures wouldn't work for typedef?)
> 
> I checked some headers from Freescale/NXP (OK, a few years old), same thing.
> 
> Am I missing something, or is this omission completely nuts?
> A lot of register access will be intolerant of 'optimization', right?

Have a look at the definition of the structure (i.e. TIM_TypeDef), where
all the variables have the attribute __IO which should make them volatile.

Tilmann

Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Missing volatile qualifiers in MCU vendor header files? Dave Nadler <drn@nadler.com> - 2020-04-05 15:00 -0700
  Re: Missing volatile qualifiers in MCU vendor header files? Tilmann Reh <usenet2007nospam@autometer.de> - 2020-04-06 08:29 +0200
    Re: Missing volatile qualifiers in MCU vendor header files? Dave Nadler <drn@nadler.com> - 2020-04-06 06:54 -0700
      Re: Missing volatile qualifiers in MCU vendor header files? Dave Nadler <drn@nadler.com> - 2020-04-06 14:36 -0700
        Re: Missing volatile qualifiers in MCU vendor header files? David Brown <david.brown@hesbynett.no> - 2020-04-07 00:09 +0200
          Re: Missing volatile qualifiers in MCU vendor header files? Dave Nadler <drn@nadler.com> - 2020-04-06 15:18 -0700
            Re: Missing volatile qualifiers in MCU vendor header files? David Brown <david.brown@hesbynett.no> - 2020-04-07 10:36 +0200
              Re: Missing volatile qualifiers in MCU vendor header files? Phil Martel <pomartel@comcast.net> - 2020-04-07 12:30 -0400
                Re: Missing volatile qualifiers in MCU vendor header files? Dave Nadler <drn@nadler.com> - 2020-04-07 09:36 -0700
              Re: Missing volatile qualifiers in MCU vendor header files? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2020-04-07 21:38 +0300
                Re: Missing volatile qualifiers in MCU vendor header files? Phil Martel <pomartel@comcast.net> - 2020-04-08 11:20 -0400
                Re: Missing volatile qualifiers in MCU vendor header files? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2020-04-08 20:15 +0300
  Re: Missing volatile qualifiers in MCU vendor header files? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2020-04-06 10:05 +0300
    Re: Missing volatile qualifiers in MCU vendor header files? Grant Edwards <invalid@invalid.invalid> - 2020-04-06 13:21 +0000
      Re: Missing volatile qualifiers in MCU vendor header files? upsidedown@downunder.com - 2020-04-06 16:31 +0300
    Re: Missing volatile qualifiers in MCU vendor header files? Dave Nadler <drn@nadler.com> - 2020-04-06 07:14 -0700
      Re: Missing volatile qualifiers in MCU vendor header files? Chris <xxx.syseng.yyy@gfsys.co.uk> - 2020-04-08 14:58 +0100
        Re: Missing volatile qualifiers in MCU vendor header files? Grant Edwards <invalid@invalid.invalid> - 2020-04-08 14:10 +0000
        Re: Missing volatile qualifiers in MCU vendor header files? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2020-04-08 20:19 +0300
          Re: Missing volatile qualifiers in MCU vendor header files? Stef <stef33d@yahooI-N-V-A-L-I-D.com.invalid> - 2020-04-10 16:27 +0200
        Re: Missing volatile qualifiers in MCU vendor header files? stephen@mpeforth.com (Stephen Pelc) - 2020-04-08 20:49 +0000
          Re: Missing volatile qualifiers in MCU vendor header files? Clifford Heath <no.spam@please.net> - 2020-04-09 09:39 +1000
            Re: Missing volatile qualifiers in MCU vendor header files? Dave Nadler <drn@nadler.com> - 2020-04-08 17:59 -0700
              Re: Missing volatile qualifiers in MCU vendor header files? Clifford Heath <no.spam@please.net> - 2020-04-09 11:40 +1000
            Re: Missing volatile qualifiers in MCU vendor header files? stephen@mpeforth.com (Stephen Pelc) - 2020-04-09 12:31 +0000
              Re: Missing volatile qualifiers in MCU vendor header files? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2020-04-09 17:36 +0300
              Re: Missing volatile qualifiers in MCU vendor header files? Clifford Heath <no.spam@please.net> - 2020-04-10 10:23 +1000
              Re: Missing volatile qualifiers in MCU vendor header files? stephen@mpeforth.com (Stephen Pelc) - 2020-04-12 13:41 +0000

csiph-web