LinkedIn YouTube Facebook
Szukaj

Wstecz
IoT

Ethernetowy bootloader dla mikrokontrolerów Freescale Kinetis

Rozwijanie aplikacji z ethernetowym bootloaderem w środowisku CodeWarrior

Jako projekt bazowy środowiska CodeWarrior, do którego dodany zostanie ethernetowy bootloader, wykorzystać można dowolny istniejący projekt lub alternatywnie stworzyć można nowy projekt. Na potrzeby artykułu wybrana została opcja druga – stworzenie projektu od podstaw. Należy w tym celu wykonać następujące kroki:

1. Uruchomić środowisko, wybrać File->New->Bareboard Project i postępować zgodnie z rysunkiem 6.

 

Rys. 6. Stworzenie projektu w środowisku CodeWarrior

Rys. 6. Stworzenie projektu w środowisku CodeWarrior

 

 

2. Zmienić opcję projektu na MK60N512VMD100_INTERNAL_FLASH i otworzyć plik MK60N512VMD100_flash.lcf (rysunek 7).

 

Rys. 7. Plik MK60N512VMD100_flash.lcf

Rys. 7. Plik MK60N512VMD100_flash.lcf

 

 

3. Zmodyfikować plik .icf

a. Zmodyfikować adres pamięci początku aplikacji właściwej mikrokontrolera z 0x0000 na 0xC000 (listing 5).

 

Listing 5.

# 48KB (Reserved for Ethernet Bootloader)
fnet_bootloader (RX) : ORIGIN = 0x00000000, LENGTH = 0x0000C000
m_interrupts (RX) : ORIGIN = 0x0000C000, LENGTH = 0x000001E0
m_text (RX) : ORIGIN = 0x0000C400, LENGTH = 0x0007F000-0x0000C400

 

b. Usunąć obszar m_cfmprtrom (listing 6).

 

Listing 6.

# m_cfmprotrom (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010
# .cfmprotect :
# {
# *(.cfmconfig)
# . = ALIGN (0x4);
# } > m_cfmprotrom

 

c. Stworzyć sekcję dla parametrów bootloadera (listing 7)

 

Listing 7.

# 4Kbytes (Last logical-block reserved for parameters)
fnet_params (RW) : ORIGIN = 0x0007F000,LENGTH = 0x00001000

 

Cały zmodyfikowany plik  .icf został pokazany w dodatku B do artykułu.

4. Skompilować projekt. Domyślnie środowisko CodeWarrior nie generuje pliku pamięci linkera, konieczne jest aktywowanie tej opcji, tak jak pokazano to na rysunku 8.

 

Rys. 8. Aktywowanie opcji generowania pliku pamięci

Rys. 8. Aktywowanie opcji generowania pliku pamięci