Ethernetowy bootloader dla mikrokontrolerów Freescale Kinetis
5. Otworzyć plik .xmap i sprawdzić, czy aplikacja została umieszczona pod zmodyfikowanymi adresami pamięci Flash (rysunek 9).
Rys. 9. Zaznaczone na czerwono adresy pamięci po modyfikacji
Teraz wygenerowany plik .S19 jest gotowy do wgrania do pamięci mikrokontrolera przez ethernetowy bootloader. Plik ten można znaleźć w sposób przedstawiony na rysunku 10.
Rys. 10. Lokalizacja pliku .S19
Rozwijanie aplikacji dla systemu MQX z ethernetowym bootloaderem w środowisku CodeWarrior
Dla przypadku wykorzystania ethernetowego bootloadera w projekcie programistycznym dla systemu MQX użyty został przykład „Hello World” znajdujący się pod ścieżką C :\Program Files\Freescale\Freescale MQX 3.7\mqx .
1. Przeciągnąć i upuścić do workspace-a środowiska CodeWarrior plik .project projektu hello_twrk60n512 .
2. Domyślnie system MQX alokuje tablicę wektorów pod pierwszym adresem pamięci Flash (0x0000-0000). Jako, że obszar ten jest wykorzystywany przez ethernetowy bootloader, konieczna jest realokacja tablicy wektorów w sekcji RAM . Aby to uczynić, należy otworzyć biblioteki bsp_twrk60n512 psp_twrk60n512 , dodać odpowiednie makro ( #define MQX_ROM_VECTORS ) do pliku user_config.h i przekompilować biblioteki (rysunek 11). Więcej o tej czynności można przeczytać w rozdziale 2.4 Freescale CodeWarrior Development Studio version 10.1 z dokumentu „ Getting Started ” ( C:\Program Files\Freescale\Freescale MQX ).
Rys. 11. Dodanie makra do pliku biblioteki
3. Zmienić opcję workspace-a na MK60N512VMD100_INTERNAL_FLASH i otworzyć plik MK60N512VMD100_flash.lcf (rysunek 12).
Rys. 12. Plik MK60N512VMD100_flash.lcf
4. Zmodyfikować plik linkera .lcf .
a. Zmodyfikować adres pamięci początku aplikacji właściwej mikrokontrolera z 0x0000_0000 na 0x0000_C000 (listing 8).
Listing 8.
# 48KB (Reserved for Ethernet Bootloader) fnet_bootloader (RX) : ORIGIN = 0x00000000, LENGTH = 0x0000C000 vectorrom (RX): ORIGIN = 0x0000C000, LENGTH = 0x00000410 rom (RX) : ORIGIN = 0x0000C420, LENGTH = 0x0007F000-0x0000C420
b. Usunąć obszar m_cfmprtrom (listing 9).
Listing 9.
# m_cfmprotrom (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010
# .cfmprotect :
# {
# *(.cfmconfig)
# . = ALIGN (0x4);
# } > m_cfmprotrom





Od wzmacniacza nieodwracającego do integratora i wzmacniacza ładunkowego, czyli historia z zaskakującą pointą jak w dobrym kryminale
Green czy smart? Jak decyzje ESG zaczynają optymalizować procesy produkcyjne
Firma Semicon ma w ofercie narzędzia do obróbki przewodów 

![https://www.youtube.com/watch?v=BgxJVTwYJ-s Zapraszamy do obejrzenia filmu i wysłuchania krótkich wypowiedzi prelegentów Hardware Forum 2026 i organizatorów majowej konferencji dla inżynierów z branży elektronicznej: Konrad Bruliński z Lemontech, prof. Krzysztof Kulpa z Politechniki Warszawskiej, Zbigniew Huber z FLC, Ewa Załupska z firmy KROK, Jerzy Kozieł z MPTECH, Grzegorz Potyralski z VIGO Photonics, dr Krzysztof Czuba z Politechniki Warszawskiej, Anna Beata Kalisz Hedegaard z Quantum Security Defence, Adrian Cichosz z Elhurt Dystrybucja Anna Kamińska z Creotech Quantum, oraz Łukasz Jaeszke i Adam Jaeszke z TEK.day [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/05/tytulowe-film-1.png)



