wyrównanie adresów stm32

Znaleziono około 15 wyników dla: wyrównanie adresów stm32
Podstawowa forma zapytania: wyrównać adres stm32
  • [STM32] HardFaultException i DMA

    Nie. Architektura ARMv7-M obsługuje niewyrównany dostęp 16 i 32bitowy. Tylko dostęp na słowa większe niz 32bity (LDRD/STRD, LDM/STM) z niewyrównanym do 4 bajtów adresem rzucają fault. Inna sprawa, że w STM32 SFRy ogólnie nie lubią niewyrównanych zapisów lub zapisów o szerokości innej niz sam SFR....

    Mikrokontrolery ARM   20 Paź 2013 22:51 Odpowiedzi: 17    Wyświetleń: 3812
  • stm32 - dwie różne zmienne a ten sam adres

    To jest ARM. Instrukcja LDRB/STRB. Tablica bajtów powinna się zaczynać w miejscu wyrównanym do 4 (lub do czegokolwiek), ale dalej jest dokladnie jeden adres na bajt, i ani rdzeń ani kompilator nie komplikują dostępu do adresów nie wyrównanych do 4, niezależnie od tego, czy dane są we flashu czy w ramie....

    Mikrokontrolery ARM   21 Cze 2011 14:24 Odpowiedzi: 8    Wyświetleń: 2388
  • STM32 - USB przesiadka z uvision

    A dla czego? Pamiętam, że jak kiedyś przygotowywałem strukturę która miała różnej wielkości zmienne (1, 2 i 4 bajtowe), to przy wysyłce struktury nie były ułożone dokładnie jedne za 2 gimi tylko miały wyrównanie do 32 bitów. Ale to może kwestia kompilatora. Robiłem to w uvision. Przy strukturach...

    Mikrokontrolery ARM   07 Mar 2016 16:41 Odpowiedzi: 12    Wyświetleń: 1341
  • Uruchamianie funkcji skopiowanej z ROM do RAM [STM32]

    instrukcja BLX oznacza Branch with Link and Exchange. Kluczową kwestią jest owe Exchange. Chodzi o to, że instrukcją tą można zmienić tryb instrukcji z ARM na Thumb (lub odwrotnie) lub go nie zmieniać. Jeśli ostatni bit adresu (czyli twojego rejestru R3) jest zapalony, to rdzeń skoczy pod adres ignorując...

    Mikrokontrolery ARM   09 Kwi 2009 08:53 Odpowiedzi: 2    Wyświetleń: 2033
  • stm32 - Biblioteki CMSIS a rzeczywistość

    Problemem w M0 jest brak opcji unaligned access. Jeśli funkcja jako argument dostaje adres i jest to adres dowolny tzn. niekoniecznie wyrównany do 4(2) bajtów to w przypadku M0 próba odczytania danych 32b(16b) z pod takiego adresu skończy się wygenerowaniem wyjątku. M3 i M4 wspierają unaligned access...

    Mikrokontrolery ARM   29 Wrz 2018 07:17 Odpowiedzi: 43    Wyświetleń: 10686
  • [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ę...

    Mikrokontrolery ARM   09 Mar 2012 07:32 Odpowiedzi: 3    Wyświetleń: 1280
  • [STM32][C] - Dwie wersje bin w pamięci FLASH, skok pod wybrany adres

    Tak swoją drogą to te kombinacje są nieco błędne - jeśli ilość danych do zapisania nie jest podzielna przez 4, to wcale nie można sobie przeczytać "poza" koniec tablicy - undefined behavior. Nie mówiąc już o tym, że zasadniczo rzutowanie danych typu uint8_t na uint32_t bez zapewnienia w jakiś sposób...

    Mikrokontrolery ARM   26 Lut 2016 17:10 Odpowiedzi: 70    Wyświetleń: 4449
  • [stm32][C] Vector Table Offset Register, NVIC_SetVectorTable

    Najpierw musisz zrozumieć na jakiej podstawie NVIC ustala adres wektora przerwania VTOR[29:0] | (INT_POS<<2) Dzięki michalko12. Zaczyna się rozjaśniać. Rozumiem, że bity zarezerwowane służą niejako do wymuszenia wyrównania offsetu do wartości związanej z rozmiarem...

    Mikrokontrolery ARM   14 Kwi 2010 07:08 Odpowiedzi: 13    Wyświetleń: 4138
  • [stm32][keil[c] Wskakuje do Reset_Handler

    Co to są za brednie? Watchdog reset nie powoduje wyjątku HardFault , tylko SYSRESETREQ (sygnal wewnetrzny resetujący procesor). Po raz setny napiszę, kiedy hardfault wystepuje najczęsciej: - zapis nieprawidlowego adresu (instrukcje STR,STRB,STRH,STREX,STM...) - niedozwolone kombinacje przy PSR -...

    Mikrokontrolery ARM   15 Cze 2011 06:20 Odpowiedzi: 7    Wyświetleń: 2295
  • [STM32] - GCC sekcje i optymalizacja

    Standard C nic nie mówi o kolejności zmiennynch w pamięci. Przyzwoity kompilator i linker będzie rozmieszczał dane w kolejności malejącego rozmiaru, a nieupywane będzei eliminował całkowicie. Chcesz mień znany rozkład danych - użyj struktury - kompilator nie ma prawa jej zoptymalizować, ale będzei stosował...

    Mikrokontrolery ARM   28 Lip 2014 10:05 Odpowiedzi: 4    Wyświetleń: 1131
  • STM32 bootloader - Relokacja tablicy przerwań?

    Podsumowując... Loader umieszczony jest we flash od adresu 0 i nie ma od tego odstępstw. Aplikacja umieszczona jest pod dowolnym adresem we flash z wyrównaniem do 512. Żadne biblioteki nie maja kodu na stałe przypisanego pod konkretny adres, nawet SPL, wszystkie startupy i tak zależą od linkera,...

    Mikrokontrolery ARM   12 Lis 2014 21:49 Odpowiedzi: 17    Wyświetleń: 2427
  • [STM32] Umieszczenie obrazka we flashu

    jak to zrobić aby te dane znajdowały się w drugiej połowie 128kB flash i zaczynały się dokładnie od początku drugiego 64kB?. A po co Ci takie coś? Adres wgranych danych możesz sobie pobrać ze wspomnianych symboli, nie musi to być więc jakaś stała wartość. No chyba że chodzi Ci o to, żeby dane nie...

    Mikrokontrolery ARM   22 Sty 2019 23:59 Odpowiedzi: 8    Wyświetleń: 387
  • [STM32] - zwis przy próbie użycia przerwania (używam jednego stosu?)

    Nawet dla takiego małego Miki jak ja już na pierwszy rzut oka jest jasne że te kody to potężne źródło problemów. Co widać bez wgłębienia się w szczegóły: * Funkcja main() jako rozbiegówka to słaby pomysł. Kolega stmx napisał coś na ten temat (nawet podaje link w promowanych tematach), warto to przeczytać. *...

    Mikrokontrolery Początkujący   10 Maj 2019 08:53 Odpowiedzi: 20    Wyświetleń: 696
  • STM32F1XX @ codesourcery lite - Linkowanie obiektów problem ze skokiem (BL)

    Witam, posiedziałem odrobinę i większość problemów się rozwiązała. <Pituś Bajtuś> oczywiście masz całkowitą rację. Po adresie początku stosu ma być tablica wyjątków/przerwań a nie instrukcje. Tak się ciekawie złożyło że kod się uruchamiał (ale pewnie tylko pod debuggerem ) czyli głupi...

    Mikrokontrolery ARM   11 Gru 2012 21:29 Odpowiedzi: 7    Wyświetleń: 1365
  • Emulacja EEproma we flashu

    Z kolei modyfikacja skryptu linkera ma tą wadę, że jeśli przeniosę kod na inny MCU to znowu bedę musiał ten skrypt modyfikować. Emulacja oparta na czystm C po prostu zadziała. No... bo każdy mikrokontroler ma dokładnie ten sam rozmiar strony i dokładnie ten sam kontroler pamięci, więc z pewnością...

    Mikrokontrolery ARM   28 Gru 2017 17:55 Odpowiedzi: 86    Wyświetleń: 2520