Article View: pl.comp.lang.c
Article #309951Dziwne zachowanie kodu na mikrokontrolerze
From: Maciek Godek
Date: Tue, 22 Oct 2019 15:26
Date: Tue, 22 Oct 2019 15:26
71 lines
4215 bytes
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-mailShow 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