Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.arch.embedded > #27744
| From | pozz <pozzugno@gmail.com> |
|---|---|
| Newsgroups | comp.arch.embedded |
| Subject | Re: arm-gcc: avoid calling other system functions |
| Date | 2018-05-17 15:35 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <pdk0f6$lfl$2@dont-email.me> (permalink) |
| References | <pdjt34$18n$1@dont-email.me> <pdjvvv$mnf$1@reader1.panix.com> |
Il 17/05/2018 15:27, Grant Edwards ha scritto: > 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? Yes, now I know those functions come 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". Built-in functions is a better name? >> 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. It seems complex. > Alternatively, you could just manually tweak your linker script to > place the specific libgcc functions used by your ISR functions in RAM. Any help? > >> [*] 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... > No, I need to serve interrupts *during* Flash erasing/writing. So the ISR code must be placed in RAM.
Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll 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