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


Groups > comp.arch.embedded > #27742

Re: arm-gcc: avoid calling other system functions

From Grant Edwards <invalid@invalid.invalid>
Newsgroups comp.arch.embedded
Subject Re: arm-gcc: avoid calling other system functions
Date 2018-05-17 13:27 +0000
Organization PANIX Public Access Internet and UNIX, NYC
Message-ID <pdjvvv$mnf$1@reader1.panix.com> (permalink)
References <pdjt34$18n$1@dont-email.me>

Show all headers | View raw


On 2018-05-17, pozz <pozzugno@gmail.com> wrote:

> I'm trying to put all ISRs in RAM[*]. Unfortunately, depending on
> the code, arm-gcc could call some system functions that are located
> in Flash.

By "system functions" do you mean gcc built-in functions from libgcc?

Or functions from /usr/lib/*whatever*?

> For example, if I use a switch statement, the compiler calls a piece of 
> code of system libraries (that are in Flash) that use a table lookup to 
> manage the switch.

If you're talking about libgcc, that's not what most people mean when
they refer to "system libraries".

> Is it possible to force arm-gcc to avoid calling system functions


> from ISRs, so it can be executed completely in RAM?

No, I don't think there's any way to prevent gcc from emitting calls
to functions provided by libgcc.  However, you should be able to put
the ISR code in a separate file and link it statically with libgcc,
and then locate the resulting object file's code in RAM.
Alternatively, you could just manually tweak your linker script to
place the specific libgcc functions used by your ISR functions in RAM.

> [*] This is why I need to erase/write Flash memory and during these 
> operations the Flash can't be read and code in Flash can't be executed.

Using ISRs to program flash seems pretty strange...

-- 
Grant Edwards               grant.b.edwards        Yow! I am a jelly donut.
                                  at               I am a jelly donut.
                              gmail.com            

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


Thread

arm-gcc: avoid calling other system functions pozz <pozzugno@gmail.com> - 2018-05-17 14:37 +0200
  Re: arm-gcc: avoid calling other system functions Grant Edwards <invalid@invalid.invalid> - 2018-05-17 13:27 +0000
    Re: arm-gcc: avoid calling other system functions pozz <pozzugno@gmail.com> - 2018-05-17 15:35 +0200
      Re: arm-gcc: avoid calling other system functions Grant Edwards <invalid@invalid.invalid> - 2018-05-17 14:18 +0000
        Re: arm-gcc: avoid calling other system functions David Brown <david.brown@hesbynett.no> - 2018-05-17 17:08 +0200
        Re: arm-gcc: avoid calling other system functions pozz <pozzugno@gmail.com> - 2018-05-18 08:47 +0200
  Re: arm-gcc: avoid calling other system functions pozz <pozzugno@gmail.com> - 2018-05-17 15:30 +0200
  Re: arm-gcc: avoid calling other system functions David Brown <david.brown@hesbynett.no> - 2018-05-17 17:06 +0200
    Re: arm-gcc: avoid calling other system functions pozz <pozzugno@gmail.com> - 2018-05-18 09:07 +0200
      Re: arm-gcc: avoid calling other system functions David Brown <david.brown@hesbynett.no> - 2018-05-18 09:51 +0200
        Re: arm-gcc: avoid calling other system functions pozz <pozzugno@gmail.com> - 2018-05-21 09:14 +0200
          Re: arm-gcc: avoid calling other system functions David Brown <david.brown@hesbynett.no> - 2018-05-21 12:50 +0200
        Re: arm-gcc: avoid calling other system functions Joe Chisolm <jchisolm6@earthlink.net> - 2018-05-21 10:15 -0500
          Re: arm-gcc: avoid calling other system functions David Brown <david.brown@hesbynett.no> - 2018-05-21 19:31 +0200
            Re: arm-gcc: avoid calling other system functions pozz <pozzugno@gmail.com> - 2018-05-22 09:05 +0200
              Re: arm-gcc: avoid calling other system functions David Brown <david.brown@hesbynett.no> - 2018-05-22 10:59 +0200
              Re: arm-gcc: avoid calling other system functions Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2018-05-22 15:24 +0300
                Re: arm-gcc: avoid calling other system functions pozz <pozzugno@gmail.com> - 2018-05-22 14:55 +0200
  Re: arm-gcc: avoid calling other system functions Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2018-05-18 12:41 +0300

csiph-web