LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
Artykuły

Programowanie mikrokontrolerów Freescale Kinetis w trybie ISP

Flash Sector Erase

Wywołanie komendy Flash Sector Erase (SE) skutkuje skasowaniem zawartości pamięci w danych sektorze pamięci Flash. Adres pamięci przyjmuje wartość 64-bitową. Implementację komendy Flash Sector Erase i wcześniej omówionej Flash Section Program pokazano w listingu:

set_to_ezp_mode();
ezp_spi_init(0,6,0,0); /* max permitted clock speed for read */
// 1. Boot-up from reset with EZPORT enabled.
ezp_wren_cmd();
// 2. Verify WEN flag is set.
sr = ezp_rdsr_cmd();
if (sr != EP_SR_WEN)
{
printf("Failure in SR value: WEN not set\n");
error_count++;
}
//3. Sector erase
ezp_se_cmd(sector_addr);
//Loop till command has completed
sr = EP_SR_WIP;
// Poll SR until WIP goes low
while ((sr & EP_SR_WIP) == EP_SR_WIP)
sr = ezp_rdsr_cmd();
ezp_wren_cmd();
//4. Sector program
ezp_pp_cmd(sector_addr,64, pg_buffer);
//Loop till command has completed
sr = EP_SR_WIP;
// Poll SR until WIP goes low
while ((sr & EP_SR_WIP) == EP_SR_WIP)
sr = ezp_rdsr_cmd();

 

Flash Bulk Erase

Komeneda Flash Bulk Erase wykonuje skasowanie całej wartości pamięci Flash, z pominięciem jedynie sektorów chronionych.

Reset Chip

Wykonanie komendy Reset Chip (RESET) powoduje zresetowanie całego modułu EzPort.

Write FCCOB Registers

Komenda Write FCCOB Registers (WRFCCOB) pozwala na zapis danych do rejestrów modułu EzPort. 12 bajtów informacji przesłanych przez urządzenie zewnętrzne wpisywanych jest do rejestrów FCCOB 0-B.

Read FCCOB registers at High Speed

Za pomocą komendy Read FCCOB registers at High Speed (FAST_RDFCCOB) istnieje możliwość odczytania rejestrów modułu EzPort. Po otrzymaniu komendy, moduł EzPort odsyła 12 bajtów, rozpoczynając od rejestru FCCOB 0, a kończąc na rejetrze FCCOB B. Implementację komendy Read FCCOB registers at High Speed i wcześniej omówionej Write FCCOB Registers pokazano w listingu:

ezp_wren_cmd();
fccob[0] = 0x06;//program longword command
fccob[1] = 0x00;//flash address is 0x00040c
fccob[2] = 0x04;
fccob[3] = 0x0c;
fccob[4] = 0xff;//program data is 0xfffffffe
fccob[5] = 0xff;
fccob[6] = 0xff;
fccob[7] = 0xfe;
ezp_wrfccob_cmd(fccob);
//Loop until command has completed
sr = EP_SR_WIP;
// Poll SR until WIP goes low
while ((sr & EP_SR_WIP) == EP_SR_WIP)
sr = ezp_rdsr_cmd();

 

Write FlexRAM

Komenda  Write FlexRAM może zostać użyta tylko dla mikrokontrolerów, które są wyposażone w pamięć FlexRAM. Wykonanie komendy umożliwia zapis do pamięci czterech bajtów danych. Adres pamięci jest wartością 32-bitową.

Read FlexRAM

Za pomocą komendy Read FlexRAM (RDFLEXRAM) odczytywana jest zawartość pamięci FlexRAM. Przesyłanie odczytanych danych jest ponawiane aż do momentu zmiany  przez urządzenie zewnętrzne stanu sygnału na linii EZP_CS. Częstotliwość odczytu danych może wynosić maksymalnie jedną ósmą częstotliwości pracy mikrokontrolera. Implementację komendy Read FlexRAM i wcześniej omówionej Write FlexRAM pokazano w listingu:

ezp_wren_cmd();
ezp_wrflexram_cmd(address, buffer);
//Loop till command has completed
sr = EP_SR_WIP;
// Poll SR until WIP goes low
while ((sr & EP_SR_WIP) == EP_SR_WIP)
sr = ezp_rdsr_cmd();

 

Read FlexRAM at High Speed

Efekty komendy Read FlexRAM at High Speed jest taki sam jak Read FlexRAM z tą różnicą, że częstotliwość odczytu może być zwiększona – do maksymalnie połowy częstotliwości pracy mikrokontrolera.

Bibliografia

[1] www.freescale.com Kinetis Peripheral Module, 11/2010
[2] www.freescale.com Kinetis Reference Manual, 05/2011

Polski portal branżowy dedykowany zagadnieniom elektroniki. Przeznaczony jest dla inżynierów i konstruktorów, projektantów hardware i programistów oraz dla studentów uczelni technicznych i miłośników elektroniki. Zaglądają tu właściciele startupów, dyrektorzy działów R&D, zarządzający średniego szczebla i prezesi dużych przedsiębiorstw. Oprócz artykułów technicznych, czytelnik znajdzie tu porady i pełne kursy przedmiotowe, informacje o trendach w elektronice, a także oferty pracy. Przeczyta wywiady, przejrzy aktualności z branży w kraju i na świecie oraz zadeklaruje swój udział w wydarzeniach, szkoleniach i konferencjach. Mikrokontroler.pl pełni również rolę patrona medialnego imprez targowych, konkursów, hackathonów i seminariów. Zapraszamy do współpracy!