stm32 zmienna pamięć

Znaleziono około 172 wyników dla: stm32 zmienna pamięć
  • [stm32] [CrossStudio] Zmienna char - alokacja pamięci

    1) Czy dla zmiennych o rozmiarze poniżej 32bity zawsze przydzielane jest 4 bajtowy rozmiar pamięci? To kwestia wyrównania. Gdyby nie te int-y wcześniej nie byłoby problemu. A że są, to kompilator stara się by każda zmienna 32bitowa była umieszczona pod adresem podzielnym przez 4 - tak by się dało ją odczytać/zapisać w jednym cyklu. Wielkość całej struktury...

    Mikrokontrolery ARM   09 Mar 2012 07:32 Odpowiedzi: 3    Wyświetleń: 1544
  • Zmienna const w STM32 - czy zajmuje miejsce w RAM czy tylko w FLASH?

    Pewnie używałeś wcześniej AVR, tam jest to bardziej zagmatwane. To nie kwestia procesora, a kompilatora. Równie dobrze możnaby na arm-gcc to zagmatwać, w końcu standard C nigdzie nie definiuje, że stałe muszą być we FLASH. Właśnie procesora. AVR pod jednym adresem może mieć trzy różne przestrzenie adresowe, pamięć programu, danych lub IO. W ARM adres...

    Mikrokontrolery ARM   16 Mar 2019 16:05 Odpowiedzi: 16    Wyświetleń: 978
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • dsPIC vs STM32 - zastoswanie w energoelektronice i automatyce napędu elektrycz.

    Też nie aż tak 'znacznie'. - dsPIC marnuje mniej czasu na wejście w ISR i na wyjście z niego, więc STM32 nadrabia zegarem i wychodzi podobnie. - W dsPICu instrukcja MAC wykonuje się w jednym cyklu, w STM32 w trzech (chyba). - dsPIC ma podzieloną pamięć na X i Y, z dodatkiem, że pewne przestrzenie adresów są dwuportowe i DMA nie kradnie cykli rdzenia...

    Mikrokontrolery   10 Cze 2011 12:52 Odpowiedzi: 18    Wyświetleń: 4115
  • REKLAMA
  • [STM32][C/uVision] problem z deklaracjami zmiennych

    bez apelacyjne operator extern powinno się tam znaleźć. To zleży jak przebiega proces kompilacji. Jeżeli kompilujemy wszystkie pliki na raz to w sumie ta dyrektywa o której wspominasz działa tak jak oczekujesz i rzeczywiście zmienna jest zadeklarowana tylko raz. Natomiast jak kompilujemy każdy plik źródłowy osobno do postaci pośredniej i później linkujemy...

    Mikrokontrolery ARM   18 Maj 2011 23:40 Odpowiedzi: 5    Wyświetleń: 2707
  • [Stm32] Jak zapisać liczby float w emulowanej pamięci EEPROM na STM32?

    unsigned int *ple=(unsigned int*)&ulamek; wszystko jest ok, bo to mówi mniej więcej tyle, co "postaw wskaźnik na unsigned int na adresie zmiennej ulamek". Jeśli tylko zadeklarowałeś 'ple' nie definiując go, to musisz zmienić wskaźnik (czyli samo ple), a nie to co pod nim jest (czyli *ple), i ten wskaźnik postawić na adresie zmiennej ułamek (czyli &ulamek)....

    Mikrokontrolery ARM   03 Paź 2011 18:46 Odpowiedzi: 10    Wyświetleń: 2684
  • 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ń: 2664
  • [STM32][TrueSTUDIO] Optymalizacja kodu - anomalia, prośba o wytłumaczenie

    Witam, Kiedyś miałem bardzo podobny objaw i okazało się, że jedna zmienna nie była zainicjalizowana, w związku z czym przyjmowała losowe wartości, ktore zmieniały się w zależności od położenia zmiennej w pamięci mikrokontrolera - na skutek dopisywania dalszych częsci programu to miejsce zmieniało się. I raz program działał dobrze, a raz szedł w maliny...

    Mikrokontrolery ARM   27 Wrz 2011 09:17 Odpowiedzi: 9    Wyświetleń: 2246
  • REKLAMA
  • [stm32] Keil umieszczenie przeskalowanego sinusa w pamięci flash

    Wolałbym zapis: Dobry wniosek (tak sądzę). Skąd kompilator ma wiedzieć jaką wartość ma zmienna i ?

    Mikrokontrolery ARM   26 Maj 2011 22:08 Odpowiedzi: 8    Wyświetleń: 2559
  • [STM32F103][keil][C] nieznany atrybut przerwania SysTick

    Jezeli po operecji atomowej zmienna1 = zmienna2 oczekujesz że zmienna1 == zmienna2 to w przypadku kiedy trzeba odczytac pamięć i ją zapisać to taka operacja nie jest atomowa. Czy trzeba wyłaczyc coś co może zmodyfikować zmienną 2 zależy od tego czy taka zmiana może coś zmienic w przebiegu wykonywana programu. To już zależy od konkretnego rozwiązania....

    Mikrokontrolery ARM   30 Gru 2017 10:38 Odpowiedzi: 63    Wyświetleń: 2454
  • stm32 - zapis zmiennych do trwałej pamięci, podczas pracy procesora.

    Tak wiem, że nie muszę przywracać zabezpieczenia, tylko spróbowałem ale się nie udało :). Rzutujesz wskaźnik na int16_t, a zmienna uparcie jest "short int" - po co? Bo tylko tak działa! Nie wiem jak inaczej mogę to zrobić ?

    Mikrokontrolery ARM   16 Gru 2011 22:43 Odpowiedzi: 29    Wyświetleń: 6697
  • stm32 Discovery Board SW4STM32 - Przechowywanie plików z obrazem w pamięci MCU

    Dlaczego nie użyłeś po prostu typu int? int i long mają na Cortexach po 32 bity. Chciałem mieć pewność że zmienna będzie "długa" bez zagrożenia, że znów się przepełni. :idea: można dołączyć nagłówek <stdint.h> i użyć typu int32_t albo uint32_t. Świetny pomysł! :D Zwłaszcza, że w tych deklaracjach widać długość zmiennych, chociaż tutaj takie małe...

    Mikrokontrolery   04 Mar 2016 08:44 Odpowiedzi: 11    Wyświetleń: 837
  • [STM32][CodeSourcery]Deklaracja struktury w pamięci flash.

    Z tym rzutowaniem to wolę jednak "ręcznie" to robić....jakoś tak wydaje mi się bezpieczniej. U mnie akurat sizeof zawsze będzie mniejsze niż 256 gdyż jest to po prostu ilość bajtów do zapisania jednej zmiennej/tablicy/struktury i nie zamierzam robić większych :wink:. Biblioteki z ST są zakręcone..niestety. Zaletą mojego pomysłu jest to że struktura...

    Mikrokontrolery ARM   13 Lut 2010 15:11 Odpowiedzi: 21    Wyświetleń: 7724
  • REKLAMA
  • PIC32/STM32 - Wielkość "normalnego" współczesnego kodu wynikowego...

    Dlaczego źle? Niewykorzystana pamięć to pamięć zmarnowana. Z drugiej strony, jeśli nie używasz zmiennego przecinka, printf-family i tym podobnych procesorożerców to w 32kB można zmieścić dość dużo. Wybór należy do Ciebie nie do nikogo innego. Rozsądna wielkość, to taka jak Tobie jest potrzebna. 64kB to czasem na dane nie wystarcza. Albert

    Mikrokontrolery   26 Kwi 2013 09:00 Odpowiedzi: 9    Wyświetleń: 2124
  • [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
  • Jak umieścić tablicę unsigned char w pamięci Flash STM32 w Keil?

    Witam! Chciałem umieścić stałe w pamięci flash ale coś mi nie wychodzi. [syntax=c] // Funkcja wykorzystująca stałe uint8_t Search(const char data[]); [/syntax] Przy wywołaniu funkcji w kilkunastu miejscach w programie w taki sposób: [syntax=c] Search("OK\r\n"); [/syntax] Zajętość flash=47428 i ram=10760 Po zmianach: [syntax=c] const char(* const AT_OK)[]...

    Mikrokontrolery ARM   11 Cze 2014 18:34 Odpowiedzi: 28    Wyświetleń: 5446
  • STM32 bootloader - Jak relokować tablicę przerwań dla bootloadera i aplikacji?

    (at)michalko:"Dokładnie, wystarczy zmieniać tylko adres bazowy głównego programu w skrypcie linkera. " No właśnie nie. Zmienna FLASH_BASE w tym wyrażeniu, to nie adres bazowy programu, ale adres bazowy całej pamięci FLASH 0x80000... (sprawdziłem). Najmniej inwazyjna zmiana, to właśnie podmiana w tym wyrażeniu FLASH_BASE na jakiś PROGRAM_BASE (celniej...

    Mikrokontrolery ARM   12 Lis 2014 21:49 Odpowiedzi: 17    Wyświetleń: 2730
  • Atmega128L i SRAM BS62LV1024 - Jak poprawnie podłączyć i używać pamięć?

    Można użyc ich jako wstawek asemblerowych, bo ja piszę w C? Myślisz, że zatrzask 74HC573 wydoli dla Atmegi128L(3.3V,8MHz)? Czy może zaopatrzec się w wersje AHC? Jak najbardziej można operować asemblerem i w sumie jest to dość przejrzyste (trzeba sobie zmontować proste wstawki przeładowania zmienna<->RAM. Sorry za brak szczegółów co do samego...

    Mikrokontrolery   29 Lip 2008 12:05 Odpowiedzi: 25    Wyświetleń: 3495
  • [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
  • Duży kod wynikowy przy pustej funkcji main w STM32F103 na Linuxie - czy to normalne?

    Po prostu przechodzę z avr a tam przy pustej main bylo nieco ponad 100 bajtów. Bez sensu to Twoje porównanie. To przecież dwa różne światy. Sama tablica wektorów przerwań w F103 to 200bajtów (ok. 50 wektorów * 32 bitowy adres). Plus inicjalizacja rejestrów i samego C, plus ustawienie zegara. Wychodzi 1k, jest bardzo dobrze. Nie ma się co tym przejmować,...

    Mikrokontrolery ARM   12 Mar 2017 10:05 Odpowiedzi: 14    Wyświetleń: 1269
  • [STM32][C] - Dwie wersje bin w pamięci FLASH, skok pod wybrany adres

    Już zgłupiałem. Niemniej jednak fizyczny zapis dokonywany jest po 4 bajty na raz jeśli ustawiłeś zapis 32-bitowy. Więc: mam w buforze daną o wartości 0xAB <- 1 bajt. Zapisuje ją pod adres = 0, więc komórki od 0 do 3 zawierają 0x000000AB tak? Następna zmienna powiedzmy 0xCD zostaje zapisana pod adres 4. I komórki od 4 do 7 zawierają 0x000000CD. Więc...

    Mikrokontrolery ARM   26 Lut 2016 17:10 Odpowiedzi: 70    Wyświetleń: 5184
  • [STM32] Dziwne działanie ADC na STM32F100RB - problem z odczytem kanału PA1

    Dobrze, że pytasz :) Więc odpowiadam, że zmienna 8 bit zajmie dokładnie 8 bitów w pamięci. Ale przecież nie napisałem, że najlepiej ustawić najszybciej jak się da, tylko, że trzeba się kierować tym, co ile potrzebujesz ten sygnał i jaka jest jego częstotliwość. Jak masz analogowy miernik temperatury, którym mierzysz temperaturę w pokoju, to nie będziesz...

    Mikrokontrolery ARM   07 Wrz 2012 08:48 Odpowiedzi: 17    Wyświetleń: 1917
  • [stm32f0] Kiedy używać dynamicznej alokacji pamięci w FreeRTOS na STM32F0?

    1. Dynamicznej alokacji pamięci używaj wtedy gdy potrzebujesz dużej ilości pamięci przez określony czas. Jak pamięć nie jest Ci już potrzebna to ją zwalniasz. Jeżeli masz jakieś zmienne, które używasz przez cały czas działania programu to malloc nie ma sensu. Zmienna statyczna zadeklarowana w funkcji ląduje w tym samym obszarze pamięci co zmienne globalne...

    Mikrokontrolery   05 Kwi 2014 16:38 Odpowiedzi: 8    Wyświetleń: 1443
  • Bezpieczny zakres adresów do zapisu danych we flashu na ARMach?

    Nie przeczytałeś noty aplikacyjnej i dalej marudzisz. Po pierwsze zauważ więc, że nie ma obowiązku używania ARMów, Cortexów, STM32 czy ogólnie emulowania EEPROMu - jeśli masz przy tym cierpieć takie katusze, to przecież nie ma sensu męczyć siebie i nas. To jest ten najważniejszy punkt. Jeśli nie sprawia Ci to przyjemności, a wręcz sprawia "egzystencjalny...

    Mikrokontrolery ARM   28 Gru 2017 17:55 Odpowiedzi: 86    Wyświetleń: 3108
  • Stare na nowe czyli kod z ATMEGA 32 usiłuje wziąć do STM32F103

    [syntax=arduino] void loop()  {   // ------------------- jeszcze na LCD ...   //-------------------- jeszcze 8 pomia...   //-------------------- jakaś pamięc do...   switch (key) ... } [/syntax] To Ci działa? Bo on chyba nie bardzo wie co to "key". Nie widzę ani deklaracji, ani żeby się cośtam wpisywało....

    Mikrokontrolery ARM   09 Sie 2024 15:25 Odpowiedzi: 330    Wyświetleń: 6876
  • Wywołanie printf() skutkujące wywołaniem obsługi wyjątku Hard Fault

    Jeśli chcesz to zdebuggować, to możesz się "zaopatrzyć" w bleeding-edge-toolchain ( https://github.com/FreddieChopin/bleedin... ). Jest on kompilowany praktycznie tak samo jak toolchain ARMowy, z tym że biblioteki zawierają wszystkie symbole, a więc można je spokojnie debuggować i widzisz co się dzieje. Z Twojego opisu wynika, że problem...

    Mikrokontrolery ARM   03 Cze 2019 21:29 Odpowiedzi: 7    Wyświetleń: 594
  • KEIL Linker STM32 - umieszczenie biblioteki *.LIB w stałym miejscu Flash

    Witam Mam pytanie (wcale nie hipotetyczne): Mam własny program + zamknięte biblioteki (format *.LIB - ok 18kB!) z których on korzysta. Przyszła potrzeba wykonania bootloadera. W związku z tym, że zarówno bootloader, jak i aplikacja wymagają do działania właśnie tej (nie małej jak widać) biblioteki dobrze byłoby umieścić ją w stałym miejscu pamięci Flash....

    Mikrokontrolery ARM   09 Paź 2013 12:46 Odpowiedzi: 1    Wyświetleń: 1965
  • [F0] EEPROM - zapisuje tylko pierwsze 256 komórek we FLASH

    Bazując na https://obrazki.elektroda.pl/4178510200_... https://obrazki.elektroda.pl/8769073400_... main.c [syntax=c] /* Virtual address defined by the user: 0xFFFF value is prohibited */ uint16_t VirtAddVarTab[NB_OF_VAR]={0}; uint16_t Virtval[NB_OF_VAR]={0}; uint16_t VarValue= 0; int main(void) { HSE_init(); //systick_init();...

    Mikrokontrolery ARM   19 Lip 2020 23:30 Odpowiedzi: 8    Wyświetleń: 819
  • [STM32][C] Debugowanie kodu przerwania w pamięci RAM

    Hmmm. Wgrałem oryginalny program z Stm32 MassStorage. vectors.c startup.S i .ld o kolegi Freddie Chopin. Mam obecnie dwa przerwania z Usb: USB_HP_CAN1_TX_IRQHandler i USB_LP_CAN1_RX0_IRQHandler ( w vectors.c było bez jedynek kolo CAN ). Zrobiłem takie coś, orginalny program void USB_HP_CAN1_TX_IRQHandler(void) { CTR_HP(); }...

    Mikrokontrolery ARM   16 Kwi 2010 14:27 Odpowiedzi: 5    Wyświetleń: 3380
  • [stm32f4] Jak zarezerwować sektory 3 i 4 dla EEPROM w STM32F4 bez nadpisywania kodu?

    Ok panowie. Skutecznie namówiliście mnie na wygospodarowanie kawałka miejsca na kartę microsd :) Dzięki za pomoc. Dodano po 16 PS. (at)tplewa ten temat ogólnie dla setek się sprawdza bardzo dobrze bo tam pamięć jest podzielona na jednorodne bloki (po 1k dla LD i 2k dla HD) i nie wyobrażam sobie mając urządzenie wielkości karty SD pchać tam baterię (jak...

    Mikrokontrolery ARM   04 Sie 2015 16:57 Odpowiedzi: 20    Wyświetleń: 1431
  • [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ń: 1386
  • STM32F0DISCOVERY - brak możliwości zapisu do pamięci Flash po modyfikacji kodu

    Witajcie, właśnie się bawię pamięcią Flash w STM32F0DISCOVERY (chcę się nauczyć obsługi). Efekt? Chyba zablokowałem możliwość zapisu... Kod (dopiero się uczę, więc komentarze mogą zawierać błędy): [syntax=c]#include "stm32f0xx.h" #include "stm32f0_discovery.h" int main(void) { RCC -> AHBENR |= RCC_AHBENR_GPIOCEN;//LEDY GPIOC -> MODER |= GPIO_MODER_MODER8_0...

    Mikrokontrolery ARM   09 Maj 2017 20:29 Odpowiedzi: 10    Wyświetleń: 1215
  • Jak stworzyć stoper na STM32F407 z użyciem HAL i timerów TIM6/TIM7?

    Ewentualnie odpal timer z przerwaniem od przepełnienia i tam w przerwaniu wsadź zmienną która będzie zerowana w momencie naciśnięcia "start pomiar" i zwiększana co powiedzmy 1ms przez przerwanie (nie wiem jaką chcesz dokładność, możesz dać np. 0,1ms i masz większą precyzje). Potem jak naciśniesz "stop pomiar" to timer przestanie zwiększać tą zmienną...

    Mikrokontrolery ARM   10 Lut 2017 13:55 Odpowiedzi: 11    Wyświetleń: 1080
  • [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ń: 633
  • HY-mini STM32 - Zmiana numeru portu GPIO w zależności od zmiennej

    "Rejestry GPIO" to nic innego jak adresy w pamięci. Operuj adresami, a nie nazwami. Makra najprawdopodobniej będziesz musiał napisać sobie sam.

    Mikrokontrolery ARM   02 Lis 2012 11:42 Odpowiedzi: 4    Wyświetleń: 1191
  • Otwarte oprogramowanie do chińskiego zasilacza warsztatowego

    https://obrazki.elektroda.pl/5694434400_... Moduły zasilaczy warsztatowych, takie jak DPS5005, dostępne są od dłuższego czasum.in. na AliExpress. Doczekały się wielu recenzji, w większości pozytywnych. Jednakże często wskazywanym problemem z tymi modułami jest kiepskiej jakości oprogramowanie – interfejs użytkownika pozostawia...

    DIY Zagranica   13 Cze 2021 19:16 Odpowiedzi: 21    Wyświetleń: 12903
  • STM32 - Konfiguracja modułu Bluetooth dla wysokiej częstotliwości próbkowania

    "nieszczęścia chodzą parami", bo na tym cudownym forum trudno znaleść post Pana Freddiego nie poparty natychmiast postem Pana gaskoina. Ja się nie wstydzę przyznać, że się nie znam na mikrokontrolerach, ale zauważcie że ani post Pana Freddiego, ani Pana gaskoina nie odpowiedział na pytanie zadane w temacie. Jeśli uważasz, że mój post na to zasługuje,...

    Mikrokontrolery ARM   09 Lis 2012 23:07 Odpowiedzi: 24    Wyświetleń: 4020
  • [STM32][USART][DMA] - Nadawanie przez USART z wykorzystaniem DMA STM32DISCOVERY

    Na wypadek, gdybyś nie zauważył: przy takich deklaracjach i treści procedury konfiguracji DMA, jakie masz obecnie, do rejestru adresu pamięci DMA wpisujesz wartość bajtową odczytaną z pamięci ze zmiennej TxBuf, rozszerzoną zerami do 32 bitów, czyli wysyłasz przez UART zawartość tablicy wektorów wyjątków.

    Mikrokontrolery ARM   14 Mar 2013 07:47 Odpowiedzi: 125    Wyświetleń: 26457
  • [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ń: 852
  • [stm32] Jak umieścić strukturę const w pamięci programu w Keilu?

    extern należy dodać wtedy gdy dołączamy ten sam plik .h kilka razy (zresztą kompilator nas o tym uprzejmie poinformuje). Wskaźnik jest zmienną wskazującą na dane w obszarze flash i jest umieszczony w RAM'ie'. Wskaźnik może wskazywać również na dane w RAM'ie.

    Mikrokontrolery ARM   17 Kwi 2011 20:13 Odpowiedzi: 8    Wyświetleń: 2044
  • STM32 - HardFault przy użyciu bibliotek FatFs na układzie STM32 mini

    Nie znam tej biblioteki, pół minuty temu pobrałem jej źródła, ale z tego co patrzę, to struktura FILINFO zadeklarowana jakoś tak: [syntax=C]// FatFS R0.08b, ff.h typedef struct { DWORDfsize; /* File size */ WORDfdate; /* Last modified date */ WORDftime; /* Last modified time */ BYTEfattrib; /* Attribute */ TCHARfname[13]; /* Short file name (8.3 format)...

    Mikrokontrolery ARM   18 Lip 2011 16:39 Odpowiedzi: 3    Wyświetleń: 3084
  • [STM32L1] [STM32L1][C] Wskaźnik na funkcję inicjowany niepoprawnym adresem (0x8800ecd1)

    Mam dziwny problem ze wskaźnikiem na funkcję. W kodzie jak poniżej pole initDriver nie jest inicjowane adresem funkcji (0x0800ecd0), tylko jakby popsutym (0x8800ecd1). Wygląda jakby coś niepotrzebnie ustawiało dwa bity w adresie, najmłodszy i najstarszy. Jakie może być wytłumaczenie? [syntax=c] drv = (struct at_ble_drv_t*) ble_memalloc(sizeof(struct...

    Mikrokontrolery ARM   27 Lut 2017 14:32 Odpowiedzi: 18    Wyświetleń: 1443
  • STM32 - GCC: Jak umieścić tablicę w środkowej części pamięci flash?

    Ok, zrobię ja albo na poczatku, albo na koncu flasha Dodano po 1 Tak się nie da. Chyba, że kod programu zostanie podzielony na dwie sekcje i jedna będzie umieszczona przed tablicą a druga za tablicą. A jak zastosowac sekcje np. dla całego pliku, żeby nie definiowac przy każdej zmiennej? Ty się lepiej najpierw zastanów czy na pewno chcesz to zrobić.

    Mikrokontrolery ARM   22 Lip 2015 09:07 Odpowiedzi: 5    Wyświetleń: 822
  • [STM32] Jak pisać efektywne i przenośne biblioteki dla STM32 w C?

    Przeczytałem wątek z dużym zainteresowaniem, wracam do uP po paru latach natomiast jestem starym programistą C Nie będę redagował jednolinijkowych cytatów, wypowiem się w punktach mam nadzieję każdy wyczyta co pochwalam / czemu się sprzeciwiam 0) nie zmienimy starego albo nie swojego kodu (np AVR czy innego) ale nowy możemy pisać lepiej. a) makra to...

    Mikrokontrolery ARM   12 Gru 2016 20:53 Odpowiedzi: 83    Wyświetleń: 10755
  • [STM32][Nand flash] - Nie działajacą obsługa pamięci nand flash

    Uruchomiłem kod, który wkleiłeś. Dopisałem tylko definicje dla Bank_NAND_ADDR ( 0x70000000 ), CMD_AREA ( 0x00010000 ), ADDR_AREA ( 0x00020000 ) i DATA_AREA ( 0x00000000 ). W funkcji FSMC_NAND_ReadID() pominąłem zapis do struktury i odczytuję zmienną data - mam w niej prawidłowe dane. Dodano po 8 Może nie włączyłeś taktowania dla FSMC? Ja mam to w innej...

    Mikrokontrolery ARM   23 Maj 2013 14:04 Odpowiedzi: 6    Wyświetleń: 5394
  • Zmienne globalne wykorzystywane przez przerwania i inne.

    Chyba zaczyna się ujawniać wyższość procesorów o możliwie długim słowie danych - nawet operacje 32 bitowe będą atomowe. Nie będą niestety o ile operacja RMW będzie realizowana przez kilka rozkazów, które mogą być przerwane. Będzie natomiast w systemie, który będzie modyfikować pamięć jednym rozkazem, który nie może być przerwany (a często mogą być...

    Mikrokontrolery Początkujący   28 Kwi 2021 13:48 Odpowiedzi: 47    Wyświetleń: 2871
  • 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ń: 2334
  • [STM32/LPC] - Początki ARMów, kilka wątpliwości.

    Przykładów można szukać w SPL - można się w ten sposób dowiedzieć, w których rejestrach i co trzeba wpisać. Powoli szykuję tutorial do STM32 bez biblioteki, ale to jeszcze trochę potrwa. Kłopoty z bibliotekami są wielorakie. Ostatni kłopot - to to, do czego nas zachęcają przykłady z użyciem bibliotek, czyli deklarowania struktur jako zmiennych i pracowitego...

    Mikrokontrolery ARM   17 Lut 2014 12:29 Odpowiedzi: 27    Wyświetleń: 4356
  • [STM32F1][C] - Lista jedokierunkowa - wyciek pamięci

    Witam! Kilka słów o projekcie. Urządzenie wykonuje odczyt z czujników - częstotliwość pomiarów i ilość punktów pomiarowych jest zmienna. Pomiary następnie są wysyłane do urządzenia nadzorującego w odpowiedzi na jego zapytanie. Moim założeniem jest kolejkowanie pełnych ramek z pomiarami i czasem ich wykonania w postaci listy jednokierunkowej, a gdy jest...

    Mikrokontrolery ARM   01 Lip 2014 12:02 Odpowiedzi: 30    Wyświetleń: 3354
  • [STM32] [C/Keil/STM32CubeIDE] F030 transmisja SPI z użyciem DMA

    Nie chcę inkrementacji. Wysyłam cały czas tą samą zmienną kilkukrotnie z jednej lokalizacji pamięci. W przerwaniu jest przeliczana na inną wartość w taki sposób: Ok. Niemniej jednak skopiowałem ten kod z #8 do CubeIDE 1.5.0, zrobiłem parę korekt pod moje PCB, dokonałem poprawnej implementacji flagi BUSY i wszytko działa jak powinno z inkrementacją...

    Mikrokontrolery ARM   22 Sty 2021 13:24 Odpowiedzi: 21    Wyświetleń: 1047
  • Stacja Lutownicza T12 - SO

    Kolejny projekt lutownicy? Przedstawiam projekt stacji lutowniczej pod groty T12 dla każdego. O problematyce i wnioskach opowiem później, więc pomijając wyjaśnianie co to lutownica - jaki jest koń każdy widzi - zapraszam najpierw do galerii. Nadmienię tylko, że nie każdy ciekawy projekt jest warty naszego czasu! :) https://obrazki.elektroda.pl/3274539000_...

    DIY Warsztat   17 Mar 2024 00:28 Odpowiedzi: 5    Wyświetleń: 6795
  • Brak dźwięku przy I2S między STM32-H743ZI2 a kodekiem CS4220

    Takich rzeczy się nie da debugować zdalnie. Generalnie technika jest taka że się eliminuje problem po problemie. 1. Zobacz w debugerze czy trafia to do pamięci tam gdzie chcesz. 2. Zrób tablicę z danymi testowymi i po prostu wyślij to do DAC-a I tak po kolei eliminuj zmienne z równania. Innej medoty nie ma.

    Mikrokontrolery ARM   12 Lut 2024 06:54 Odpowiedzi: 30    Wyświetleń: 936
  • [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
  • STM32: Jak zredukować próbkę 24-bitową do 16-bitowej i odwrotnie?

    Skoro nasz sygnał muzyki jako już zedytowany, znormalizowany materiał to faktycznie 16 bitów wystarczy w zupełności bez kompromisu jakościowego. Zauważ zresztą że ... Cieszę sie z tego głosu. Co do konwersji próbek między różnymi rozdzielczościami (będącymi wielokrotnością 8 bitów), to szybką metodą nie wymagającą żadnych operacji arytmetycznych ani...

    Mikrokontrolery ARM   10 Cze 2024 15:47 Odpowiedzi: 33    Wyświetleń: 867
  • [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ń: 3293
  • STM32 F429 - Podział i zastosowanie pamięci SRAM oraz co to jest CCM?

    Do czego używać tą pamięć? Stos czy jakieś zmienne. Kod tylko w SRAM1 (nie do końca, sprawdź wypowiedź kolegi Freddie Chopin niżej), dane mogą być gdziekolwiek.

    Mikrokontrolery ARM   03 Lip 2019 17:54 Odpowiedzi: 4    Wyświetleń: 642
  • [STM32]Dziwny problem z obsługą panelu dotykowego TSC2046

    Witam serdecznie po raz kolejny :) proszę o pomoc ze względu na fakt, iż troszeczkę się pogubiłem. Próbuje obsłużyć panel dotykowy TSC2046 (nigdy wcześniej tego nie robiłem) na wyświetlaczu 320x240 ze sterownikiem ILI9320. Używam trybu 8bitowego, ale w 12 bitowym dzieje się to samo. Problem polega na tym, że od czasu do czasu, pomimo moich zabezpieczeń...

    Mikrokontrolery ARM   25 Lut 2011 09:08 Odpowiedzi: 5    Wyświetleń: 3801
  • [STM32][C] FreeRTOS vs Bare-metal różny czas wykonania instrukcji

    Stawiam na różne adresy kodu w pamięci Przecież adresy są takie same. Adresy używanych zmiennych zresztą też.

    Mikrokontrolery ARM   22 Lis 2018 00:28 Odpowiedzi: 21    Wyświetleń: 1368
  • [stm32] Jak wysyłać i odbierać dane z zewnętrznego RAMu przez FSMC w STM32?

    Yup. A potem jeszcze sekcję na ta pamięć. I zmienne które chcesz mieć w tej pamięci musisz opatrzyć atrybutem umieszczającym je w tej własnie sekcji. Może też skorzystać np ze wskaźników, jeśli tak jest komuś wygodniej. 4\/3!!

    Mikrokontrolery ARM   13 Wrz 2011 08:50 Odpowiedzi: 26    Wyświetleń: 3680
  • [stm32][podstawy C] - Odczyt poszczególnych bajtów zmiennej

    Witam, Wiem, pytanie bardzo podstawowe ( dopiero raczkuję ) ale naprawdę coś nie mogę odnaleźć odpowiedzi w jaki sposób odczytać zawartość bajtów (bezpośrednio z pamięci) zmiennej strukturalnej? wszystkie moje pomysły nie podobają się kompilatorowi.

    Mikrokontrolery ARM   18 Gru 2015 17:47 Odpowiedzi: 6    Wyświetleń: 1593
  • 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ń: 1188
  • [STM32] [STM32][Keil][C] Problemy z zapisem/odczytem pamięci m25p16 - tylko RDID działa

    Okazało się, że podszedłem do tematu z niewystarczającą wiedzą. Przed każdym zapisem, należy określony sektor wyczyścić instrukcja Sector Erase. Chcialbym móc kasować pojedyncze komórki i aktualizować tam niektóre dane, jednakże pamięci flash tego nie umożliwiają, cóż coś za coś. Może uda się niektóre zmienne zapisywać do flashu procesora. Coś wymyślę,...

    Mikrokontrolery ARM   13 Cze 2011 15:27 Odpowiedzi: 1    Wyświetleń: 1917
  • [STM32] [STM32][DMA][USART] Jak wywołać przerwanie po nadejściu znaku końca ramki?

    A właśnie, że jest sposób na efektywne wykorzystanie DMA przy odbiorze, nawet dla zmiennej długości ramek. Wystarczy ustawić przerwanie od stanu IDLE dla kanału szeregowego U(S)ART, które generowane jest po zakończeniu transmisji. W tym momencie wszystkie dane są już w zdefiniowanym w DMA obszarze pamięci.

    Mikrokontrolery ARM   03 Mar 2017 12:25 Odpowiedzi: 32    Wyświetleń: 11772
  • [C] - Jak przypisać zmiennej określony adres fizyczny?

    Pamięć BKP_SRAM w kontrolerach STM32F4xx zaczyna się od adresu fizycznego 0x40024000. Jak przypisać zmiennym które muszą się w tym obszarze mieścić adresy fizyczne? np. takie cos nie działa: [syntax=c] #define BKP_SRAM_BASE 0x40024000 uint32_t zmienna; void main(void) { &zmienna = BKP_SRAM_BASE; --- -- - [/syntax]

    Programowanie   09 Sty 2015 09:48 Odpowiedzi: 10    Wyświetleń: 1683
  • [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ń: 3530
  • [STM32][C/Keil] Jak sterować diodami WS2812B przez SPI z STM32F407?

    Dzień dobry, Dopiero zaczynam swoją przygodę z uC, mniej więcej ogarniam język C i stanęło przede mną zadanie napisania kodu sterownika do diod WS2812B. Wiem, że na temat tych diod było już sporo wątków na forum, więc będę się streszczał. Sercem sterownika ma być docelowo mikrokontroler z serii STM32F0 lub STM32F4, w zależności od tego jak dużo będę...

    Mikrokontrolery Początkujący   20 Gru 2018 22:32 Odpowiedzi: 6    Wyświetleń: 1326
  • System uCOSII2.91+UCGUI3.90A STM32 ARM zestaw HY Mini zmienne ..

    Po prostu za mało pamięci dla tablic rezerwujesz. Pamiętaj że jak chcesz przechować 4 znaki to tablica powinna mieć 5 elementów (ostatni znak: NULL - \0 )

    Mikrokontrolery ARM   15 Sty 2012 20:32 Odpowiedzi: 6    Wyświetleń: 2275
  • Implementacja tablic funkcji w pamięci FLASH mikrokontrolera STM32

    Dzięki DXFM za odpowiedź :) Tzn. wiem i potrafię zadeklarować tablicę na sztywno w pamięci FLASH - z tym jest wszystko ok. Ale mnie chodzi o coś takiego: mam pewną funkcję, która w swoim argumencie ma zmienną - może ona być modyfikowana przez użytkownika (coś w stylu sin(a*x), gdzie a jest tą zmienną od usera). Teraz... wyliczam np. 512 wartości funkcji...

    Mikrokontrolery ARM   17 Paź 2014 22:33 Odpowiedzi: 9    Wyświetleń: 1512
  • [OpenOCD] [OpenOCD][STM32] Błąd debugowania po dodaniu funkcji sscanf_ w kodzie

    Twój układ się wykrzacza. Przy używaniu funkcji variadic (ze zmienną liczą argumentów) KONIECZNE jest wyrównanie WSZYSTKICH stosów do 8. Poza tym w tej funkcji jest na stosie sporo zmiennych, przede wszystkim ten 100bajtowy bufor. To też może być problemem jeśli pamięć się kończy. 4\/3!!

    Mikrokontrolery ARM   08 Lut 2012 10:32 Odpowiedzi: 7    Wyświetleń: 2976
  • 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ń: 1803
  • STM32 - ten sam adres dla różnych zmiennych const uint8_t w debuggerze

    odpisałeś w trakcie edytowania przeze mnie pierwszego posta. Użycie zmiennych pomogło na błąd debuggera lecz problem tego samego adresu pozostał. Co ciekawe, podglądając pamięć okazuje się że wartości inicjalizacji są zapisane do pamięci prawidłowo. Problem polega na przypisaniu złych adresów do wyrażeń słownych określających zmienne. Nie bardzo orientuje...

    Mikrokontrolery ARM   21 Cze 2011 14:24 Odpowiedzi: 8    Wyświetleń: 2691
  • [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ń: 2751
  • STM32F - Skrypt linkera: Jak poprawnie zdefiniować sekcje .text i .data?

    Witam, poczytałem sporo informacji nt. skryptów linkera, ale niestety jednej rzeczy nie mogę zrozumieć. Mam przykładowy zapis (sam napisałem): [syntax=c] .text : { . = ALIGN(4); __text_start__ = .; /* zmienna zawierająca początek sekcji text */ *(.text) /* kod wykonywalny aplikacji */ *(.text.*) *(.rodata) /* dane tylko do odczytu przechowujemy we flashu...

    Mikrokontrolery ARM   12 Kwi 2013 20:39 Odpowiedzi: 1    Wyświetleń: 1209
  • Wybór zestawu startowego do nauki ARM Cortex-M3, STM32, ZL27ARM czy inny?

    A nie można po prostu zapytać autora, co ma na myśli pisząc o "wielu zmiennych"? ;) To ma być orientacyjny szacunek ich liczby w kodzie, czy jakieś konkretne oszacowanie zużycia pamięci na podstawie planowanego programu?

    Mikrokontrolery ARM   23 Sty 2014 08:57 Odpowiedzi: 33    Wyświetleń: 7524
  • [STM32][C] Błąd kompilacji przy inkrementacji const volatile zmiennej

    volatile ma wiele zastosowań, ten kwantyfikator jest traktowany jako side effect przez co kompilator nie może kawałka kodu w pełni zoptymalizować (np zapisywanie danych w pętli for nie może być zastąpione przez memcpy) Użycie zmiennej const volatile nie ma sensu, const volatile może nieść tylko informację dla programisty, że w danym kawałku kodu, nie...

    Mikrokontrolery ARM   15 Kwi 2019 17:07 Odpowiedzi: 8    Wyświetleń: 1551
  • [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ń: 3803
  • STM32L151 - GCC deklaracja zmiennych w pamieci eeprom

    Witam STM32l151CC dysponuje 8Kb EEPROMu.. Próbuję zadeklarowac zmienne w pamieci eeprom, zrobilem cos takiego: [syntax=c] const char EEPROM_moj[] __attribute__ ((section(".eeprom"))) ={10,20,30,40}; w pliku linkiera MEMORY { rom (rx): org = 0x08000000, len = 256k ram (rwx): org = 0x20000000, len = 32k eep (rw) : org = 0x08080000, len = 1k } SECTIONS...

    Mikrokontrolery ARM   05 Maj 2014 13:11 Odpowiedzi: 7    Wyświetleń: 1443
  • STM32 - Keil uVision4 - debugger i odczytanie wartości wskaźnika

    A ja zadam "głupie" pytanie: próbowałeś po prostu wpisać zmienną do View->Watch1 (oczywiście w trybie debugowania)? Jakoś nigdy nie miałem kłopotu (z poziomu Watch table ) z odczytem wskaźnika jak również z zapisem i odczytem komórki pamięci na jaki wskazuje.

    Mikrokontrolery ARM   08 Kwi 2015 08:16 Odpowiedzi: 4    Wyświetleń: 1539
  • [STM32] tablice we Flasch, RAM iprzekazywanie, zmienne globalne w kilku plikach

    Wnioski są proste: wszystko, co jest zadeklarowane na poziomie zewnętrznym z atrybutem const i wszystko, co jest zadeklarowane wewnątrz procedur z atrybutami static const ląduje tylko w pamięci nieulotnej (o ile ktoś nie zaszalał ze skryptem konsolidatora). Oczywiście należy przy okazji mieć świadomość tego, jak należy użyć const w C deklarując stałą...

    Mikrokontrolery ARM   12 Mar 2021 07:25 Odpowiedzi: 16    Wyświetleń: 1161
  • Jak uruchomić GUI z ST na HY-Mini STM32? Szukam gotowych źródeł lub bibliotek

    Jakie tam na przykład bugi występują? W różnych funkcjach - różne traktowanie osi X i Y, różne typy tych samych zmiennych. We funkcjach tego samego typu - np rysowanie - raz wykonanie bezpośrednio przez pisanie do pamięci, raz przez funkcję typu putpixel, któr robi to samo co pisane do pamięci, ale w kilku niepotrzebnych krokach/makrach; w jednych...

    Mikrokontrolery ARM   27 Sie 2014 11:24 Odpowiedzi: 36    Wyświetleń: 14325
  • Gdzie znaleźć listę rozkazów dla STM32F410RB? Różnice w instrukcjach.

    Oczywiście chciałem pisać w C, ale nikt nie potrafi mi powiedzieć dlaczego dla jednego wygląda to tak gpio.GPIO_Mode = GPIO_Mode_Out_PP; A dla drugiegotak: gpio.GPIO_OType = GPIO_OType_PP; gpio.GPIO_Mode = GPIO_Mode_OUT; (at)stmx napisał, że to udogodnienie, ale całym problem jest w tym, że to nie działa zamiennie, chociaż teoretycznie robi to samo....

    Mikrokontrolery Początkujący   16 Sty 2019 20:32 Odpowiedzi: 121    Wyświetleń: 4992
  • Maksymalna liczba zmiennych w emulacji EEPROM STM32 wg AN2594?

    Pokrzaczyło się, bo przekroczyłeś dostępną pojemność pamięci - niestety. Dla 1kB strony wychodzi mi, że max to 255 elementów 2-bajtowych o 2-bajtowym "adresie". Trochę marnotrawstwo, bo jeden bajt "adresu" będzie zawsze równy zero. Jeśli zmienne z tej paczki 20 x 16bitów są zmieniane wszystkie na raz, to lepiej byłoby Ci zmodyfikować ten kod tak aby...

    Mikrokontrolery ARM   18 Paź 2010 13:37 Odpowiedzi: 16    Wyświetleń: 5322
  • Mikrokontroler -zapis do pamięci nieulotnej zewnętrznej

    Witam serdecznie. Mam takie pytanko. Potrzebuję zapisywać pewne wartości z mikrokontrolera stm32 do zewnętrznej pamięci nieulotnej w razie wyłączenia zasilania. Znalazłem na stronie forbota przykład z pamięcią EEPROM (układ 24AA01),gdzie ilość cykli zapisu wynosi 1000000. I teraz pojawia się moje pytanie, czy ten milion zapisów jest na całą pamięć czy...

    Początkujący Elektronicy   06 Maj 2016 21:45 Odpowiedzi: 8    Wyświetleń: 702
  • Nieprawidłowe ustawianie stosu w STM32 w CrossWorks

    Kiedyś już o tym pisałem, ale najbezpieczniej jest mieć stos na początku RAMu To też jest dość subiektywne... Jeśli SP zmniejsza się w miarę odkładania danych na stos i jest on umieszczony na początku ramu, to jest większe prawdopodobieństwo że wejdzie na zmienne statyczne, które też są standardowo umieszczane na początku. Chyba, że ustawi się duży...

    Mikrokontrolery ARM   09 Lis 2010 16:55 Odpowiedzi: 9    Wyświetleń: 3481
  • Jak skonfigurować IAR dla stm32H743VI z STLinkv2 i IAR kickstart?

    I znów seria błędnych sugestii. W praktyce JTAG/SWD w STM32 przy realnym połączeniu programatora z płytką może odmawiać współpracy nawet przy 1 MHz (nawet na płytkach Discovery). Za inicjowanie zmiennych jest odpowiedzialny wiarygodny, zweryfikowany przez tysiące programistów, moduł startowy. Nic nie trzeba pilnować (przynajmniej w Keil, Atollic i paru...

    Mikrokontrolery ARM   08 Sie 2019 08:20 Odpowiedzi: 52    Wyświetleń: 2784
  • Podgląd stanu urządzenia, zdalne sterowanie - ESP8266 czy coś innego?

    Witam, Mam urządzenie którego sercem jest mikrokontroler STM32. Chciałbym, w pierwszej fazie uzyskać możliwość podgląd stanu pracy urządzenia przez internet (strona internetowa, aplikacja na tel), natomiast w kolejnej sterowanie tym urządzeniem. Urządzenie wyposażyłem w ESP8266 i nawet udało mi się zapisywać z mikrokontrolera poprzez ESP8266 wartości...

    ESP8266 i ESP32   07 Lis 2019 19:17 Odpowiedzi: 3    Wyświetleń: 942
  • [STM32/Eclipse/OpenOCD] - Debuger zgłasza dziwne bledy

    Zawsze pierwszym etapem dociekań powinno być zmniejszenie ilości zmiennych. Zignoruj więc Eclipse, GDB itd, spróbuj po prostu połączyć się z układem za pomocą OpenOCD oraz telnetu, spróbuj go zaprogramować tym sposobem i zobacz czy to działa. Jeśli tak - idź dalej, jeśli nie - coś jest z układem. Czasem pomaga "zdjęcie" zabezpieczeń pamięci przy użyciu...

    Mikrokontrolery ARM   18 Gru 2013 23:23 Odpowiedzi: 36    Wyświetleń: 6531
  • Jak zapisać 8 tys. 12-bitowych zmiennych w AT45DB321D przez SPI?

    Witam, Stanąłem przed koniecznością użycia w moim projekcie pamięci zewnętrznej AT45DB321D. W pamięci tej przechowywane mają być wyniki odczytu z przetwornika AD czyli zmienne 12 bitowe. Razem około 8 tysięcy odczytów. (?) Z pomocą przykładów znalezionych w sieci uruchomiłem obsługę w/w pamięci przez sprzętowy SPI. Mogę odczytać status pamięci, zapisać...

    Mikrokontrolery ARM   29 Sty 2013 21:54 Odpowiedzi: 6    Wyświetleń: 2481
  • STM32: Czyszczenie FLASH przed zapisem, szybkość vs SRAM, DMA a odczyt

    No tak, zapomniałem podać rodzaje zmiennych. `*(__IO uint16_t*)(Page_127 + i)` - abstrahując od tego czy jest to poprawne, jest to "komórka w pamięci reprezentująca wartość typu uint16_t", czyli wartość 16-bitowa `(uint16_t*)&Tablica Nie za bardzo rozumiem o co chodzi z "jest to wskaźnik na zmienną typu uint16_t - 32-bitowy". Jak to więc napisać...

    Mikrokontrolery ARM   27 Gru 2018 22:55 Odpowiedzi: 34    Wyświetleń: 1944
  • Wybór mikrokontrolera ARM do nauki po AVR - łatwo dostępny i niedrogi sprzęt

    Zniechęcił mnie brak eepromu. Kompletnie nie jest dla mnie zrozumiałe, aby w takich nowoczesnych procesorach robić takie ograniczenia. Po prostu coś takiego przydaje się wbrew pozorom nie tak często, a jak już jest potrzebne, to łatwo zastąpić czymś innym: - pamięcią zewnętrzną (chip, karta SD, ...) jeśli i tak jest na płytce, - pamięć podtrzymywana...

    Mikrokontrolery   11 Sty 2017 21:51 Odpowiedzi: 165    Wyświetleń: 10158
  • Debuger jako narzędzie marnujące czas programisty?

    To może pytanie, czy debugerem moge zastawiać pułapki na dostęp do zmiennych? Nie wiem czy konkretnie do zmiennych, ale na pewno można ustawić pułapkę na przestrzeń pamięci jeśli zostanie zmodyfikowana (nawet zaznaczyć jaka dokładnie będzie to wartość), co jest dość przydatne gdy podejrzewa się że jeździ się po za pamięcią. Teraz mi się przypomniało,...

    Projektowanie i Tworzenie Po godzinach   20 Lip 2018 20:36 Odpowiedzi: 58    Wyświetleń: 3072
  • ATmega8A-PU - Jakie akcesoria na start do programowania AVR?

    Nikt Ci tu nie pisał o autonomicznych robotach, a wiele wątków analogicznych do Twojego kończyło się decyzją delikwenta o zakupie taniej płytki z jakimś np. STM32, więc wszystko jest jak najbardziej na temat. Co do prostoty - dla początkującego zapewne "prosty" jest taki mikrokontroler, w którym działający program możesz debugować na ekranie PC, zaglądając...

    Mikrokontrolery Początkujący   22 Paź 2013 22:26 Odpowiedzi: 30    Wyświetleń: 4623
  • STM32 - Brak komunikacji z wyswietlaczem TFT ze sterownikiem ILI9163C

    W efekcie wykonania poniższego kodu oczekiwałem czarnego tła na ekranie wyświetlacz, jednak po uruchomieniu jedyne co otrzymuje to przypadkowe wartości pamięci wyświetlacza (losowe czarno-białe punkty tzw. "szum"). Próbowałem uruchamiać wyświetlacz nie tylko w takiej konfiguracji jak zamieszczona tutaj (w sieci jest całkiem sporo przykładów wykorzystania...

    Mikrokontrolery ARM   30 Gru 2016 23:21 Odpowiedzi: 6    Wyświetleń: 1320
  • [STM32] STM32F103RB: HardFaultException przy przerwaniu DMA channel 1 po ADC

    W przypadku wciągnięcia śmieci ze zmiennej automatycznej dostajemy przewaznie, kolokwialnie mowiac, syf, nie zero. To samo dotyczy nie zainicjalizowanego statica w funkcji. Już to przerabiałem z powodu 'zapomnienia' zainicjalizować strukturki do liczenia CRC. Problem polega jedynie na pomyleniu adresu zmiennej / rejestru z ich zawartością. Oj polega....

    Mikrokontrolery ARM   20 Paź 2013 22:51 Odpowiedzi: 17    Wyświetleń: 4067
  • AVR - jak radzić sobie z fusebitami i ograniczeniami 8-bit?

    Doświadczenie uczy mnie, że dyskusja o wyższości 8bit nad 32bit (czy odwrotnie) będzie trwała tak długo, jak długo obydwa rodzaje procesorów będą dostępne. mam wiaderko AVR-ów i podobne wiaderko ARM-ów, głównie STM32 choć też LPC. Znajdą się też malinki czy wcześniejsze dwurdzeniowe A20. Jak pewnie większość (przynajmniej tych starszych) zaczynałem...

    Projektowanie i Tworzenie Po godzinach   30 Sty 2020 18:45 Odpowiedzi: 368    Wyświetleń: 17487
  • [STM32] Bit Banding vs GPIOx_BSRR/BRR - korzyści i różnice w użyciu

    Nie do końca kotlet, tutaj chodzi o zmapowanie poszczególnych bitów pamięci w jakiś inny jej rejon więc to jest zupełnie inny mechanizm. Poza tym, kto Ci każe odwoływać się do wszystkich ? :D Bierzesz tylko te, które Cię interesują i tyle, poza tym sam przyznasz, że zapis jest bardziej przyjemny (np LED_GREEN = 1 zapala diodę). Na AVR też da się ustawiać...

    Mikrokontrolery ARM   29 Maj 2012 09:20 Odpowiedzi: 58    Wyświetleń: 13522
  • [stm32] [stm32][C++] Undefined reference przy łączeniu C i C++ w Code Sourcery

    Funkcja taka powinna przyjmować wskaźnik na "const char*", skoro i tak go nie zmienia (wiem że go nie zmienia, bo jakby próbowała, to byś miał zwiechę przy stringach z flasha) i wtedy problemu nie ma. Taki dobry nawyk (; Jeśli "parametr wskaźnikowy" nie jest modyfikowany, to powinien być const i tyle. Kompilator czepia się całkiem słusznie, bo zakłada,...

    Mikrokontrolery ARM   08 Lip 2011 16:43 Odpowiedzi: 17    Wyświetleń: 5784
  • Przystosowanie płytki STM32 do pracy z Arduino IDE

    Szkic używa 13532 bajtów (20%) pamięci programu. Maksimum to 65536 bajtów. Zmienne globalne używają 2824 bajtów pamięci dynamicznej. maple_loader v0.1 Resetting to bootloader via DTR pulse Reset via USB Serial Failed! Did you select the right serial port? Searching for DFU device https://obrazki.elektroda.pl/3904104400_... Nie mogę...

    Artykuły   11 Wrz 2022 21:00 Odpowiedzi: 54    Wyświetleń: 22152
  • STM32F[C] - Jak zapisać float IEEE 754 do pamięci bez przeliczania?

    Witam szanownych kolegów, czy mógłby mi ktoś pomóc z tematem zapisu zmiennej typu float do pamięci procesora? a wiec od początku, stworzyłem sobie taki system ARM->Matlab, dane przesyłam poprzez RS232, komunikacje w stronę Matlaba już wykonałem. Zostało teraz w drugą stronę. To znaczy odbieram cztery bajty danych reprezentujących zapis bitowy zmiennej...

    Mikrokontrolery ARM   02 Cze 2013 15:57 Odpowiedzi: 5    Wyświetleń: 1314
  • [STM32][Newlib] time.h strefy czasowe i czas letni/zimowy

    Freddie rozumiem, ze korzystasz z gcc i nieużywane sekcje wyrzuciłeś? Ja to rozwiązanie stosowałem jeszcze z TrueStudio i poza zwiększeniem rozmiaru o tego stringa nic mi nie "urosło" ;] No chyba, ze sposób kolegi m.ki coś tam zmienia, ja jak to rozgryźć doszedłem analizując źródła stdlib i po drodze nie natrafiłem na żadne dynamiczne alokowanie pamięci....

    Mikrokontrolery ARM   23 Lip 2012 19:06 Odpowiedzi: 15    Wyświetleń: 4351
  • Język programowania Rust - czy warto stosować w embedded?

    Oczywiście wycieki pamięci w programach napisanych w Rust są jak najbardziej możliwe: unsafe ". To takie magiczne słowo w Rust oznaczające, że " functions that are not safe in all contexts and/or for all possible inputs ". Dla przykładu, dla STM32F4: Dodano po 30 Co do "race condtions", to Rust w żaden sposób nie zabezpiecza przed ich wystąpieniem np....

    Projektowanie i Tworzenie Po godzinach   15 Sty 2023 23:17 Odpowiedzi: 75    Wyświetleń: 6081