flash linker

Znaleziono około 629 wyników dla: flash linker
  • [stm32] aktualizacja firmware przez usb (DFU i DfuSe) - nie czyści pamięci

    (...) ustawiłem wektor przerwań i początku pamięci flash w linkerze z odpowiednim offsetem (0x3800) Co to za magiczny offset? :D

    Mikrokontrolery ARM   18 Wrz 2012 19:45 Odpowiedzi: 5    Wyświetleń: 3297
  • Działanie kompilatora linkera w przypadku deklaracji tablicy

    (at)BlueDraco No i niby jak miałoby to pomóc? Przecież adres tej tablicy i tak nie będzie miał stałej wartości. Wystarczy lekko zmienić projekt albo dodać jakiś plik ze stałymi do kompilacji i całość się sypie. Może umieścić tablicę w swojej sekcji umieszczonej pod koniec pamięci FLASH.

    Mikrokontrolery ARM   30 Lip 2018 14:54 Odpowiedzi: 39    Wyświetleń: 1521
  • REKLAMA
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • STM32F030 - emulacja EEPROM

    Jedyne "pewne" podejście do tej kwestii, to zmniejszenie rozmiaru flash w skrypcie linkera o rozmiar przynajmniej dwóch ostatnich stron i użycie właśnie tych dwóch ostatnich stron. Każda inna opcja to proszenie się o kłopoty.

    Mikrokontrolery ARM   19 Kwi 2017 07:26 Odpowiedzi: 34    Wyświetleń: 4161
  • REKLAMA
  • ARM LINKER - ARM skrypt linkera, nowa sekcja pamięci

    Przy okazji sprawdź, czy w ustawieniach debuggera nie masz włączonego czyszczenia całej pamięci Flash przy programowaniu. Jeśli używasz jawnej wartości wskaźnika - nie musisz w ogóle definiować nowej sekcji dla linkera, wystarczy, że skrócisz główną sekcję Flash. Elegancko byłoby zadeklaropwać nową sekcję,a nestępnie zdefiniować zmienne z atrybutami...

    Mikrokontrolery ARM   05 Lip 2016 15:12 Odpowiedzi: 3    Wyświetleń: 1410
  • LPC1225/321 - Zapis danych do wewnętrznej pamięci flash mikrokontrolera.

    Możesz też stworzyć odrębny blok, tutaj masz przykład jak wykonać http://www.lpcware.com/content/faq/lpcxp... ustawiasz w GUI i z automatu generowane zmiany dla linkera.

    Mikrokontrolery ARM   31 Mar 2015 20:19 Odpowiedzi: 4    Wyświetleń: 1293
  • [STM32] [STM32][C++] - Hardfault przy użyciu polimorfizmu w Eclipse na ARM

    Dziwne te niektóre pliki, ale z grubsza wszystko wygląda jak należy... Wiele rzeczy mogłoby spokojnie być we flash, ale w skrypcie linkera są umieszczone w RAM. Niemniej jednak zacznij od dodania "__STARTUP_CLEAR_BSS" do AS_DEFS w Makefile i zobacz czy może dzięki temu problem zniknie. Masz debugger?

    Mikrokontrolery   26 Sie 2016 08:54 Odpowiedzi: 25    Wyświetleń: 1896
  • REKLAMA
  • Jak napisać bootloader w Atmel Studio 7 dla ATmega8?

    Wszystko robisz jak dla każdej innej aplikacji tylko w ustawieniach projektu ->Toolchain->AVR/GNU Linker ->Memory Settings->FLASH segment dodajesz: Boot size == 128 words[syntax=c].text=0x1F00[/syntax] Boot size == 256 words[syntax=c].text=0x1E00[/syntax] Boot size == 512 words[syntax=c].text=0x1C00[/syntax] Boot size == 1024 words[syntax=c].text=0x1800[/syntax]

    Mikrokontrolery AVR   10 Gru 2016 19:37 Odpowiedzi: 6    Wyświetleń: 1167
  • Umieszczanie łańcuchów znakowych we FLASH - step by step

    (at)Jakub17 Musisz użyć tych zmiennych w swoim programie bo inaczej kompilator (linker) uzna, że są niepotrzebne i usunie je z pliku wynikowego.

    Mikrokontrolery Początkujący   10 Mar 2018 10:51 Odpowiedzi: 2    Wyświetleń: 795
  • Kopiowanie danych z Flash do EEPROM bez użycia RAM - jak to zrobić?

    Nie mozna tak zrobic, bo nie masz gwarancji gdzie linker umiesci zmienna - zwykle robi to w kolejnosci deklaracji, ale wcale nie musi. Zreszta to moze sie popsuc nawet i bez ingerencji linkera - wystarczy, ze ktorys naglowek stworzy zmienna w EEPROM. Sekcje pamieci EEPROM mozna przesunac przekazujac linkerowi polecenie --section-start (pamietaj o tym,...

    Mikrokontrolery   07 Lis 2010 13:51 Odpowiedzi: 26    Wyświetleń: 3613
  • Konfiguracja STM32F103VCT6 z JLink i Segger GDB Server - linker script

    Błąd jest gdzieś tu: .data : { _data_begin_ = .; *(.data) _data_end_ = .; } > FLASH Myślę, że w tym małym kawałku widać go od razu [; 4\/3!!

    Mikrokontrolery ARM   23 Paź 2012 21:46 Odpowiedzi: 27    Wyświetleń: 3863
  • [STM32][CodeSourcery]Deklaracja struktury w pamięci flash.

    Przydałoby się jeszcze 2 rzeczy: 1. zmniejszyć FLASH o odpowiednią wartość, tak aby na siebie nie najeżdżały - możesz od LENGTH odjąć ile tam potrzeba ... LENGTH = 128k - XXX 2. Dodać profilaktycznie } > VAR AT > VAR Tym sposobem skrypt linkera będzie w 100% poprawny. Jeśli nadal będą jakieś błędy, to już nie po stronie linkera. Jeśli dalej coś nie...

    Mikrokontrolery ARM   13 Lut 2010 15:11 Odpowiedzi: 21    Wyświetleń: 7694
  • [OpenOCD] [LOAD] Jak wyłączyć ładowanie określonej sekcji do flash?

    Możesz w skrypcie linkera dodać przy tej sekcji `(NOLOAD)`, w ten sposób: SECTIONS { ... .noinit (NOLOAD) : { ...

    Mikrokontrolery ARM   20 Kwi 2018 17:47 Odpowiedzi: 4    Wyświetleń: 588
  • REKLAMA
  • [STM32][CodeSourcery]Deklaracja funkcji w pamięci flash

    Ja mam tak: __attribute__ ((section(".bootloader&... int program_page(unsigned short *data, unsigned int adr) {... } i linker: .bootloader 0x08000000+128K-1K : { *(.bootloader) } i działa

    Mikrokontrolery ARM   14 Lut 2010 15:32 Odpowiedzi: 3    Wyświetleń: 2132
  • [STM32] [STM32F107] Jak skonfigurować linker do zapisu danych w pamięci Flash?

    Witam! Chcę wgrać parę danych do pamięci mikrokontrolera STM32F107 (ustawienia domyślne). Nie wiem za bardzo jak powinien wyglądać kod linkera do takiego zapisu? Korzystam z CodeSourcery ze strony Freddiego. Nie posiadam debuggera, więc kod mogę wgrywać tylko poprzez bootloader na USART. Pamięć chciałbym zapisać paroma danymi 32bit, a następnie mieć...

    Mikrokontrolery ARM   30 Gru 2010 08:43 Odpowiedzi: 1    Wyświetleń: 2018
  • KEIL Linker STM32 - umieszczenie biblioteki *.LIB w stałym miejscu Flash

    To trochę dziwne odpowiadać samemu. Ale odpowiedź nie pochodzi ode mnie. Napisał do mnie na PW kolega (nick na razie pominę) nieco sfrustrowany tym, że dyskusja pewnie by się skończyła głupimi uwagami niektórych kolegów, którzy uważają - że już zjedli wszystkie rozumy i nikt nie może ich nic już nauczyć . Kolega ów podpowiedział mniej więcej to, że...

    Mikrokontrolery ARM   09 Paź 2013 12:46 Odpowiedzi: 1    Wyświetleń: 1953
  • Bezpieczny zakres adresów do zapisu danych we flashu na ARMach?

    Używam kompilatora MikroC i nie wiem jak zmienić skrypt linkera. Wystarczy się dowiedzieć jak w tym płatnym kompilatorze ograniczyć zakres używanej przez linker pamieci flash. Masz instrukcję, masz support, masz stronę producenta - myślę że przez czas jaki trwa ten wątek już byś się dowiedział...

    Mikrokontrolery ARM   28 Gru 2017 17:55 Odpowiedzi: 86    Wyświetleń: 3075
  • [AVR Studio i C] Położenie tablicy danych w pamięci flash

    Przykład: a)Utwórz własną sekcję. unsigned int value[128] __attribute__ ((section("moja_sekcja&... = {1,2,3,4,5,6,7,8,9}; b)Dodaj opcję linkerowi. -Wl,-section-start=moja_sekcja=0x0800 0x800 to przykładowy adres pamięci ;)

    Mikrokontrolery AVR   15 Sie 2009 22:13 Odpowiedzi: 6    Wyświetleń: 2765
  • [AVR][C] - pytanko do speców od C, kompilacja dla m8 i m168

    W przypadku avr-gcc nie liczyłbym na optymalizację pod kątem zmieszczenia się w zadanej ilości pamięci flash. Pamiętajmy, że kompilacja każdej jednostki translacji wykonywana jest osobno, a następnie linker łączy wszystkie pliki obiektowe do pliku wynikowego - w takim scenariuszu w jaki niby sposób kompilator miałby skorzystać z informacji o globalnym...

    Mikrokontrolery AVR   13 Wrz 2009 00:24 Odpowiedzi: 14    Wyświetleń: 1407
  • Jak dostosować skrypt linkera dla STM32F103ZE? Rozmiar RAM i Flash

    Co trzeba w nim zmienić poza wpisaniem rozmiaru ram i flash ( flash - 512K; ram - 64K ) w skrypcie linkera aby uruchomić go na STM32F103ZE. Prawdopodobnie nic. Sprawdź jedynie czy tablica wektorów przerwań jest taka sama w obu modelach.

    Mikrokontrolery ARM   05 Cze 2011 18:19 Odpowiedzi: 21    Wyświetleń: 2425
  • LpcXpresso - jak wygenerować plik hex dla Flash Magic?

    Jestem w trakcie poznawania środowiska programistycznego LpcXpresso, umiem utworzyć projekt i skompilować program ale po skończeniu kompilacji w katalogu Debug projektu powstaje plik z roszerzeniem axf . Google podpowiedziało, że axf to "The AXF file extension is related to the ARM Executable files produced by ARM Linker.". Flash Magic nie chcę wczytać...

    Mikrokontrolery Początkujący   21 Sty 2015 08:54 Odpowiedzi: 7    Wyświetleń: 1431
  • Jak odczytać dane z pamięci Flash powyżej 64kB w C/C++?

    Jesli korzystasz z AVR Studio to w opcjach projektu mozesz dodawac swoje sekcje podajac ich adres startu i ew. dlugosc. Oczywiscie musisz je nazwac inaczej niz PROGMEM, bo ta nazwa jest juz zajeta. Jesli nie to przekazujesz parametry dla linkera przy wywolaniu gcc, tu jest howto: http://www.nongnu.org/avr-libc/user-manu...

    Mikrokontrolery AVR   19 Mar 2010 12:08 Odpowiedzi: 21    Wyświetleń: 2773
  • Jak dostosować skrypt linkera dla Cortex-a i innych rdzeni?

    A jaki adres pamięci flash masz ustawiony w skrypcie linkera? Tutaj masz konkrety opis http://sourceware.org/binutils/docs-2.20... Dodatkowo jest też dokumentacja do samego kompilatrora. Prawdopodobnie linker wpakował program pod zły adres więc podczas ładowania programu OpenOCD informuje że pod tym adresem flash'a nie ma.

    Mikrokontrolery ARM   16 Lut 2011 20:59 Odpowiedzi: 11    Wyświetleń: 2778
  • [AVR] - "zmienna flash'owa" - zapis do flasha

    Nie ma takiego makra, ale można je stworzyć. Z tym, że zapis do FLASH możliwy jest tylko z poziomu bootsectora, stąd też stworzona funkcja zapisująca musiałaby w nim się znajdować, a to oznacza zabawę z sekcjami pamięci i linkerem. Dodatkowo FLASH programowany jest stronami - nie da się bezpośrednio przeprogramować jednej komórki, zawsze zapisywana...

    Mikrokontrolery AVR   13 Gru 2010 12:39 Odpowiedzi: 15    Wyświetleń: 4204
  • [ARM][FreeRTOS]Make file nie chce zlinkować programu

    Kompilujes z opcją -ffunction-sections (czy jakoś tak), a więc każda funkcja ląduje w sekcji .text.nazwa_funkcji. main() jest więc w sekcji .text.main Powinieneś w skrypcie linkera dodać przy specyfikacji sekcji coś na styl: prog : { *(.text .text.*) *(.rodata .rodata.*) *(.glue_7) *(.glue_7t) } >flash To samo powinieneś zrobić dla sekcji .bss i .data...

    Mikrokontrolery ARM   10 Lis 2009 13:33 Odpowiedzi: 21    Wyświetleń: 3228
  • AVR Studio 4.13: Jak ustawić adres sekcji bootloadera?

    ... ale gdy dodawałem to samo linijkę --section-start=.bootloader=0x1F000 w AVR Studio Project -> Custom Options i tam do All dodawałem to linijkę... Wszystko ładnie i pięknie , tylko że ... to linker ma wiedzieć gdzie "wepchać" daną sekcję. W AVRStudio , masz conajmniej 2 możliwości: 1)Project -> Custom Options i tam do [Linker Options] -Wl,-section-start=.bootloader=0x1F000.....

    Mikrokontrolery   30 Sty 2007 15:39 Odpowiedzi: 1    Wyświetleń: 2321
  • [STM32F401][GCC/Attolic] częściowe programowanie pamięci FLASH

    Wektory można przemapować (rejestr VTOR). Ja robię bootloader w sektorze 0 a reszta dla aplikacji. Właśnie znalazłem przykładowy bootloader ze strony ST i faktycznie to lepsze rozwiązanie. Pierwsze sektory na bootloader'a, a dalej isr_vector aplikacji + aplikacja. Bootloader w linkerze ma start FLASH na 0x0800 0000 Applikacja w linkerze ma start FLASH...

    Mikrokontrolery ARM   16 Mar 2017 23:31 Odpowiedzi: 4    Wyświetleń: 777
  • [GCC] Linker usuwa zmienne z atrybutem "used"

    Nadal pytam, jaki jest pożytek z nieużywanego stringa z version? Copyrights? A dlaczego to musi być akurat version? Przyczepiłeś się wirtualnego przykładu. Do tego nie musi być to dostępne z zewnątrz. Moga to być np informacje dla bootloadera już po wgraniu do flash. I tysiące innych możliwości.

    Mikrokontrolery ARM   03 Lip 2018 20:13 Odpowiedzi: 29    Wyświetleń: 1368
  • Jak dołączyć biblioteki standardowe w GCC na Eclipse z WinARM?

    Jak używałeś pierwszej wersji, do kodu wykonywalnego nie były dołączne biblioteki standardowe. W drugiej wersji są. Jakaś część tego kodu umieszczona jest w sekcji .init . Jak różne sekcje kodu umieścić w pamięci procesora mówi linkerowi jego skrypt. W Twoim wypadku LCD_nokia_olimex.cmd. W nim należy dodać w sekcji SECTIONS analogicznie do wpisów już...

    Mikrokontrolery ARM   30 Gru 2008 05:49 Odpowiedzi: 18    Wyświetleń: 4438
  • LPC1768 - umieszczenie danych w określonym miejscu

    tylko że zwróć uwagę na to, że autor wątku NIE CHCE jej wgrywać za każdym razem (tylko jeden raz), więc wychodzi naprawdę na to samo. Wystarczy zmniejszyć rozmiar FLASH w skrypcie linkera, a następnie umieścić tablicę binarnie w zwolnionej przestrzeni. W ten sposób linker sam nas poinformuje, że przekroczyliśmy "granicę". Prawda?

    Mikrokontrolery ARM   30 Maj 2014 20:44 Odpowiedzi: 14    Wyświetleń: 1671
  • Bezpieczne zapisywanie danych w pamięci flash procesora LM3S811 w Keilu

    Oczywiście że się da. Zmuszać należy linker. 4\/3!!

    Mikrokontrolery ARM   18 Lis 2011 07:35 Odpowiedzi: 6    Wyświetleń: 1346
  • [AT91SAM7S64]+[openocd]+[jtag] i błędy programowania

    Na szybko obstawiam, że problemem może być zupełnie gdzie indziej. Otóż REALNY adres pamięci flash w mikrokontrolerze AT91SAM7S64 to nie 0, a 0x00100000 (http://www.keil.com/dd/docs/datashts/at... - strona 14). OpenOCD zapewne właśnie dlatego zgłasza następującą uwagę: Warn : no flash bank found for address 0 Warn : no flash bank...

    Mikrokontrolery ARM   18 Gru 2018 12:39 Odpowiedzi: 8    Wyświetleń: 624
  • [STM32F4][C] - Zapis CRC32 kodu aktualnego programu do flash

    To raczej nie skrypt linkera, a zewnętrzny program, który przetworzy obraz binarny, który masz zapisywać - w każdym środowisku istnieje możliwość wywołania takiego programu, zwykle pod nazwą "post build step".

    Mikrokontrolery ARM   14 Mar 2016 16:52 Odpowiedzi: 4    Wyświetleń: 879
  • [C GCC] Jak zachować nieużywane zmienne w pamięci flash procesora ARM?

    Czy można się jakoś przed tym zabezpieczyć ? W skrypcie linkera należy włączać sekcję poprzez zapis:[syntax=c]KEEP (*(.nazwa_sekcji))[/syntax] albo użyć atrybutu 'used':[syntax=c]static const int dummy __attribute__((__used__)) = 1234;[/syntax]

    Programowanie   06 Lis 2017 13:13 Odpowiedzi: 4    Wyświetleń: 678
  • Zapis danych do flash w STM32F091RCT6: struktura FLASH_DATA_2018_03_04

    Proponuję poczytać o skryptach linkera. Jest wiele stron łatwo znaleźć przez google. A co w tej sytuacji poprawiłaby ta zmiana skryptu linkera?

    Mikrokontrolery ARM   04 Mar 2018 23:36 Odpowiedzi: 5    Wyświetleń: 702
  • [lpc214x] Jak skompilować biblioteki USB - Virtual Com dla LPC214x w CodeSourcery+Eclipse?

    Witam, już widzę błąd... Podany przeze mnie przykład był zrobiony dla procesora LPC2148, który ma więcej pamięci RAM oraz FLASH. Niby nic takiego, ponieważ program i tak nie wykorzysta więcej pamięci niż ma Twój LPC2144. Jednak w skrypcie linkera - LPC2148-ROM.ld zdefiniowano na stałe adres stosu, stąd te błędy i pisanie po komórkach pamięci, których...

    Mikrokontrolery ARM   14 Lis 2009 00:08 Odpowiedzi: 6    Wyświetleń: 2604
  • NiceMCU XH-WB3S Flashowanie, testowanie, pinout, rozwój

    Cóż, dopóki dana funkcja nie jest przywoływana, czy linker nie powinien usunąć jej z kompilacji? A może WPA3 i BT są w binarnym blobie, którego nie możemy kontrolować?

    Smart Home IoT   29 Maj 2025 22:18 Odpowiedzi: 223    Wyświetleń: 6900
  • [LPC2142] Dlaczego kod na LPC2142 zajmuje 46.96 KB pamięci Flash?

    Zbyt dużo Ci nie pomogę chyba - niestety składnia poleceń kompilacji której oczekuje Twoja wersja kompilatora jest zupełnie inna niż moja, dlatego też nie mogę skompilować Twojego przykładu u mnie. Po podstawieniu mojego Makefile'a do Twojego projektu wszystko kompiluje się bez większych problemów (konieczne są drobne zmiany w skrypcie linkera - ustawienie...

    Mikrokontrolery ARM   06 Paź 2009 15:44 Odpowiedzi: 14    Wyświetleń: 1916
  • OpenOCD v0.1.0 - problem z komendą `flash write_bank` w skryptach

    Ad1. OK. Ad 2 : Error: No flash at address 0x00000000 Skrypty linkera wzięte z Ride, z resztą programy działają, problemem był tylko ten dziwny breakpoint.

    Mikrokontrolery   21 Mar 2009 21:51 Odpowiedzi: 18    Wyświetleń: 2800
  • [ADuC702x] ADuC7024 Wiggler: Debugowanie w FLASH nie działa, błąd stosu w IAR 5.11

    Jedna rzecz mnie ciekawi. Czy udało Ci się program z pamięci Flash uruchomić bez debugowania? Jeśli tak, to znaczy, że skrypt linkera powinien być ok.

    Mikrokontrolery ARM   04 Sie 2008 20:22 Odpowiedzi: 7    Wyświetleń: 3041
  • stm32f439 - zapis programu na pamięci flash z dual bank powyżej 1MB

    Przykładowy linker dodany do cubef4 dla mikrokontrolera np. stm32f439NI ma tak podzielone obszary pamięci: We fragmencie kodu który pokazałeś widać "jak na dłoni", że pamięć flash _NIE_ jest podzielona, więc nie wiem w czym problem... Czy używając pamięci 2MB z dual bankiem mogę zapisać program na obydwu obszarach pamięci bez żadnych dodatkowych kroków...

    Mikrokontrolery Pozostałe   16 Maj 2015 15:38 Odpowiedzi: 2    Wyświetleń: 3072
  • [AVR][C]{AtmelStudio] Stała w pamięci programu pod konkretnym adresem

    Nie wiem o co chodzi Koledze "Marek_Skalski", bo przecież interpretacja Kolegi "NowyARM" jest jak najbardziej poprawna. O tym samym pisał również Kolega "Tmf". Osobiście nie wiem, co jest umieszczane w tej sekcji, ale gdy zostaną tam kiedykolwiek dołączone jakieś dane, to stała w pamięci programu zostanie przesunięta względem początku sekcji ".progmem.gcc"....

    Mikrokontrolery AVR   18 Lip 2018 20:09 Odpowiedzi: 22    Wyświetleń: 1137
  • Gdzie w makefile Eclipse jest informacja o F_CPU po zmianie w Project/Properties?

    Popatrz na początek swojego pliku makefile, masz tam "include'y" które działają podobnie jak w języku C. Makefile jest rozbity na kilka plików. The include directive tells make to suspend reading the current makefile and read one or more other makefiles before continuing. ([url=https://www.gnu.org/software/make/...

    Mikrokontrolery AVR   21 Lip 2017 14:38 Odpowiedzi: 8    Wyświetleń: 1932
  • Problem z funkcjami dołączanymi przez linker (veneer)

    Przy uruchamianiu funkcji pomiędzy FLASH i RAM w procku STM32F103 linker dodaje procedury skoku pomiędzy pamięciami swoje w trakcie linkowania. Procek chodzi tylko w trybie trumb ale procedury dodawane są z wykorzystywaniem rozkazów arm. W tym momencie przy wywołaniu takiego skoku dostajemy HardFault-a. dla przykładu fragment z pliku *.list 20004420...

    Mikrokontrolery ARM   22 Sie 2021 08:07 Odpowiedzi: 15    Wyświetleń: 882
  • [STM32] Wgrywanie i uruchamianie programu z RAM przez JTAG - jak ustawić adres?

    Olej "oszczędzanie" pamięci Flash - nigdy jej nie zajedziesz, a programy jednak działają trochę inaczej z RAM niż z Flasha. Post powyżej w ogóle nie odpowiada na Twoje pytanie... Ustawiasz w skrypcie linkera tak aby wszystko trafiło do RAM, a nie do flasha i to wszystkie zmiany jakie musisz wykonać, jednak ja wciąż sugeruję nie przejmowanie się żywotnością...

    Mikrokontrolery ARM   14 Paź 2024 18:31 Odpowiedzi: 5    Wyświetleń: 4329
  • Zapisywanie danych testowych w arbitralnie ustalonym miejscu FLASH w STM32F030 przez GCC

    Czy można to zrobić? - Oczywiście. Pytanie, czy trzeba? W miarę łatwo uzasadnić to, że np. jakieś dane konfiguracyjne są zapamiętywane w stałym miejscu pamięci Flash albo dane nie mają mocnego związku z kodem i są ładowane niezależnie od kodu dla każdego egzemplarza urządzenia, ale Twój przypadek jest zupełnie inny. Zamiast uczciwie wstawić dane do...

    Mikrokontrolery ARM   11 Mar 2021 23:36 Odpowiedzi: 6    Wyświetleń: 621
  • [Stm32][GCC] Umieszczenie tablicy wskaźników w FLASH

    Witam Zdefiniowałem sobie następującą tablicę wskaźników na teksty: [syntax=c] const uint8_t *Tab[3] = { (uint8_t*)("Menu1"), (uint8_t*)("Menu2"), (uint8_t*)("Menu3") }; [/syntax] Mój problem polega na tym, że nie potrafię spowodować aby zarówno tablica Tab jak i napisy: Menu1, Menu2 i Menu3 umieszczone zostały przez linker w pamięci FLASH (sekcji .rodata)....

    Mikrokontrolery ARM   12 Maj 2012 18:16 Odpowiedzi: 2    Wyświetleń: 1738
  • Wszystko o ARM (LPCxxxx) i programowaniu w asm i C.

    Po pierwsze upewnij się, że w tych adresach nie siedzi firmowy bootloader, bo mnie się właśnie coś wydaje, że znajduje się on powyżej 500kB. Co do skryptu linkera, to jak mniemam poniżej masz jeszcze stworzoną sekcję o nazwie .eeprom_mem podobną do .data, .text itp. ? Co do kolejności - tak jak proponujesz sam - taką samą uzyskasz tworząc gigantyczną...

    Mikrokontrolery ARM   28 Lis 2009 17:35 Odpowiedzi: 141    Wyświetleń: 17212
  • ARM STM32 - Jak uruchomić CPU z FLASH i przenieść działanie do RAM w Keil

    Jak uruchomić STM32 z FLASH by działał później w pamięci RAM. Dedykowane dla Keil: - plik startup_stm32f10x_xx.s Ułatwię niektórym czasu i szukania w necie rozwiązań flashowania z poziomu własnego bootloadera pamięci programu. Ja przyznam szczerze nie znalazłem żadnego opisu w necie, wobec czego napisałem własne rozwiązanie. Jako że asembler ARMów to...

    Mikrokontrolery ARM   14 Mar 2015 20:17 Odpowiedzi: 4    Wyświetleń: 1545
  • STM32H750 (743) i skomplikowane konfigurowanie zegarów.

    Co do umieszczania kodu w odpowiednich przestrzeniach to trzeba zmodyfikować skrypt linkera oraz użyć atrybutów do danych i kodu aby kompilator odpowiednio stworzył obiekty. Ale to nie jest wystarczające. Trzeba dopisać trochę kodu w startupie jeżeli mają być zainicjalizowane (zerowanie też uznamy dla uproszczenia za inicjalizację aby nie tworzyć dodatkowych...

    Mikrokontrolery ARM   01 Sty 2020 22:23 Odpowiedzi: 15    Wyświetleń: 1149
  • [STM32] tablice we Flasch, RAM iprzekazywanie, zmienne globalne w kilku plikach

    PS. co to jest RISC-V toolchain A co RISC-V ma wspólnego z STM32 i mikrokontrolerami ARM (a jest to dział, w którym zadajesz pytanie. Pytanie zatagowałeś STM32. STM32 nie sa RISC-V) Poważnie? Aż tak bardzo trudno napisać że toolchain do RISC-V to zestaw narzędzi potrzebnych do zbudowania na danej platformie kodu dla procesorów RISC-V? Pamiętaj że jesteś...

    Mikrokontrolery ARM   12 Mar 2021 07:25 Odpowiedzi: 16    Wyświetleń: 1152
  • STM32F103 - Programowy Bootloader -> Idea działania, skrypty linkera

    Witam można to zrobić tak? Dwa projekty w jednym boot w drugim program wykonywalny. 1. projekt z bootem rom (rx) : org = 0x08000000, len = 16k // akurat 16k ma sektor// linker w tym projekcie mam tylko dwie opcje : - konfiguracja zegara+ czytanie programu np przez spi + zapis do flash - lub skok do adresu 0x08004000 2 projekt z programem. rom (rx) :...

    Mikrokontrolery ARM   16 Mar 2013 10:42 Odpowiedzi: 28    Wyświetleń: 6327
  • [STM32][CodeSourcery] Skrypt linkera lub pomoc z _sbrk

    Witam, Zasiadłem do STM32 i zaczynam implementować coraz kolejne funkcjonalności do mojego projektu. Napotkałem jednak problem. Chodzi tu o używanie funkcji malloc() lub printf(). Chodzi o to, że program się nie kompiluje ponieważ brak jest referencji do _sbrk. Przeszukałem Google i znalazłem przykładową funkcję. Funkcja ta potrzebuje dodatkowych informacji...

    Mikrokontrolery ARM   04 Paź 2009 08:45 Odpowiedzi: 3    Wyświetleń: 4602
  • Wgrywanie ikonek do FLASH w STM32F407VG przez Pixel Factory

    Czytałem wczoraj o zapisie danych do FLASH i to wydawało się trudne. A robisz coś takiego jak wgrywasz program do FLASH używając programatora? To nie Ty programujesz FLASH ze swojego programu. To co poczytałeś dotyczy tego - a to jest coś zupełnie innego. Tutaj linker genetuje binarkę programu na Twoim PC-cie (abstrahuję od formatu), który to programator...

    Mikrokontrolery ARM   15 Wrz 2019 20:40 Odpowiedzi: 14    Wyświetleń: 672
  • Dziwne zachowanie procesora stm32f103 po przylutowaniu generatora kwarcowego

    Procki zamawiałem w Łodzi... Na trzech procesorach stm32f103cbt6 z jednego zamówienia miałem ten problem, przelutowywałem je po między nową płytką a starą sprawdzoną i na nich programy StdLib za nic nie chciały wystartować (tworzyłem nawet nowe czyste projekty). Zakupiłem wczoraj (również w Łodzi) stm32f103c8t6 (ma mniej flash`u to może inna partia,...

    Mikrokontrolery ARM   15 Wrz 2018 18:53 Odpowiedzi: 12    Wyświetleń: 915
  • [STM32] - zwis przy próbie użycia przerwania (używam jednego stosu?)

    Efekt dokładnie taki sam jak w przypadku moich wypocin. Zawiesza się i ląduje gdzie? Próbowałeś zmniejszyć w skrypcie linkera rozmiar dostępnej pamięci flash i RAM, np. każdą o połowę? Pokaż te pliki które zmieniłeś.

    Mikrokontrolery Początkujący   10 Maj 2019 08:53 Odpowiedzi: 20    Wyświetleń: 993
  • Przechowywanie funkcji na karcie SD w STM32F107VC - jak zacząć?

    Jak procesor wykonuje kod już nie ma tam linkera, jak przekopujesz do tablicy kod działającej funkcji i ją wywołasz to ona się wykona, jak będzie w niej jakiś błąd to procesor to wyłapie Tak, tylko linker łączy pliki i tak powstaje kod maszynowy. Więc według Ciebie mogę wziąć funkcję z innego projektu (innej kompilacji) i też ma się poprawnie wykonać?...

    Mikrokontrolery ARM   28 Maj 2010 14:01 Odpowiedzi: 23    Wyświetleń: 1946
  • 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ń: 960
  • [STM32] Jak wgrać skompresowany obraz .jpg do flash przez Atollic?

    Tak, zależy mi na stałym umieszczeniu we flash, a wgrywane programy nie przekraczałyby 64kB. Wymyśliłem jeszcze taką wersję ;) żeby program kompilować do pliku binarnego i potem składać całość w "ręcznie". Choć wolałbym nauczyć się pracować na linkerze i poznać więcej informacji o nim. Jak dokładnie (krok po kroku) np.umieścić dane w oddzielnej sekcji...

    Mikrokontrolery ARM   22 Sty 2019 23:59 Odpowiedzi: 8    Wyświetleń: 600
  • [LPC1788][C] - Przesunięcie wektora przerwań blokuje mikrokontroler

    Uruchom mikrokontroler w trybie bootowania (coś tam zwarte do masy) - pewnei odzyskasz komunikację z programatorem. Napisz dokładnie, co zrobiłeś i pokaż kawałki kodu. Typowo relokacji tablicy adresów wyjątków używa się przy własnym bootloaderze. Nie rusza się wtedy mapy sekcji, a tylko zmienia bazę pamięci FLASH w skrypcie linkera. No i wyjaśnij, jak...

    Mikrokontrolery ARM   25 Cze 2013 13:28 Odpowiedzi: 2    Wyświetleń: 1437
  • Jak skonfigurować Eclipse i CodeSourcery do programowania LPC2478?

    Kompilator ładuje tam inicjalizatory dla zmiennych w pamięci zewnętrznej. Aby tego uniknąć, musiałbyć zmienić lekko skrypt linkera i do startupa dopisać kopiowanie danych z flasha do tej pamięci, tylko że najpierw trzeba by ją włączyć <: Dane z sekcji .data mają ustawione adresy w RAM, ale ładowane są do FLASH (> ram AT > rom), dlatego tam...

    Mikrokontrolery ARM   27 Paź 2011 07:11 Odpowiedzi: 103    Wyświetleń: 17374
  • [STM32F4] Dogrywanie pojedyńczej funkcji do działajacego ukladu

    Myślałem żeby załaczyć Ci mój projekt ale - 1. jest komercyjny 2. jest zbyt myślę złożony Tak że na szybko sama idea - jest to zrobione w 5 minut i skrypt linkera powinno sie przerobic lepiej. Funkcje też są do kitu - bo parametry trzeba przekazywać wskaznikiem do nich) wtedy nie jesteś ograniczony ich ilościa itd itd. Nie jest to reentrant i bezpieczne....

    Mikrokontrolery ARM   15 Kwi 2017 13:51 Odpowiedzi: 15    Wyświetleń: 1218
  • C++: Optymalizacja stałych danych w pamięci FLASH dla STM32F10X

    Nie odpowiem, dlaczego to działa w C, a nie działa w C++, ale pamiętaj, że to wyrażenie musi obliczyć linker, nie kompilator. To wyrażenie oblicza w każdym wypadku kompilator - nawet jeśli generuje zły kod. Wygląda na to, że jeśli w wyrażeniu inicjującym występuje operator "->" kompilator ignoruje const. Sprawdzone do wersji 4.5.0 20090816 (experimental)....

    Mikrokontrolery ARM   17 Sie 2009 07:42 Odpowiedzi: 9    Wyświetleń: 2957
  • Jak uruchomić bootloader z aplikacji i zachować go w pamięci Flash?

    Nie. Bootloader jest oddzielną aplikacją, z własnymi segmentami danych. Skacząc do niej niszczysz wszystkie struktury danych aplikacji z której skaczesz. Powrót jest więc niemożliwy - chyba, że uruchomisz aplikację od nowa. Z tego też powodu przerwania uruchomione w aplikacji nie mogą być wykorzystane przez bootloader - konkretnie mogą, ale będą one...

    Mikrokontrolery AVR   07 Lip 2013 11:28 Odpowiedzi: 7    Wyświetleń: 1755
  • [STM32F103] - Umieszczenie stałej pod wskazanym adresem w pamięci flash

    Środowisko? Bez linkera/scatter file się nie obejdzie. Tylko po co to robić?

    Mikrokontrolery ARM   27 Lut 2018 19:30 Odpowiedzi: 30    Wyświetleń: 2943
  • STM32 Jak umieścić dane we FLASH których się nie używa.

    A w skrypcie linkera sekcja z atrybutem KEEP? Wtedy nie powinien tego odśmiecacz wywalić, i potem po prostu sekcja #pragma? :/ Nwm tak sobie pomyslałem. Może zadziałać :D Zawsze też możesz zapisać coś do flasha pod odp oadresem jeden raz a potem to będzie. Jeśli zapiszesz to we fragmencie pamięci którego programator nie wyczyści :/ Edit: Pozwolę sobie...

    Mikrokontrolery ARM   28 Kwi 2021 23:11 Odpowiedzi: 3    Wyświetleń: 783
  • [STM32] STM32 – malloc/pvPortMalloc zawiesza się po resecie, pamięć nie zwalnia się?

    Eee... No ale bez sbrk() malloc() nie ma prawa działać... Chyba że jest to gdzieś w reszcie plików zaimplementowane. Pooglądaj wynikowy plik .map - tam zobaczysz co wylądowało w RAM a co we flash. Pliki które masz w tym przykładzie nie są zbyt dobre - szczególnie skrypt linkera... Składnia która jest tam zastosowana wg mnie w ogóle jest niejasna i dziwna...

    Mikrokontrolery ARM   17 Gru 2009 11:32 Odpowiedzi: 13    Wyświetleń: 4217
  • STM32F4[C] keil - Wydzielenie Pamięci FLASH do zapisu / odczytu danych ?

    pomyslales o uzyciu scatter file? ;] W tam: target->options->linker odkliknij opcje "use memory layout from target dialog". Klik w przycisk "edit" z prawej strony. LR_IROM1 0x08000000 0x3C000 { ; load region size_region, zalozmy ze flash ma 256KiB ER_IROM1 0x08000000 0x3C000 { ; load address = execution address *.o (RESET, +First)...

    Mikrokontrolery ARM   24 Maj 2013 01:41 Odpowiedzi: 13    Wyświetleń: 4227
  • [AVR] Jak napisać prosty bootloader AVR w C do zapisu Flash przez RS232?

    Hm... jak pisałem bootloader do swojej centralki to nie używałem __attribute do przesunięcia przestrzeni adresowej tylko zmieniłem w ustawieniach AVR Studio zakres dostępnej przestrzeni pamięci programu na zakres przewidziany dla bootloadera(różnie dla różnych procków). Było o tym pisane na forum, o ile dobrze pamiętam(proszę mnie poprawić jeżeli bredzę)...

    Mikrokontrolery AVR   20 Paź 2008 09:40 Odpowiedzi: 8    Wyświetleń: 6164
  • [GCC ARM] Jak ustawić stały adres dla zmiennej uint32 w projekcie?

    Tak oczywiście. Linker skrypt trzeba odpowiednio zmodyfikować, dbając o to by nie nałożyć na siebie sekcji, choć i tak kompilator tego nie zaakceptuje. np taka sekcja. [syntax=c]mojalokalizacja 0x70000: { *(.miejsce1); } >FLASH [/syntax] i deklaracja funkcji: [syntax=c]void foo(void) __attribute__((section(".miejsce1")));[/... Spowoduje umieszczenie...

    Programowanie   25 Cze 2018 10:24 Odpowiedzi: 19    Wyświetleń: 852
  • [STM32F100][OPENOCD+Eclipse] - HardFault po pierwszej instrukcji

    A jeśli chciałbym mój program wgrać do RAM to musiałbym w tym Twoim skrypcie linkera dla sekcji np .text zamiast > rom AT > rom wpisać > ram AT > ram czy wewnątrz {} tez trzeba coś zmieniać? Jeśli wystarczy Ci, że program będzie działał jedynie przez debugger, to wystarczy ta pierwsza opcja. Jeśli byś chciał, żeby program normalnie działał z RAM, to...

    Mikrokontrolery ARM   29 Wrz 2014 19:06 Odpowiedzi: 34    Wyświetleń: 2826
  • SAM7X256 - problem z inicjalizacją PLL i brakiem sygnału na kwarcu

    Witam Panowie ręce mi opadają... przelutowałem jeszcze jednego procka. Jest tak jak na początku. tzn to co opisywałem za pierwszym razem. Spróbowałem uruchomić program w ramie i o dziwo działa, ale tylko w ramie, jak debaguje jest ok. W SAMBA jest opcja "Enable Flash access" - ale nic to nie daje. Opcja Boot from Flash lub Rom też. Moje problemy zaczęły...

    Mikrokontrolery ARM   18 Gru 2008 17:32 Odpowiedzi: 4    Wyświetleń: 1727
  • Błąd przy zapisie do tablicy 2D w uVision3 - deklaracja int X[200][20]

    Udało mi się zadeklarować tablice [144][20] maksymalnie... uVision3 wersja chyba 3.53 z ograniczeniem kodu do 16k ... ale było napisane, że do 16k programu. A zmienne chyba się nie zaliczają do programu nie? Program ładuje się do flash, a nie w RAM ... Chyba, że ... linker i kompilator ma do 16k programu i danych :/ To będę miał problem ... pomoże ktoś...

    Mikrokontrolery   09 Lut 2008 23:46 Odpowiedzi: 11    Wyświetleń: 1275
  • 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ń: 2721
  • Potrzebne pliki konfiguracyjne do OpenOCD + AT91sam7s256 + wiggler

    Witam po dłuższej nieobecności. Po należytym skonfigurowaniu skryptu linkera, flagi mcpu Build mi wywalił: 17:42:41 **** Build of configuration Debug for project ARM_Proj_Tst_02 **** make all Building file: ../src/main.c Invoking: Cross ARM C Compiler arm-none-eabi-gcc -mcpu=arm7tdmi -march=armv4t -marm -O0 -fmessage-length=0 -fsigned-char...

    Mikrokontrolery ARM   24 Wrz 2015 16:55 Odpowiedzi: 23    Wyświetleń: 1659
  • [AT91SAM7S] OpenOCD - błąd przy programowaniu przez JTAG-lock-pick

    Witaj, No podpowiedź daje Ci samo openocd Error: No flash at address 0x00000000 Masz źle skonfigurowany adres obszaru pamięci flash mikrokontrolera Sprawdź w pliku gdzie definiowane są adresy i obszary pamięci. Próbujesz załadować pod adres 0x0 Twojego hexa a tam nie ma pod tym adresem obszaru pamięci flash. Sprawdź również w Twoim projekcie w pliku...

    Mikrokontrolery ARM   17 Sty 2011 13:12 Odpowiedzi: 23    Wyświetleń: 3409
  • AVR - jak radzić sobie z fusebitami i ograniczeniami 8-bit?

    cont zmienia linkage zmiennej globalnej z external na internal. Klasycznie jest to RO, więc leci do sekcji .ro, która jest w flash (albo inaczej, pozostaje w flashu), chyba że stworzysz osobną sekcję i ją przeniesiesz w linker script lub zmusisz by cała sekcja RO była w RAM.

    Projektowanie i Tworzenie Po godzinach   30 Sty 2020 18:45 Odpowiedzi: 368    Wyświetleń: 17292
  • [STM32][C] Debugowanie kodu przerwania w pamięci RAM

    Witam VanThor czy poradziłeś sobie z tym problem. U mnie niby to samo ale... We flashu wszystko ładnie działa. W ramie: 1. Modyfikacja skryptu linkera z flash na ram 2. BOOT0 =1 i BOOT1= 1; 3. W main daje NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x00); Hmm niby wszystko ok ale jak wkładam USB do PC (pojawia się przerwanie ) czasem mam wyjątek BusFault,...

    Mikrokontrolery ARM   16 Kwi 2010 14:27 Odpowiedzi: 5    Wyświetleń: 3371
  • ARM GCC compiler problem z własnym skryptem linkera i plikiem .hex

    Twój skrypt linkera jest prosty. Zbyt prosty. W nim naprawdę musi być dużo więcej rzeczy, dla projektów w C++ nawet jeszcze wiecej niż dla projektów w C. Znajdź sobie jakiś przykładowy, użyj skryptu z paczek CubeF1 albo popatrz na skrypt przykładowy kompilatora (w którym znów jest trochę za dużo bajerów a znów brak podziału na flash/RAM) - arm-none-eabi-gcc-8.3.0-190223/arm-none-...

    Mikrokontrolery ARM   04 Kwi 2019 11:48 Odpowiedzi: 9    Wyświetleń: 939
  • Nie mogę zainstalować debugera OpenOCD na Windows 7 po zezwoleniu zapory

    Zakładając 0 stosu i heapu w skrypcie linkera (po to aby nie zmącać Ci obrazu bo on się doda do BSS). Ty oczywiście ustaw je na wartości takie jak powinny być w programie. [syntax=c]make --no-print-directory post-build Generating binary and Printing size information: arm-none-eabi-objcopy -O binary "101n.elf" "101n.bin" arm-none-eabi-size "101n.elf"...

    Mikrokontrolery   11 Gru 2017 07:42 Odpowiedzi: 15    Wyświetleń: 711
  • [SAM7X] [SAM7X][C] sprintf wyświetla nieprawidłowe dane na LCD po czasie

    /*--------------------------------------... * Linker script for running in internal Flash on the AT91SAM7X512. *---------------------------------------... OUTPUT_FORMAT("elf32-littlearm&... "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm)...

    Mikrokontrolery ARM   23 Gru 2010 16:06 Odpowiedzi: 26    Wyświetleń: 2223
  • win AVR - błędne adresowanie tablic po dodaniu nowych danych

    aby kompilator/linker był na tyle niedopracowany, aby stałe z pamięci typu FLASH, przepisywać do pamięci typu RAM w tej samej przestrzeni adresowej. Wszystko zależy od skryptu linkera i jak ktoś bardzo potrzebuje, to nie ma problemu w tym, żeby const były kopiowane do RAMu i tam używane. BTW, z tym progmem prawidłowy zapis wygląda tak: __attribute__...

    Mikrokontrolery   30 Sie 2007 12:04 Odpowiedzi: 10    Wyświetleń: 1531
  • STM32F103C8T6 USB MSC Bootloader by piotr_go

    Ponadto gdyby ktoś miał hexa jakiegokolwiek programu który startuje z 0x08000000 to mógłby sobie wrzucić bez problemu. Ten "ktoś" najwidoczniej nie ma pojęcia jak działa bootloader, bo taki który nie uruchamia się po starcie układu jest generalnie bezsensowny. A bootloader uruchomić się po starcie układu może tylko dlatego, że właśnie jest pierwszy...

    DIY Konstrukcje   18 Paź 2023 00:56 Odpowiedzi: 43    Wyświetleń: 19614
  • Jak zarezerwować fragment FLASH na stałe w GCC? Umieszczenie danych pod stałym adresem

    W gcc nie, bo to nie rola kompilatora. Musisz stworzyć własną sekcję w której umieścisz dane, a następnie przekazać info do linkera gdzie ta sekcja ma się znaleźć.

    Mikrokontrolery ARM   22 Lip 2010 20:36 Odpowiedzi: 2    Wyświetleń: 1124
  • [LPC1754] Jak zrealizować aktualizację oprogramowania LPC1754 z USB? FatFs, IAP, RAM czy Flash?

    Ja bym zrobił wersję nr1 (; Po przeflashowaniu softu i tak (raczej) musisz zrobić reset, więc nie musisz odtwarzać zawartości pamięci RAM, możesz więc sobie generalnie pokasować wszystkie inne zmienne [; Tak naprawdę na karcie możesz mieć dwa obrazy - nowy wsad i "bootloader". Kopiujesz sobie do RAMu "wprost" ten bootloader (kompletny działający z RAMu...

    Mikrokontrolery ARM   01 Sty 2012 20:14 Odpowiedzi: 19    Wyświetleń: 2622
  • AVR231 bootloader - działa z atemga644 a nie działa z atmega128

    Teraz sobie wyobraź że masz bootloader mniejszy niż ustawiłeś bitami BOTSZ0 i BOTSZ1 .. tam będą FFFF i procesor skoczy pod ten adres przy stacie i nic znaczącego się nie stanie bo on będzie czytał po kolei kolejne komórki pamieci flash aż w końcu napotka Twój Bootloader :D i zacznie działać. Dokładnie tak to sobie wyobraziłem ale teraz popatrz: ustawiam...

    Mikrokontrolery AVR   06 Lip 2016 23:50 Odpowiedzi: 8    Wyświetleń: 1143
  • Lokalizacja sekcji programu: RAM, EEPROM, FLASH?

    Twoje pytanie jest dość ogólne ponieważ wszystko o czym mówisz jest definiowane w skrypcie linkera. Ale zazwyczaj jest tak, że: - sekcja .text jest umieszczana w pamięci flash - sekcja .data jest umieszczana w pamięci RAM (kopiowana z pamięci flash w rozbiegówce) - sekcja .bss jest umieszczana w pamięci RAM (ustawiana na wartość zero w rozbiegówce)...

    Mikrokontrolery Początkujący   01 Mar 2018 19:57 Odpowiedzi: 14    Wyświetleń: 1797
  • Eclipse AVR - dostęp do sekcji Application Table we FLASH dla procków Xmega

    Wszystko jest dokładnie tak samo - podajesz adres sekcji w ten sposób, aby został on przekazany do linkera. Zapewne w Eclipse są jakieś opcje podobne do tych w AS. Jeśli nie, to zawsze można je dodać w makefile.

    Mikrokontrolery AVR   23 Maj 2021 13:31 Odpowiedzi: 2    Wyświetleń: 501
  • Jak rozdzielić sekcje .text i .bss w AVR, by uniknąć overlap?

    Mam taki kod linkera: MEMORY { CODE (xr) : ORIGIN = 0x0000, LENGTH = 128K DATA (rw) : ORIGIN = 0x0100, LENGTH = 4K } I dopuki kod zajmowal mniej niz 256 bajtow to wszystko sie linkowalo. Po przekroczeniu 256 bajtow kodu wykonywalnego pojawia sie blad linkowania: avr-ld: section .bss [0000000000000100 ->...

    Mikrokontrolery AVR   14 Wrz 2008 19:17 Odpowiedzi: 5    Wyświetleń: 1274
  • [avr-gcc] - Zapis nieużywanej stałej do pamięci Flash

    Jeśli nie jest używane to normalne, że linker to usuwa, po co ci info którego nie odczytujesz? Możesz to zostawić wykorzystując atrybut kompilatora "used" przypisany do zmiennej.

    Mikrokontrolery AVR   08 Lis 2013 10:07 Odpowiedzi: 10    Wyświetleń: 1827
  • [AVR GCC] - Nazwa zmiennej zmienia kod wynikowy. Błąd w kompilatorze?

    Ten problem raczej wynika z biblioteki AVR-libc i libgcc. W ramach "usprawnień" zmieniono biblioteki z którymi domyślnie są linkowane aplikacje. Pewne funkcje przerzucono do libgcc (m.in. funkcje arytmetyczne, żeby pokryć funkcje oferowane przez gcc i dostosować je do specyfiki AVR), najwyraźniej o czymś zapominając. Efekt jest taki, że kompilator widząc...

    Mikrokontrolery AVR   29 Maj 2014 18:14 Odpowiedzi: 35    Wyświetleń: 4419
  • STM32 Primer - Problemy z SysTick_Config i SysTick_CLKSourceConfig w Ride7

    Datasheet podaje, że wytrzymałość pamięci flash to minimum 10000 cykli. Przemyśl, czy naprawdę warto kombinować, bo - uwierz - niepoprawne uruchomienie programu z RAM potrafi czasem sporo namieszać (szukasz błędu który nie istnieje). Co do komend, to po pierwsze musisz mieć inny skrypt linkera (bo nie używasz już flash), musisz wiec inaczej linkować...

    Mikrokontrolery ARM   14 Kwi 2020 18:50 Odpowiedzi: 174    Wyświetleń: 12921
  • [LCP2378] [LCP2378][PLL] ARM: PLL nie zaskakuje, oscylator 12MHz, CCLK 72MHz, OpenOCD, FlashMagic

    Jak zatrzymywałem pętlę i ją odłączałem w 2 oddzielnych krokach i po każdym dawałem feed'a to też nie chodziło. Zaczyna mi się wydawać, że coś nie tak jest albo z ustawieniami kompilatora albo linkera. Walczę dalej. Wszelkie pomysły mile widziane. Pozostają: 1 Programowo: - złe definicje rejestrów ;-) - masz wczesną wersję MCU i dotyka cię PLL.1 +...

    Mikrokontrolery ARM   13 Mar 2009 14:56 Odpowiedzi: 6    Wyświetleń: 1773
  • STM32/DISCOVERY/STM32L100C-Disco Probllem z wgraniem programu.

    Na mojej stronce znajdziesz gotowy projekt który można zaimportować do Eclipse'a - użyj tego o nazwie "stm32_blink_led". W projekcie masz wszystko co trzeba, włącznie z poprawnym skryptem linkera. Aby dostosować go do Twojej płytki po prostu zerknij do pliku config.h i zmień częstotliwość docelową oraz port na którym jest diodka. W pliku z rozszerzeniem...

    Mikrokontrolery   24 Mar 2016 09:03 Odpowiedzi: 17    Wyświetleń: 1185
  • [Atmega128][c++] Wysyłanie zmiennej double przez USART

    tmf o i pamiętałeś o dołączeniu libm.a i libprintf_flt.a? Do linkera przekazujesz -Wl,-u,vfprintf? Bez tych bibliotek sprintf nie działa. Do programowania pamięci flash mojego uC używam avr studio. Nigdy nie stosowałem żadnego przekazywania "czegokolwiek" do linkera. Myślałem, że samo #include <stdlib.h> załatwia sprawę. Mógłbyś nieco przybliżyć...

    Mikrokontrolery AVR   30 Cze 2010 20:03 Odpowiedzi: 9    Wyświetleń: 4678
  • Optymalizacja wykorzystania czcionek we flash dla wyświetlacza eink na kontrolerze ssd1619

    ednak przy kompilacji znowu (co ma sens bo uzywam tablicy zawierajacej wszystkie wskazniki) wszystkie tablice ze czcionkami sa dodawane do flash. Jak to rozwiazac, zeby do flash byly dolaczane czcionki tylko te , ktore sa uzyte w programie a nie ograniczac jednoczesnie calego zestawu czcionek? Już sobie odpowiedziałeś na to pytanie - nie odwoływać...

    Mikrokontrolery   04 Sty 2021 23:22 Odpowiedzi: 15    Wyświetleń: 645
  • Atmega128 plus xram 32kB, przeniesienie segmentu danych

    ak do memory settings dodam typ Sram z nazwą .xram adres 0x08110 Bo to nie jest poprawny adres RAM i dlatego linker myśli, że to kolejny segment wewnętrznej pamięci FLASH mikrokontrolera. AVR ma architekturę Harvardzką i trzeba odróżniać różne typy pamięci. Dlatego w toolchainie dla AVR przyjęto, że RAM musi zaczynać się powyżej określonego adresu...

    Mikrokontrolery AVR   29 Mar 2020 11:52 Odpowiedzi: 45    Wyświetleń: 1875
  • [Olimex LPC2378-STK][C/Eclipse] Newbie - debugowanie w RAM

    Debuggowanie we flashu polega po prostu na tym, że kod który chcesz debuggować znajduje się w pamięci RAM. Zasadniczo - jeśli dobrze pamiętam - aby mieć kod w RAM zamiast we flash do debuggowania, wystarczy zrobić dwie rzeczy: 1. Zmodyfikować skrypt linkera, tak aby program był skompilowany do pracy jedynie w RAM 2. Dla LPC2000 ustawić wektory przerwań...

    Mikrokontrolery ARM   23 Cze 2009 21:52 Odpowiedzi: 3    Wyświetleń: 1862
  • [AT91SAM7X256] Nieudane połączenie z FLASH-em przez ARMJTAG USB i OpenOCD

    Witam Miałem też taki problem że sam7x działał ale po kolejnym wgraniu programu przestał działać. Przelutowałem procka 2 razy. W końcu kupiłem nową płytkę, a starego odstawiłem. Kiedyś przez przypadek do niego wróciłem i spróbowałem uruchomić program w ramie i o dziwo poszło, ale z flasha nie chciał iść. Może to jest coś dziwnego ale jak w skrypcie...

    Mikrokontrolery ARM   07 Mar 2009 19:03 Odpowiedzi: 12    Wyświetleń: 3401
  • STM32L1Discovery: Jak stworzyć template pod Eclipse? Startup, linker, wektory?

    Ok winowajca znaleziony. Tadzik dzięki naprowadziłeś mnie na dobry tor. Sprawdziłem rejestry flasha. Okazało się że domyslnie jet ustawiony 32bit access mode. I w trybie 32 bitowym flash latency nie może byc ustawione. Najpierw trzeba zmienić tryb na 64 bitowy dopiero wtedy można ustawić wait states

    Mikrokontrolery ARM   13 Gru 2013 23:23 Odpowiedzi: 8    Wyświetleń: 1071
  • LPC17xx - LPC1768 - bootloader ethernetowy (FlashMagic)

    Hej, 1) Flash LPC w dolnych rejonach ma bloki po 4kB, więc bootloader zajmie wielokrotność 4kB. Od nas zależy ile chcemy zmarnować. 2) Bootloader to w zasadzie normalny soft, którego zadaniem jest zaprogramowanie obszaru powyżej bootloadera, i jego wykonanie. 3) Bootloader, w przypadku braku sygnału do programowania po prostu uruchamia właściwy kod....

    Mikrokontrolery ARM   20 Sty 2015 18:14 Odpowiedzi: 9    Wyświetleń: 1302