🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #309951

Dziwne zachowanie kodu na mikrokontrolerze

#309951
From: Maciek Godek
Date: Tue, 22 Oct 2019 15:26
71 lines
4215 bytes
Hej,

piszę program na mikrokontroler STM32 (tzn. z ARMem).

W ostatnim czasie zauważyłem dość dziwne zachowanie: czasem (kiedy np. załączę do obrazu dużą tablicę z danymi) kontroler w ogóle nie wstaje.

Wszystko co prawda kompiluje się i linkuje bez problemu, ale po wgraniu obrazu nastaje cisza (a w każdym razie nie odpala się nawet UART, po którym debuguję)

Kompiluję przy pomocy arm-none-eabi-gcc z flagami -O3 -mcpu=cortex-m4 -mlittle-endian -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard 

Wywołanie arm-none-eabi-size na wygenerowanym pliku .elf daje mi

build/stm32l4r9-hw3.elf  :
section                size        addr
.isr_vector             448   134217728
.text                 61696   134218176
.rodata              472584   134279872
.ARM.extab                0   134752456
.ARM                      8   134752456
.preinit_array            0   134752464
.init_array               8   134752464
.fini_array               8   134752472
.data                  1472   536870912
.bss                 268452   536872384
._user_heap_stack      1540   537140836
.ARM.attributes          48           0
.debug_info          372141           0
.debug_abbrev         41398           0
.debug_loc           179183           0
.debug_aranges         7184           0
.debug_ranges         27592           0
.debug_line           85838           0
.debug_str            39948           0
.comment                127           0
.debug_frame          28996           0
.stabstr                118           0
Total               1588789

Jeżeli się zdecyduję nie załączać tych obrazków, to firmware działa normalnie, i wówczas size wyświetla:

section                size        addr
.isr_vector             448   134217728
.text                 61272   134218176
.rodata              403240   134279448
.ARM.extab                0   134682688
.ARM                      8   134682688
.preinit_array            0   134682696
.init_array               8   134682696
.fini_array               8   134682704
.data                  1472   536870912
.bss                 268452   536872384
._user_heap_stack      1540   537140836
.ARM.attributes          48           0
.debug_info          359303           0
.debug_abbrev         39527           0
.debug_loc           177834           0
.debug_aranges         7016           0
.debug_ranges         27480           0
.debug_line           83654           0
.debug_str            39695           0
.comment                127           0
.debug_frame          28768           0
.stabstr                118           0
Total               1500018

Zetknął się ktoś z Was z czymś podobnym?

Zauważyłem też, że na tym kontrolerze podobne zachowanie (tzn. głucha cisza) występowało również wtedy, gdy przekazywałem wskaźniki na funkcje przez stos, tzn. jako parametry do innych funkcji.

Zetknął się ktoś z Was z czymś podobnym?
Macie pomysł, jak można to spróbować zdebugować?
Technical Details
Message-ID: <3bc7c3ac-47a9-49fa-9712-5464bc8801a4@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin.stu.neva.ru!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!o24no3316069qtl.0!news-out.google.com!x7ni499qtf.0!nntp.google.com!o24no3316061qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:6214:286:: with SMTP id l6mr3742990qvv.236.1571757967979;        Tue, 22 Oct 2019 08:26:07 -0700 (PDT)
X-Received: by 2002:a81:9146:: with SMTP id i67mr1904278ywg.188.1571757967618; Tue, 22 Oct 2019 08:26:07 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin.stu.neva.ru!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!o24no3316069qtl.0!news-out.google.com!x7ni499qtf.0!nntp.google.com!o24no3316061qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Tue, 22 Oct 2019 08:26:04 -0700 (PDT)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.192.68.153; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 213.192.68.153
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3bc7c3ac-47a9-49fa-9712-5464bc8801a4@googlegroups.com>
Subject: Dziwne zachowanie kodu na mikrokontrolerze
From: Maciek Godek <godek.maciek@gmail.com>
Injection-Date: Tue, 22 Oct 2019 15:26:07 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit