wyrównanie adresów stm32

Znaleziono około 15 wyników dla: wyrównanie adresów stm32
  • [STM32] Jak wymusić kolejność danych w sekcji eeprom STM32 przy optymalizacji GCC?

    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ł wyrównanie naturalne, czyli np. int32_t będzie...

    Mikrokontrolery ARM   28 Lip 2014 10:05 Odpowiedzi: 4    Wyświetleń: 1305
  • [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ć. * Stos musi mieć odpowiednie wyrównanie, zwykle...

    Mikrokontrolery Początkujący   10 Maj 2019 08:53 Odpowiedzi: 20    Wyświetleń: 993
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [STM32] Jak wgrać skompresowany obraz .jpg do flash przez Atollic?

    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 zostały nigdy skasowane podczas wgrywania nowej wersji....

    Mikrokontrolery ARM   22 Sty 2019 23:59 Odpowiedzi: 8    Wyświetleń: 600
  • REKLAMA
  • [STM32][C] - Dwie wersje bin w pamięci FLASH, skok pod wybrany adres

    Wiesz że dane zapisane w ten sposób zajmują 2x lub 3x więcej pamięci flash niż rozmiar struktury? Chodzi o wyrównanie Flasha do 4 bajtów? Próbowałem zapisać rzutując na int a nie char i dać size jako: [syntax=c] int size = sizeof(EEPROM_Data)/sizeof(int); [/syntax] I zapisywać do Flasha po 4 bajty ale nie działało. Dostawałem śmieci. [/quote]

    Mikrokontrolery ARM   26 Lut 2016 17:10 Odpowiedzi: 70    Wyświetleń: 5076
  • Bezpieczny zakres adresów do zapisu danych we flashu na ARMach?

    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ą zadziała Ci ten kod bez żadnych zmian... Ehe... Kupę,...

    Mikrokontrolery ARM   28 Gru 2017 17:55 Odpowiedzi: 86    Wyświetleń: 3075
  • REKLAMA
  • 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 to co innego - tutaj argument __packed__ jest użyty po...

    Mikrokontrolery ARM   07 Mar 2016 16:41 Odpowiedzi: 12    Wyświetleń: 1518
  • [stm32F2] Błędy odczytu zewnętrznego RAM IS61LV25616AL na STM32F2 120MHz

    Witam Mam mały problem z odczytem ramu IS61LV25616AL, ram jako 16 bitowy 10ns, ustawienia Stm32F2 120Mhz Bank3 is enabled: BCR3_MBKEN bit set to ‘1’ Memory type is SRAM: BCR3_MTYP is set to ‘00’ to select the SRAM memory type Databus width is 16 bits: BCR3_MWID is set to ‘01’ to select the 16-bit width The memory...

    Mikrokontrolery ARM   08 Sty 2012 21:58 Odpowiedzi: 6    Wyświetleń: 2201
  • Optymalizacja wykorzystania czcionek we flash dla wyświetlacza eink na kontrolerze ssd1619

    Przecież ten wyświetlacz pozwala zapalić i zgasić dowolny pixel. Tylko, że ram X adresujesz co 8 bitów, czyli na raz operujesz 8 pikselami. Jeżeli wyświetlacz ma w X 400 pikseli, to adresy w ram są od 0 do 49. Nie musisz się też ograniczać do znaków o szerokości będącej wielokrotnością 8 bitów. Możesz rozważyć drukowanie znaków proporcjonalnych do...

    Mikrokontrolery   04 Sty 2021 23:22 Odpowiedzi: 15    Wyświetleń: 645
  • REKLAMA
  • STM32G431 USB PMA - wyrównany zapis 16bit liczb nie działa poprawnie

    Cześć, potrzebuję wskazówki dotyczącej dostępu do USB PMA w STM32G431. Informacje z manuala rozmijają się z stanem faktycznym... Oto co twierdzi manual: - (Table 3) USB PMA jest pod 0x40006000 i ma 1kB (0x40006000 do 0x400063ff) - (45.3) PMA size 1024 bytes, dostęp "2x16 bits / word" - gdzieś w tym dokumencie jest wzmianka, że PMA obsługuje tylko dostęp...

    Mikrokontrolery   12 Lis 2024 21:02 Odpowiedzi: 4    Wyświetleń: 255
  • [STM32F1] - Obsługa zewnętrznego SRAM przy pomocy FSMC

    Witam Ja zapisuje i odczytuje też przez wskaźnik, np dla 16 bitów zapis liczby 22: [syntax=c] // write *(uint16_t *) ( WriteAddr) = 22; //read uint16_t dataRead = *(__IO uint16_t*) ( WriteAddr);[/syntax] zapis i odczyt może być 8, 16(adres wyrównany do 2 ) lub 32 bitowy(adres wyrównany do 4 ) Pozdrawiam

    Mikrokontrolery ARM   21 Lut 2014 12:32 Odpowiedzi: 11    Wyświetleń: 1779
  • Jak profesjonaliści używają bibliotek CMSIS w projektach STM32?

    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 i dlatego funkcje dla obydwu rdzeni mogą mieć jednakowe...

    Mikrokontrolery ARM   29 Wrz 2018 07:17 Odpowiedzi: 43    Wyświetleń: 11724
  • STM32 - ten sam adres dla różnych zmiennych const uint8_t w debuggerze

    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. Przestrzeń adresowa ARMów jest ciągła, instrukcje...

    Mikrokontrolery ARM   21 Cze 2011 14:24 Odpowiedzi: 8    Wyświetleń: 2655
  • REKLAMA
  • [STM32] STM32F103RB: HardFaultException przy przerwaniu DMA channel 1 po ADC

    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. Ale to się nie kończy faultem, tylko dziwną wartością...

    Mikrokontrolery ARM   20 Paź 2013 22:51 Odpowiedzi: 17    Wyświetleń: 4061
  • [stm32] [STM32F101CB][Keil] Procesor resetuje się co kilka sekund - jak zdiagnozować?

    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 - wykrzaczenie się stosu lub źle wyrównany stos - użycie...

    Mikrokontrolery ARM   15 Cze 2011 06:20 Odpowiedzi: 7    Wyświetleń: 2439
  • STM32F1 - Jak rozróżnić dane z kanałów ADC1 przy użyciu DMA?

    Witam, prosił bym o pomoc. Potrzebuję robić 5 pomiarów napięć i chcę do tego wykorzystać 5 kanałów ADC1. O ile wydaje mi się że poprawnie wszystko konfiguruję, tak nie wiem w jaki sposób odbierać dane z ADC1->DR. Wiem, że przez DMA, lecz jeśli podaję do DMA adres źródłowy ADC1->DR i adres docelowy np. &do_adresu, to nie wiem z którego kanału...

    Mikrokontrolery ARM   08 Paź 2013 18:35 Odpowiedzi: 1    Wyświetleń: 1416