🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Dziwne zachowanie kodu na mikrokontrolerze

#309955
From: Maciek Godek
Date: Tue, 22 Oct 2019 18:30
23 lines
3034 bytes
W dniu wtorek, 22 października 2019 17:33:56 UTC+2 użytkownik Mateusz Viste napisał:
> 2019-10-22 o 08:26 -0700, Maciek Godek napisał:
> > 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.
> 
> Bez wczytywania się - brzmi jak problem za małego stack. Próbowałeś
> może zaallokować twoją "dużą tablicę" via malloc() ? albo oflagować
> ją jako static?

Tablica jest globalna i oznaczona jako const, dlatego w całości powinna trafić do flasha (i to się zgadza z tym, co zwraca size).

To zresztą zgadza się z outputem size'a - rosną przede wszystkim sekcje rodata i text.

Stos raczej nie powinien być bardzo głęboki. W każdym razie różnica w samym kodzie występuje dopiero po inicjalizacji peryferiów, więc raczej bym się spodziewał że przynajmniej coś się gdzieś ruszy.

Zresztą na kontrolerze mam ponad pół megabajta ramu (z czego - jak widać - zmienne globalne zajmują mniej więcej połowę)

Zastanawiam się czy to może być błąd gcc - może gdzieś źle alignuje jakiś adres i dostaje jakiegoś hard faulta.

Malloc nie wchodzi tu jednak w grę. Mam co prawda swój alokator, ale korzystam z niego oszczędnie. Co się da muszę trzymać we flashu, i przenoszenie tych danych do ramu nie miałoby sensu, bo one i tak się nie zmieniają.
Technical Details
Message-ID: <a4ea2032-db9a-4e1c-b74c-a9018c4b21a7@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.unit0.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o24no3816469qtl.0!news-out.google.com!q12ni77qtl.1!nntp.google.com!o24no3816461qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <3bc7c3ac-47a9-49fa-9712-5464bc8801a4@googlegroups.com> <20191022173354.3de0532e@mateusz>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:50b:: with SMTP id 11mr4614302qkf.60.1571769020978;        Tue, 22 Oct 2019 11:30:20 -0700 (PDT)
X-Received: by 2002:a25:bd89:: with SMTP id f9mr3357852ybh.52.1571769020687; Tue, 22 Oct 2019 11:30:20 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.unit0.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o24no3816469qtl.0!news-out.google.com!q12ni77qtl.1!nntp.google.com!o24no3816461qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Tue, 22 Oct 2019 11:30:20 -0700 (PDT)
In-Reply-To: <20191022173354.3de0532e@mateusz>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.20.116.50; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 83.20.116.50
References: <3bc7c3ac-47a9-49fa-9712-5464bc8801a4@googlegroups.com> <20191022173354.3de0532e@mateusz>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a4ea2032-db9a-4e1c-b74c-a9018c4b21a7@googlegroups.com>
Subject: Re: Dziwne zachowanie kodu na mikrokontrolerze
From: Maciek Godek <godek.maciek@gmail.com>
Injection-Date: Tue, 22 Oct 2019 18:30:20 +0000
X-Received-Bytes: 3197
X-Received-Body-CRC: 3632027939
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit