-
Data: 2023-02-13 11:49:15
Temat: Re: MCU - start programu z RAM
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 13/02/2023 11:29, Stachu Chebel wrote:
> Jak to zrobić, żeby po włączeniu urządzenia program przekopiował się
> z FLAH do RAM i następnie rozpoczął życie w RAM?
Aby był uruchamialny z obu miejsc, wymaga to posiadania kodu który jest
niezależny od lokalizacji (PIC). To nie jest domyslny tryb kompilacji,
zerknij na flagę pic w gcc, modyfikuje ona kod do stanu, w którym skoki
są wyłącznie względne.
Druga sprawa: zazwyczaj nie chcesz całego programu - zazwyczaj chcesz
kilka funkcji.
Inny workaround to zmuszenie linkera do zlinkowania częsci programu w
RAM i wydłubanie tej sekcji z pliku elf, a nastepnie potraktowanie jej
jako zwykłej tablicy danych do skopiowania do RAM. Widziałem sztuczke,
kiedy automatycznie kompilowało się do sekcji .data, wiec kopiowanie do
RAM ogarniała inicjalizacja.
Jeszcze inny, to niejakie gotowce, typu __RAM_FUNC.
To jest ogólnie trudne zagadnienie z poziomu ogarniania linkera,
kompilacji ręcznej, pisania makefiles, opcji w narzędziach itd. Trudno o
ogólną odpowiedź, to są rzeczy specyficzne do kompilatora i narzędzi na
około niego. Niewykluczone, że narzędzia, z których korzystasz, mają to
ogarnięte w postaci prostych do użycia modyfikatorów funkcji, flaczy czy
innych wynalazków.
Tu masz kilka podpowiedzi:
https://stackoverflow.com/questions/15137214/how-to-
run-code-from-ram-on-arm-architecture
Następne wpisy z tego wątku
- 13.02.23 11:53 Adam Górski
- 13.02.23 13:27 JDX
- 13.02.23 13:29 JDX
- 13.02.23 13:34 JDX
- 13.02.23 20:33 m
- 14.02.23 23:12 JDX
Najnowsze wątki z tej grupy
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
Najnowsze wątki
- 2025-07-11 Białystok => Programista Kotlin <=
- 2025-07-11 Kraków => PHP Developer (Full Stack) <=
- 2025-07-11 Warszawa => Specialist in Administration <=
- 2025-07-11 Warszawa => Specjalista/tka ds. Administracji <=
- 2025-07-11 Warszawa => Senior Product Manager <=
- 2025-07-11 Szczecin => Key Account Manager IT <=
- 2025-07-11 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-11 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-11 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-07-11 Warszawa => Senior Fullstack Developer <=
- 2025-07-11 Tymczasowe wprowadzenie towaru na obszar celny EU przy przesyłce pocztowej
- 2025-07-10 Re: Co roku przez turbiny wiatrowe ginie nawet półmiliona ptaków
- 2025-07-08 Re: Co roku przez turbiny wiatrowe ginie nawet półmiliona ptaków
- 2025-07-09 Kolega Mastera z Konfy, a jakże :D
- 2025-07-09 Re: 3 km zasięgu w 5 minut? Chińczycy zapowiedzieli ewolucję