stm32 zmienna globalny

Znaleziono około 77 wyników dla: stm32 zmienna globalny
  • STM32 - Odczyt kierunku obrotu silnika z enkodera inkrementalnego

    Czy zmienna kierunek jest globalna i volatile? Już po pierwszym przerwaniu powinna przyjąć wartość 1 lub 2, a nie być cały czas 0. Czy zaobserwowałeś zwiększanie wartości zmiennej enkoderA ?

    Mikrokontrolery   10 Cze 2014 11:03 Odpowiedzi: 4    Wyświetleń: 2100
  • Brak migania diody na mikrokontrolerze STM32 C011: konfiguracja pinów GPIO i rejestry

    Czy działa Systick to łatwo sprawdzić w debuggerze. Zresztą wiele spraw można sprawdzić. Ja bym zaczął od tego czy właściwe rejestry podlegają zmianom. To nie jest nic trudnego, w krokowym trybie Też jaka wartość jest SystemCoreClock, to zmienna globalna. Może ląduje gdzieś w HardFault, zaraz po uruchomieniu. EDIT. Często problemem przy kopiowaniu plików,...

    Mikrokontrolery   21 Lis 2023 12:49 Odpowiedzi: 29    Wyświetleń: 786
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • [stm32] Niespodziewana zawartość tablicy z danymi

    Jaki duży masz stos i gdzie umieszczony? Czy tą tablicę modyfikujesz w innej części programu? Czy to zmienna globalna, czy automatyczna? Albert

    Mikrokontrolery ARM   12 Wrz 2011 10:24 Odpowiedzi: 9    Wyświetleń: 1464
  • REKLAMA
  • [STM32] Jak przechowywać stałe wskaźniki w pamięci FLASH na STM32 w C++?

    Ja w takich przypadkach stosuję metodę którą na swoje potrzeby nazwałem "split objects". Obiekt u mnie składa się po prostu z dwóch części - stałej i zmiennej. Zwykle "główny" obiekt jest stały, a ten "zmienny" fragment jest podrzędny, jednak są sytuacje w których robię to odwrotnie, głównie wynikające z polimorfizmu lub dlatego że łatwiej/lepiej jest...

    Mikrokontrolery ARM   31 Lip 2016 22:30 Odpowiedzi: 23    Wyświetleń: 2670
  • [STM32] detektor zera sieci + pomiar adc wyzwalany timerem = zła ilość pomiarów

    Po co ci ta sekcja krytyczna w EXTI9_5_IRQHandler ? Czy jeszcze jakies przerwanie korzysta ze zmiennych ktore chcesz chronic ? Jesli jest faktycznie potrzebna )w co watpie) to obliczaj pierwiastek poza nia, skopiuj wynik do zmiennej lokalnej i dopiero w sekcji krytycznej przekopiuj zmienna lokalna do globalnej. Nieliniowe funkcje biblioteczne potrafia...

    Mikrokontrolery ARM   13 Mar 2012 10:51 Odpowiedzi: 18    Wyświetleń: 3550
  • REKLAMA
  • Zmienna const w STM32 - czy zajmuje miejsce w RAM czy tylko w FLASH?

    Czyli nie ma żadnej przeszkody, żeby w tablicach globalnych oznaczonych jako const przechowywać duże zawartości danych ? chciałbym w takich tablicach trzymać rysunki do wyświetlacza LCD. Skoro zostaną one umieszczone w flashu to nic nie stoi na przeszkodzie, żeby zajmowały nawet z 200 kB? (o ile nie przekroczę wolnej pamięci flash oraz pewnie zadeklarowanej...

    Mikrokontrolery ARM   16 Mar 2019 16:05 Odpowiedzi: 16    Wyświetleń: 981
  • STM32 - ten sam adres dla różnych zmiennych const uint8_t w debuggerze

    Witam, problem polega na tym że utworzyłem trzy zmienne globalne typu const uint8_t i kompilator przypisuje dwóm pierwszym ten sam adres 0x80030D4 . Trzecia zmienna już miała inny adres. Utworzyłem więc dwie kolejne zmienne do testów aby sprawdzić jaki otrzymają adres: const uint8_t ZMIENNA_TEST1=3; uint8_t zmiennaTest2=10; lecz niestety debugger ich...

    Mikrokontrolery ARM   21 Cze 2011 14:24 Odpowiedzi: 8    Wyświetleń: 2712
  • REKLAMA
  • [STM32] Algorytm sterowania mikrokontrolerem silnika indukcyjnego 3 fazowego

    Dodam tylko że użycie metody którą opisałem nie wymaga zmieniania tablicy w locie jak to zrobił Marek_Skalski . U mnie kod z przerwania wygląda tak: [syntax=c] Angle2 += Angle2_Step; Angle2_2 = Angle2 >> 6; U = (sinus_3har[(Angle2_2 + 0) & 0x03FF] * Vm * 2816) >> 20; V = (sinus_3har[(Angle2_2 + 341) & 0x03FF] * Vm * 2816) >>...

    Mikrokontrolery ARM   21 Kwi 2018 10:37 Odpowiedzi: 15    Wyświetleń: 3471
  • [sprintf] Wyjątek HardFault przy użyciu sprintf i uart_read_line na F411

    Czyli nie dość, że na stosie masz 1 kB tablicę, to jeszcze używasz funkcji która jest znana z tego, że używa naprawdę DUŻO stosu. Zacznij od zmniejszenia tej tablicy albo przeniesienia jej do zmiennych globalnych, a następnie - jeśli nie pomoże - znajdź jak w Keilu zwiększyć rozmiar stosu. Wielkie dzięki, pomogło. Przeniosłem do globalnych Do sekcji...

    Mikrokontrolery ARM   09 Mar 2018 20:27 Odpowiedzi: 2    Wyświetleń: 858
  • REKLAMA
  • [STM32] Funkcja malloc powoduje/wywołuje przerwanie HardFault

    Witam, próbuję funkcją malloc() za alokować około 2kB danych, jednak procesor zamiast za alokować wybrany obszar pamięci, wpada w przerwanie Hard Fault, występuje jakiś problem. Pamięci mam wolnej tyle ile potrzeba gdyż program jeszcze nie jest bardzo rozbudowany oraz mogę statycznie za alokować 2kB danych albo więcej tzn. np. stworzyć zmienna globalna...

    Mikrokontrolery ARM   22 Cze 2014 22:01 Odpowiedzi: 7    Wyświetleń: 3047
  • [STM32H743II][C][gcc][Eclipse] - Organizacja zmiennych w pamięci

    Czy wystarczy utworzyć sekcję w taki sposób, powtarzając ten wpis dla każdej sekcji, czyli d1sramdata, d2sramdata, d3sramdata? Nie. Albo inaczej. Sekcje zostaną utworzone i jeśli przypiszesz do nich jakieś zmienne, to one tam wylądują, ale aby dane zostały zainicjalizowane domyślnymi wartościami (a'la sekcja .data) lub wyzerowane (a'la sekcja .bss),...

    Mikrokontrolery ARM   14 Gru 2020 19:44 Odpowiedzi: 2    Wyświetleń: 3015
  • [GCC] Linker usuwa zmienne z atrybutem "used"

    Hejka, robię właśnie przesiadkę projektu z kompilatora IAR'a do GCC'a i mam problem z przeniesieniem niektórych ustawień, konkretniej chodzi o nie wycinanie przez linker konkretnych, nieużywanych zmiennych globalnych wygenerowanych przez zewnętrzne narzędzie, zawierających informacje np. o dacie buildu, checksumie itp. które są potem w przypadku reklamacji...

    Mikrokontrolery ARM   03 Lip 2018 20:13 Odpowiedzi: 29    Wyświetleń: 1389
  • [STM32] Czy korzystać z firmowych bibliotek stlib?

    Biblioteki to jeden ze sposobów na pisanie kodu. Z tego co widziałem na forum to właśnie jest to sposób na szybki start, a krytyka jest związana raczej z nieumiejętnym korzystaniem z biblioteki w tym również w przykładach. Za przykład podam tutaj przykład GPIO - IO Toggle (stm32f4_dsp_stdperiph_lib). Definicja zmiennej GPIO_InitTypeDef GPIO_InitStructure;...

    Mikrokontrolery ARM   10 Kwi 2012 19:12 Odpowiedzi: 49    Wyświetleń: 10389
  • STM32F0 Discovery - Zawieszanie przy EE_Init() i problemy z ADC przy 5V

    Sorry, ale to chyba najgorzej napisany program jaki widziałem od dawna... Słyszałeś już o takim paradygmacie, że zmienne globalne są złe? No ale już pomijając to... Rozważałeś opcję, że skończył Ci się RAM/stos? STM32F0 na tej płytce ma ledwo 8kB, a ty np sobie wesoło ustawiłeś ten milion zmiennych globalnych, w tym 2kB tablicę (nie używaną, jak spora...

    Mikrokontrolery ARM   14 Gru 2012 15:09 Odpowiedzi: 14    Wyświetleń: 3996
  • STM32F107 i freeRTOS: Jak działają semafory w praktyce?

    Witam Kolegów Przy okazji problemu z jakim borykam się [url=http://www.elektroda.pl/rtvforum/vi... udało mi się poprawnie uruchomić na procesorze STM32F107 system freeRTOS. Jestem mega pozytywnie zaskoczony tym, że całość systemu udało mi się poprawnie odpalić w Eclipse w zaledwie 4 godziny. Do tej pory uważałem, że...

    Mikrokontrolery ARM   24 Kwi 2013 13:11 Odpowiedzi: 22    Wyświetleń: 6795
  • [STM32] [C] SysTick - dioda nie miga co 500ms, kod z książki Paprockiego

    int TDelay wyciągnij jako zmienną globalną. Za każdym razem, gdy SysTick wejdzie do przerwania ją tworzy, a to bez sensu, co? :) w końcu nigdy nie doliczysz do 500, skoro będziesz cxo chwile tworzył tą zmienną. właśnie tak myślałem że z tym jest coś nie tak, niestety z C też nie jestem mistrzem i przez to ta gafa, dzięki Porównaj: SysTickHandler SysTick_Handler...

    Mikrokontrolery ARM   15 Lis 2011 19:34 Odpowiedzi: 8    Wyświetleń: 2625
  • [STM32] [STM32][C][Atollic] Debugowanie zmiennych w projekcie RFID z TrueStudio Light

    Witam serdecznie, jakiś czas temu zacząłem moją zabawę z stm32. Po kilku tygodniach walki z darmowym oprogramowaniem (Eclipse + GCC, ograniczony Keil itd), zdecydowałem się na TrueStudio w wersji light. Mam jednak problem z tym oprogramowaniem podczas debugowania. Jaki to projekt? - projekt ma za zadanie odczytać dane z modułu RFID, następnie ma rozpoznać...

    Mikrokontrolery ARM   28 Paź 2010 11:52 Odpowiedzi: 4    Wyświetleń: 2118
  • [STM32] Stos zrzuca rejestry do zmiennych globalnych

    Pierwsza opcja to oczywiście zdefiniowanie NAPRAWDĘ DUŻEGO stosu, ale to średnie rozwiązanie jak wiadomo [; Do rozbudowanej aplikacji na ARMa myślę że należy liczyć minimum 1kB, jeśli używa się jakichś potwornych funkcji standardowych (printf!) i to głęboko to lepiej zaopatrzyć się w 2kB (o apetycie tych funkcji na pamięć pisałem ostatnio http://www.elektroda.pl/rtvforum/topic13...

    Mikrokontrolery ARM   05 Paź 2009 18:43 Odpowiedzi: 9    Wyświetleń: 3302
  • STM32F4 - Zmienne lokalne szybsze niż zmienne globalne.

    Ok, a konkretnie, które z wymagań standardu nie zostanie spełnione, jeśli zmienna lokalna liścia z atrybutem volatile i bez odwołania przez adres zostanie zrealizowana w rejestrze, a nie w pamięci? No ale we fragmencie który zacytowałem nie ma rozróżnienia, czy dotyczy on tylko zmiennych globalnych, czy może tylko lokalnych, więc definitywnie sensownym...

    Mikrokontrolery ARM   26 Lut 2014 12:09 Odpowiedzi: 34    Wyświetleń: 4797
  • [STM32l][FreeRTOS] - problem z obsługą przerwania

    Witam U mnie akurat to pomogło... ale cóż co projekt to inne problemy. Ja osobiście nie zrobił bym nigdy tak jak Ty czyli odbierać dane w przerwaniu i zapisywać je do globalnej zmiennej. Jak już muszę używać jakiś globalnych zmiennych to używam to zapisu i odczytu tych zmiennych funkcji. np readCos, i writeCos. Wiem że tylko ta funkcja może mi coś zmienić....

    Mikrokontrolery ARM   15 Kwi 2013 17:44 Odpowiedzi: 8    Wyświetleń: 2346
  • STM32 - COOCOX: Problem z odczytem i modyfikacją zmiennych globalnych w coIDE

    Odkomentuj to: [syntax=c]// pulSrc = &_sidata; // // for(pulDest = &_sdata; pulDest < &_edata; ) // { // *(pulDest++) = *(pulSrc++); // } // // /* Zero fill the bss segment. */ // for(pulDest = &_sbss; pulDest < &_ebss; ) // { // *(pulDest++) = 0; // }[/syntax]

    Mikrokontrolery ARM   03 Maj 2015 15:46 Odpowiedzi: 4    Wyświetleń: 1116
  • [Stm32f103][C] Błąd TEIFx przy nadawaniu UART z Timer3 i ADC via DMA

    1. Jaka jest różnica między tymi dwoma zapisami, czy dobrze to rozumiem? TIM3->SR &=~TIM_SR_UIF; (tu zerujemy?) Powinno być: TIM3->SR =~TIM_SR_UIF; (tu rozumiem,że zmienia stan na przeciwny?) efekt powinien być w tym wypadku ten sam. Różnica opisana jest w RM, w którym opisana jest sekwencja zerowania bitów rejstru SR timerów. Zapisanie zera kasuje...

    Mikrokontrolery ARM   29 Maj 2019 21:42 Odpowiedzi: 16    Wyświetleń: 636
  • [STM32F4][Keil uVision] - Wyświetlacz ze sterownikiem HD44780 gubi znaki

    nie trzeba robić sztuk ze zmiennymi globalnymi ? Jakich to sztuczek? Normalna zmienna globalna, bo i funkcja wykorzystywana przez większość innych. A kod jak kod, można tak i na 100 innych sposobów:) Ale sposób ciekawy. Rozdzielczość staram się mieć dużą nie dla akurat takiej sytuacji z błędem +-1 (to niejako przy okazji, jeżeli kod podobny jak powyżej),...

    Mikrokontrolery ARM   10 Wrz 2014 09:37 Odpowiedzi: 14    Wyświetleń: 1731
  • Przechowywanie funkcji na karcie SD w STM32F107VC - jak zacząć?

    Kolego Smashing, pominąłeś największy problem tego typu zagadnienia, czyli zgodność adresów w obu fragmentach kodu. Ładowany kod zapewne będzie się odwoływał do innych funkcji lub zmiennych globalnych etc. Funkcje która uruchamiam jest zawsze ładowana do wolnego ramu to można zrobić. Funkcje taka taktuję zawsze tak ze co coś jej daje a ona coś ma zrobić,...

    Mikrokontrolery ARM   28 Maj 2010 14:01 Odpowiedzi: 23    Wyświetleń: 1955
  • [STM32] Zapis danych z czujnika MEMS na kartę SD w STM32 - problem z buforem char

    Jeśli zmiana rozmiaru buforów powoduje że program przestaje działać oznacza to że prawdopodobnie kończy się pamięć na stosie. Kilka rozwiązań jest. 1. zwiększyć stos 2. zdefiniować bufory jako static albo zmienne globalne wtedy nie trafią na stos 3. jeżeli idea projektu na to pozwala podzielić odczyt na mniejsze paczki i zapisywać po trochu(używając...

    Mikrokontrolery ARM   20 Paź 2017 21:50 Odpowiedzi: 8    Wyświetleń: 858
  • [STM32] Jak zapisać i odczytać dane z IS66WV51216EBLL na magistrali równoległej?

    Jest wiele metod. Najwygodniejsze: 1. Ustaw sobie SWV data trace i pisz do jakiejś globalnej zmiennej. Bedzesz miał w CubeIde licznik taktów wyświetlony kiedy ten zapis się dokonał. Odejmiesz dwie wartości i będziesz miał wynik :) [url=https://www.elektroda.pl/rtvforum/v... pisałem Ci już o SWV Jest to potężne narzędzie...

    Mikrokontrolery ARM   27 Kwi 2024 21:58 Odpowiedzi: 35    Wyświetleń: 1068
  • Implementacja USB we wlasnym urzadzeniu ze sterownikiem WinUsb

    Postanowilem podzielic sie z wami moimi doswiadczeniami wykorzystania interfejsu USB we wlasnych projektach. Jak wiadomo interfejs USB jest juz powszechnie dolaczanym interfejsem do mikrokontrolerow wiekszosci producentow na rynku. Sama obsluga USB zarowno po stronie mikrokontrolera jak i pc (a wlasciwie Windows) jest mniej przyjazna niz w wiekszosci...

    Artykuły   16 Maj 2021 13:41 Odpowiedzi: 13    Wyświetleń: 3255
  • [STM32][Eclipse] Konfiguracja OpenOCD 0.7.0 do współpracy z FreeRTOS

    Dla nowych wersji FreeRTOSa trzeba przedefiniować (np. poprzed globalną definicję w Makefile) zmienną globalną "uxTopReadyPriority" na "uxTopUsedPriority". Wciąż chodzi to nieco koślawo (po pierwszym odpaleniu OpenOCD muszę kilkukrotnie uruchomić GDB żeby cały zestaw "załapał"), ale już jest lepiej chyba [; 4\/3!!

    Mikrokontrolery ARM   14 Paź 2024 17:50 Odpowiedzi: 27    Wyświetleń: 5895
  • [STM32][coocox] - Mała ilość ram dla FreeRTOS. Za duzo dołączonych plików ?

    Kompilator języka C (zakładając poprawną konfigurację projektu/make'a) nawet jakbyś wrzucił milion niepotrzebnych plików, to wyrzuci z nich funkcje, których nie używasz (tak zwany martwy kod). Nie będą więc one w kodzie wynikowym No tak, ale np. gcc zrobi tak tylko gdy wywołasz go z flagami -ffunction-sections i -fdata-sections. A jeszcze potem trzeba...

    Mikrokontrolery ARM   17 Paź 2012 13:51 Odpowiedzi: 5    Wyświetleń: 2079
  • [STM32] tablice we Flasch, RAM iprzekazywanie, zmienne globalne w kilku plikach

    Wątpię, by bez specjalnej deklaracji był tylko we flashu. W czystym C tego nie da się zażądać ( To prawda, czyste C nic nie wie o żadnych FLASH-ach, stosach, RAM-ach i innych (dotyczy to też sekcji, segmentów itp). Ale w realnym życiu używamy konkretnych implementacji, które coś o różnych lokalizacjach w pamięci wiedzą (bo w końcu kod jakoś sie musi...

    Mikrokontrolery ARM   12 Mar 2021 07:25 Odpowiedzi: 16    Wyświetleń: 1170
  • STM32 - Plik linkera od ST oraz ustawiania stosu i sterty

    Skrypt linkera z Cube'a "działa" tak, że na początku pamięci ram ląduje sekcja data (zmienne inicjalizowane przy starcie programu - lokalne statyczne i globalne), potem jest bss (zmienne zerowane przy starcie programu - nie inicjalizowane statyczne i globalne). Następny kawałek to _user_heap_stack - czyli sterta i stos "w jednym". Rozmiar data i bss...

    Mikrokontrolery ARM   05 Lut 2016 10:30 Odpowiedzi: 12    Wyświetleń: 2337
  • [STM32-f4][C][keil] [FreeRTOS]- biblioteki zegara rcc z rozszerzeniem hal

    Jakiego typu jest absolutnie absurdalny i perwersyjnie wypaczony pomysł, aby mając OSa robić takie delay'e w wątkach ??? Również o podobną perwersję zakrawa wykonywanie przerwania timera co mikrosekundę tylko po to, zeby zmniejszać tam jakąś zmienną. Wez timer, skonfiguruj go jako one-shot, skonfiguruj mu takt na 1us, do ARR wpisz chciany czas w us,...

    Mikrokontrolery ARM   16 Cze 2015 23:09 Odpowiedzi: 8    Wyświetleń: 2592
  • [STM32] Jak sprawdzić zużycie RAM-u w STM32 w Eclipse z OpenOCD?

    Możesz tak zmodyfikować swoje funkcje, aby zwiększały specjalną zmienną globalną na starcie i zmniejszały przed powrotem o tyle bajtów ile zajmują zmienne lokalne danej funkcji. Wartość takiej zmiennej możesz wyrzucać na port szeregowy (co nie zawsze jest możliwe) albo odczytywać debugerem.

    Mikrokontrolery ARM   04 Lis 2011 19:10 Odpowiedzi: 5    Wyświetleń: 2466
  • [STM32] Jak pisać efektywne i przenośne biblioteki dla STM32 w C?

    Przykłady dobrych typedefów: size_t, ssize_t, uint32_t bo powoduja że twój kod jest portowalny. Przykłady złych typedef to właśnie struktury bo: - zaśmiecają globalną przestrzeń nazw - dają złudne przekananie że można taką strukturę na zadeklrować (bezpiecznie) jako zmienną automatyczną (na stosie) Rozdział 5" https://www.kernel.org/doc/Documentation...

    Mikrokontrolery ARM   12 Gru 2016 20:53 Odpowiedzi: 83    Wyświetleń: 10767
  • [STM32] - Jak ponownie uruchomić DMA mem to mem bez pełnej inicjalizacji?

    Przypadkiem :) Jeśli bufory są zmiennymi globalnymi, sizeof zwróci Ci rozmiar tablicy pomnożony przez wielkość typu tej tablicy. Jeśli przekazujesz je przez parametr, cóż... sizeof zwróci Ci liczbę 4. W Twoim przypadku zadziałało, bo to pewnie zmienne globalne, a DMA bez sensu kopiuje 4x więcej danych (jakieś śmieci z jednej części pamięci do drugiej...

    Mikrokontrolery ARM   29 Kwi 2014 08:49 Odpowiedzi: 24    Wyświetleń: 2754
  • [Programowanie, C] - tablica globalna,alokacja pamięci,STM32

    Coś naplątałeś... Aby uzywać malloca bez dziwnych errorów, musisz zadeklarować odpowiednią ilość miejsca na stertę . Co z tego, ze twoje zmienne zajmują niewiele ramu, skoro najpewniej ustawiles sobie parę kB sterty, i gdy przekroczysz te pare kB, program ci sie natychmiast wykrzaczy, bo oczywiście najpewniej nigdy nie sprawdzasz, czy malloc przypadkiem...

    Mikrokontrolery   12 Gru 2010 21:32 Odpowiedzi: 2    Wyświetleń: 2733
  • WS2812- Proszę o podpowiedź w pracy "tablica świetlna".

    Zmienne globalne zajmują...... Pewnie ram dla led jest rezerwowany w chwili uruchomienia biblioteki przez memalloc. Gdybyś sam pisał obsługę led to użyłbyś tablicy o określonym rozmiarze dzięki czemu wiedziałbyś ile ram zajmuje program. Poszukaj jak wyświetlić ilość wolnej pamięci ram w czasie działania programu. Jakiś freemem jest. Trochę oszuka ale...

    Arduino   25 Cze 2018 21:33 Odpowiedzi: 15    Wyświetleń: 1194
  • [stm32][c/crossworks] Hard Fault przy wejsciu do funkcji

    Heap size, to globalna wielkość stosu dla całego programu. Wszystkie funkcje, przerwania, zmienne itd. w tym siedzą. Spokojnie możesz dać 2kB te defaultowe 128 czy twoje 256 to dość mało. Pozostałych dwóch stosów nie zgłębiałem jeszcze - nie wiem - jak się dowiesz, to napisz, to też się czegoś nauczę

    Mikrokontrolery ARM   08 Lis 2010 18:37 Odpowiedzi: 13    Wyświetleń: 4366
  • STM32 Keil [C] - Jak zwiększyć pojemność stosu?

    Już działa.. We wszystkich funkcjach pojawiło się łącznie kilka dużych zmiennych lokalnych, usunąłem je i utworzyłem je jako globalne w strukturze i działa...dzięki za pomoc. Pozdrawiam, Maciek

    Mikrokontrolery ARM   12 Gru 2012 19:31 Odpowiedzi: 4    Wyświetleń: 2082
  • [STM32][C/uVision] problem z deklaracjami zmiennych

    Witam Programuje w różnych środowiskach od kilku lat ale czegoś takiego jeszcze nie widziałem. Zacząłem dziś tworzyć aplikacje na arma STM32 w środowisku uVision. Stworzyłem nowy plik nagłówkowy w którym chce zadeklarować sobie zmienną globalną. Zastosowałem dyrektywy #ifndef __MAIN_H #define __MAIN_H #endif, wewnątrz zadeklarowałem odpowiednią zmienną,...

    Mikrokontrolery ARM   18 Maj 2011 23:40 Odpowiedzi: 5    Wyświetleń: 2716
  • [stm32] [stm32][c++] Jak sprawdzić zużycie RAM przy dynamicznych obiektach?

    Nawet nie trzeba pisać całego menagera pamięci, wystarczy poprawić funkcje free/malloc/alloc/realloc tak, aby zmieniały wartość zmiennej globalnej określającej wielkość wolnego obszaru sterty - w c++ właściwie wystarczyłoby pokryć operatory new i delete oraz new[] i delete[]. Z drugiej strony wobec istnienia stosu na niewiele to by się zdało.

    Mikrokontrolery ARM   06 Wrz 2011 08:02 Odpowiedzi: 9    Wyświetleń: 3536
  • [stm32] Deklaracja tablicy globalnej zawiesza program

    Witam, Spotkałem się z bardzo dziwną sytuacją. Mianowicie, podczas deklaracji globalnej zmiennej tablicowej program nie działa. [syntax=c] char * Tablica[2]; int main( void) { } [/syntax] Jeśli w programie występuję deklaracja tak jak powyżej program zamiast wskoczyć do funkcji main() przerywany jest i obsługuje go przerwanie: NMI_Handler Jaki może...

    Mikrokontrolery ARM   29 Sty 2012 11:00 Odpowiedzi: 2    Wyświetleń: 1658
  • [STM32][CodeSourcery]Sterta w zewnętrzym RAM + malloc

    OK, działa :-) Dzięki serdeczne. Inicjalizację FSMC dałem na samym początku, gdyż pierwotnie "chciałem" tam też mieć zmienne globalne (a w wewnętrznej pamięci sam stos) i inaczej by się nie inicjalizowały, ale obecnie jest to mało istotne.

    Mikrokontrolery ARM   02 Sty 2011 13:59 Odpowiedzi: 3    Wyświetleń: 3809
  • [stm32, linker, .c + .cpp] STM32, linker: błąd linkowania .cpp z .c, przerwanie przy wywołaniu fatfs

    Tak na przyszłość - na stosie lepiej nigdy nie tworzyć obiektów większych niż kilkaset bajtów, zwłaszcza że stos często ma ograniczony rozmiar (np do 1kB, poniżej są już inne zmienne). Do tak dużych elementów lepiej coś globalnego, albo jak koniecznie musi być zwalniane albo potrzebne jest rzadko, to malloc() / new. 4\/3!!

    Mikrokontrolery ARM   16 Gru 2009 15:31 Odpowiedzi: 6    Wyświetleń: 1721
  • [STM32] Wybór środowiska do komercyjnych projektów: Keil, IAR, Eclipse?

    Hmm, czy nie jest bardzo wolny to bym dyskutował :) ale z pewnością to niezły kombajn. Jeśli chodzi o tą opcję "go to definition" to umieszcza ona kursor na definicji zmiennej globalnej po zaznaczeniu jej w kodzie, i to chyba tylko w obrębie jednego pliku źródłowego.

    Mikrokontrolery ARM   10 Gru 2008 17:22 Odpowiedzi: 8    Wyświetleń: 7867
  • Nieprawidłowe ustawianie stosu w STM32 w CrossWorks

    Od kilku dni testuję nowe środowisko Crossworks v.2.0 for ARM z układami STM32. Równolegle pracuję w środowisku Ride7 i wszystko w nim działa bez problemu (wierzchołek stosu jest zawsze daleko w pamięci od zmiennych globalnych) W Ride7, stos układów STM32 jest ustawiany bezpośrednio po resecie na wartość 0x20000000 + rozmiar RAM co w moim przypadku...

    Mikrokontrolery ARM   09 Lis 2010 16:55 Odpowiedzi: 9    Wyświetleń: 3484
  • Jak uruchomić GUI z ST na HY-Mini STM32? Szukam gotowych źródeł lub bibliotek

    Chyba rok temu przerabiałem GUI z jakiegoś przykładu dla tego modułu. Wycinałem masę niepotrzebnych śmieci. Zostawiłem tylko jedną funkcję ustawiająca współrzędne piksela, ustawiając odpowiednio jedną zmienną globalną obracam współrzędne x,y dowolnie (cztery możliwości) mając x,y pionowo czy poziomo z każdej strony, oczywiście uzgodnione ze współrzędnymi...

    Mikrokontrolery ARM   27 Sie 2014 11:24 Odpowiedzi: 36    Wyświetleń: 14343
  • STM32 z Arduino - nieprawidłowe stany na portach PA11, PA12, PA15, PB3, PB4

    Teraz jest taki problem. Jutro spróbuję poszukać pliku. Arduino:1.8.9 (Windows 10), Płytka:"Generic STM32F1 series, BluePill F103C8, STM32CubeProgrammer (SWD), Enabled (generic 'Serial'), None, Low/Full Speed, Smallest (-Os default), Newlib Nano (default)" A subdirectory or file sketch already...

    Mikrokontrolery   17 Lip 2019 14:33 Odpowiedzi: 19    Wyświetleń: 1818
  • [STM32][C] FreeRTOS vs Bare-metal różny czas wykonania instrukcji

    Tymczasem, gdy kod wykonywany jest pod kontrolą systemu, to operacje te zawsze wykonują się szybciej (przynajmniej te o których wspomniałem). Może we FreeRTOSie zrobili optymalizację JIT? (; Tak serio - różnica 2 taktów na pętlę naprawdę jest mało istotna. Spróbuj zmierzyć coś sensownego, np. policz sinusa czy jakiś pierwiastek, albo coś w ten deseń....

    Mikrokontrolery ARM   22 Lis 2018 00:28 Odpowiedzi: 21    Wyświetleń: 1374
  • [STM32][C++] - Obsługa peryferii / Wzorce projektowe

    Ja na samym początku przerzucam wektory przerwań na początek pamięci RAM. A później wstrzykuję swoją funkcję w miejsce oryginalnego wektora. Po rozmyślaniu na ten temat doszedłem do następujących wniosków. 1. Możliwość dynamicznej rejestracji przerwań (najlepiej w wysoce abstrakcyjny sposób, tak aby funkcje nie musiały być publiczne) byłaby z pewnością...

    Mikrokontrolery ARM   09 Lut 2018 15:58 Odpowiedzi: 9    Wyświetleń: 2010