Sposób na pamięci Flash



Podobne dokumenty
WPROWADZENIE Mikrosterownik mikrokontrolery

Programowanie Mikrokontrolerów

Szkolenia specjalistyczne

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Wstęp Architektura... 13

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Architektura komputerów

LEKCJA TEMAT: Zasada działania komputera.

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Opracował: Jan Front

Technika Mikroprocesorowa

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

MIKROKONTROLERY I MIKROPROCESORY

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Obsługa kart pamięci Flash za pomocą mikrokontrolerów, część 1

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Logiczny model komputera i działanie procesora. Część 1.

NXP ma nowe ARM-y. BlueStreak: co i jak

Programator procesorów rodziny AVR AVR-T910

Vinculum scalony host USB

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

ZL8AVR. Płyta bazowa dla modułów dipavr

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Komunikacja w mikrokontrolerach Laboratorium

Popularne pamięci FLASH firmy GigaDevice

Organizacja typowego mikroprocesora

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Wykład Mikroprocesory i kontrolery

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Systemy wbudowane Mikrokontrolery

ISBN Copyright by Wydawnictwo BTC Legionowo 2008

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Programowanie mikrokontrolerów. 8 listopada 2007

Architektura systemu komputerowego

ARCHITEKTURA PROCESORA,

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

INSTYTUT TECHNOLOGII ELEKTRONOWEJ

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Kod produktu: MP01611-ZK

Budowa i zasada działania komputera. dr Artur Bartoszewski

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

dokument DOK wersja 1.0

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

ZL10PLD. Moduł dippld z układem XC3S200

System mikroprocesorowy i peryferia. Dariusz Chaberski

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Loader LX51 INSTRUKCJA OBSŁUGI DK Wszystkie prawa zastrzeżone

ARMputer, część 1 AVT 922

Systemy wbudowane. Paweł Pełczyński

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Temat: Pamięci. Programowalne struktury logiczne.

Drukmistrz.pl Utworzono: Sunday, 17 February 2019

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

Technologia informacyjna. Urządzenia techniki komputerowej

2. Architektura mikrokontrolerów PIC16F8x... 13

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 firmy Atmel

Magistrala systemowa (System Bus)

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

A-100WP ELEKTRONICZNY WANDALOODPORNY ZEWNĘTRZNY ZAMEK SZYFROWY DO MONTAŻU NADTYNKOWEGO

Mikroprocesor Operacje wejścia / wyjścia

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Q3 Autonomiczny czytnik kart i zamek kodowy z kontrolerem dostępu, przyciskiem dzwonka i interfejsem Wiegand

PSM niebanalne Flashe

Drukmistrz.pl Utworzono: Tuesday, 11 December 2018

INSTRUKCJA OBSŁUGI K3-3. Czytnik kart i zamek kodowy z kontrolerem dostępu i interfejsem Wiegand. Copyright Domster T. Szydłowski

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Politechnika Wrocławska

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Wykład II. Pamięci operacyjne. Studia stacjonarne Pedagogika Budowa i zasada działania komputera

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

Artykuł zawiera opis i dane techniczne

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Systemy uruchomieniowe

Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Płyta uruchomieniowa EBX51

Wykład 2. Mikrokontrolery z rdzeniami ARM

Architektura komputerów. Układy wejścia-wyjścia komputera

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Mikroprocesory i Mikrosterowniki Laboratorium

Kod produktu: MP01611-ZK

Układy pamięci firmy Microchip w ofercie TME

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Segmenty rynku sterowników

PL B1 (19) PL (11) (12) OPIS PATENTOWY (13) B1. (51) Int.Cl.7: G 06F 3 /1 2 G06K 15/02 G06F 17/60 G07G 1/12

Transkrypt:

Sposób na pamięci Flash Złożoność i liczba algorytmów programowania gołych pamięci Flash jest zbliżona do liczby technologii stosowanych do ich produkcji, czyli dość duża. Stosowanie takich pamięci bez możliwości zautomatyzowanego zdobywania informacji o ich parametrach charakterystycznych uniemożliwiłoby praktycznie korzystanie z ich zalet, tzn. możliwości modyfikowania zawartości po zainstalowaniu w systemie oraz łatwego dobierania pojemności do zmieniających się wymagań aplikacji. Co więcej, konstruktorzy byliby przymusowo mocno przywiązani do pamięci pochodzących od konkretnych producentów, co sprzyjałoby tworzeniu monopoli producenckich, niezbyt wygodnych dla użytkowników. Biorąc pod uwagę wymienione we wstępie problemy, producenci pamięci Flash na wczesnym etapie ich rozwoju porozumieli się i pod egidą komitetu JEDEC ustalili wspólny protokół umożliwiający precyzyjne ustalenie przez aplikację użytkownika typu, pojemności i wielu innych parametrów pamięci Flash, bez konieczności stosowania jakiegokolwiek specjalistycznego sprzętu lub oprogramowania. Protokół ten nazwano CFI Rekl Hongfa NL 176x132 OK 28/06/04 14:32 Page 1 (od Common Flash Memory Interface), a jego specyfikacja zawiera szczegółowy opis sposobu dostępu do alternatywnego (w stosunku do pamięci standardowej) obszaru pamięci, w którym są umieszczone te informacje. Przekaêniki elektromagnetyczne w ponad 6000 wersji wykonania, sklasyfikowanych w 9 grupach: ogólnego zastosowania motoryzacyjne telekomunikacyjne do monta u PCB mocy zatrzaskowe timery do sterowania nap dami pó przewodnikowe J C E R T Y F A K O I K A T ISO 9001 Â C I J C E R T Y F A K O I K A T QS 9000 Â C I 01-772 Warszawa ul. Sady oliborskie 13A 01-013 Warszawa, ul. Kacza 6 lok. A tel. (022) 862-75-00, tel./fax (022) fax (022) 663-83-76 862-75-01 e-mail: info@gamma.pl (022) 663-98-87 e-mail: e-mail: jarek@gamma.pl info@gamma.pl www.gamma.pl 43

Rys. 1. Uproszczony schemat blokowy ilustrujący budowę typowej, współczesnej pamięci Flash Nieco techniki na początek: współczesny Flash od środka Pamięci Flash w rzeczywistości są układami o stopniu skomplikowania znacznie większym n i ż w s ka z y w a ł a b y n a to ich rola realizowana w systemach cyfrowych. Oprócz matrycy pamięciowej, współczesne pamięci Flash wyposażono w ładunkowe przetwornice napięcia (o wartości wyjściowej do 18 V, jest ono niezbędne do zaprogramowania i skasowania komórek pamięci) oraz rozbudowany automat sterujący jej pracą (rys. 1). Automat jest programowany z zewnątrz, jego zadaniem jest bowiem wykonywanie różnorodnych operacji na komórkach (często pogrupowanych w sektory) pamięci. Automat musi być wstępnie zerowany po włączeniu zasilania, stąd większość pamięci Flash jest wyposażona w specjalne wejście zerujące (na rys. 1 oznaczone RP). Rodzaj wykonywanej przez pamięć operacji (np. kasowanie zawartości całej pamięci lub wybranego bloku, programowanie sektora, zabezpieczania wybranych obszarów przed niepowołanym odczytem, programowanie itp.) narzuca użytkownik, wpisując do rejestru poleceń automatu odpowiednie kody lub ich sekwencje. W tab. 1 zestawiono polecenia obsługiwane przez automat sterujący pracą pamięci M29W320DT ( S T M i c r o e l e c t r o n i c s, 32 Mb o organizacji x8 lub x16, zasilanie 3,3 V). Jak można zauważyć, do programowania automatu sterującego są wykorzystywane magistrale: adresowa i danych, te same, za pomocą których zewnętrzny procesor operuje na danych zawartych w pamięci. Z tego powodu, niektóre, bardziej ryzykowne sekwencje (jak na przykład kasowanie zawartości pamięci) są wyjątkowo długie, co zmniejsza ryzyko ich przypadkowego, czy raczej nieświadomego, wystąpienia. Jednym z poleceń obsługiwanych przez automat sterujący jest Read CFI Query, które przełącza pamięć w tryb Query Mode. A ten daje użytkownikowi spore możliwości CFI we Flashach, czyli szansa na wygodne życie (konstruktorów) Większość producentów pamięci Flash dostosowało się do (przez długi czas nieformalnego) standardu poleceń przedstawionego w tab. 1. Naj- Co daje CFI? CFI udostępnia aplikacji użytkownika informacje o parametrach czasowych pamięci, jej konfiguracji, pojemności, napięciach programowania i kasowania itp. Dzięki informacjom udostępnionym przez CFI program obsługujący pamięć może bez udziału użytkownika zaadaptować parametry swojego działania w taki sposób, żeby współpraca mikroprocesor pamięć Flash przebiegała bez zakłóceń. Jednym z przykładów możliwości wykorzystania CFI jest rozbudowa pamięci systemowej sterownika mikroprocesorowego, co może zostać automatycznie wykryte przez mikrokontroler. Rys. 2. Dostęp do danych CFI jest możliwy po przełączeniu sterownika pamięci w tryb Query Mode 44

poważniejszą różnicą jest ignorowanie przez sterowniki niektórych pamięci stanu linii adresowych w przypadku niektórych poleceń. Poważne problemy mogą pojawić się w przypadku wykorzystywania wewnętrznych zależności czasowych (jak np. timeouty dla programowania pojedynczych słów pamięci) lub konfiguracji poszczególnych sektorów pamięci, które zazwyczaj są charakterystyczne dla określonych typów lub grup układów. Dzięki CFI użytkownik może uzyskać niezbędne informacje bezpośrednio z pamięci i odpowiednio zaadaptować parametry w programie obsługującym pamięć Flash. Parametry te nie mają znaczenia dla aplikacji korzystających z pamięci Flash jako ROM (tylko do odczytu), są natomiast istotne podczas programowania i kasowania zawartości pamięci. N a r y s. 2 p o k a z a - no w uproszczony sposób przełączenia interfejsu pamięci w tryb Query, w którym użytkownik ma dostęp do niemodyfikowalnego (ROM) obszaru pamięci, w którym umieszczone są dane specyfikujące parametry pamięci. Po wpisaniu pod adres 0x55 danej o wartości 0x98 (adres nie zawsze jest dekodowany przez sterownik interfejsu I/O wbudowany w pamięć Flash, ale urządzenie zewnętrzne, np. mikrokontroler, powinno go zawsze podać) pamięć przełącza się w tryb Query Mode, w którym można odczytać zawartość komórek w całym obszarze CFI. Wielkość tego obszaru jest zależna od konkretnego typu pamięci i zazwyczaj mieści się w przedziale 32 128 bajtów. Przełączenie w tryb Query można zweryfikować odczytując komórki pamięci o adresach 0x10 0x13, w których znajdują się (zgodnie ze standardem CFI) bajty o wartościach (odpowiednio): 0x51, 0x52, 0x59, co odpowiada znakom ASCII: Q, R, Y. Obszar pamięci CFI ma organizację bajtową, niezależnie od szerokości zewnętrznej magistrali Czego nie zapewnia CFI? CFI nie jest uniwersalnym interfejsem gwarantującym poprawną, wymienną pracę wszystkich produkowanych pamięci Flash. Nie udostępnia także szczegółowych informacji o algorytmach programowania pamięci, ani ich budowie. CFI nie jest także interfejsem standaryzującym sposób obsługi pamięci przez współpracujący z nią sterownik. 45

Tab. 1. Formaty poleceń obsługiwanych przez wewnętrzny sterownik pamięci M29W320DT Polecenie Długość w [B] Zapisy do sterownika pamięci 1 2 3 4 5 6 Read/Reset 1 X F0 3 555 AA 2AA 55 X F0 Auto Select 3 555 AA 2AA 55 555 90 Program 4 555 AA 2AA 55 555 A0 PA PD Unlock Bypass 3 555 AA 2AA 55 555 20 Unlock Bypass Program 2 X A0 PA PD Unlock Bypass Reset 2 X 90 X 00 Chip Erase 6 555 AA 2AA 55 555 80 555 AA 2AA 55 555 10 Block Erase 6 lub więcej 555 AA 2AA 55 555 80 555 AA 2AA 55 BA 30 Erase Suspend 1 X B0 Erase Resume 1 X 30 Read CFI Query 1 55 98 Uwaga: PA i PD oznaczają (odpowiednio) adres i daną dla programowania, BA oznacza adres słowa w bloku. danych pamięci. Powoduje to pewne komplikacje w przypadku korzystania z pamięci o szerokości magistrali danych wynoszącej 8/16 lub 16/32 bity, co najłatwiej zaobserwować podczas odczytu 3 baj- REKL WAVECOM 88x128 OK.eps 07/11/2005 15:32:43 Q2686 NOWOÂå! B E Z P R Z E W O D O W A M O C O B L I C Z E N I O W A Quik Q2686 GSM/GPRS z TCP/IP - pierwszy modu z nowej serii Q26xx. Platforma sprz towa, na której oparty jest system EDGE a wkrótce UMTS. Programowalny w ANSI C Êrodowisko OpenAT. Nowy procesor ARM9 umo liwia obliczenia z pr dkoêcià pi ciokrotnie wi kszà ni jego poprzednicy. 4 pasmowy (850/900/1800/1900 MHz) oraz 4 kodowy (FR/HR/EFR/AMR). Szeroki zakres interfejsów (36xGPIO, USB, 2xUART, 2xADC, I2C, DAI, SPI, LED). Autoryzowany dystrybutor: towej ( QRY ) sygnatury przełączenia w tryb Query. Zgodnie ze specyfikacją CFI, adresy poszczególnych komórek obszaru CFI są podawane dla maksymalnej dostępnej w danym typie pamięci szerokości magistrali danych. Oznacza to, że w przypadku stosowania pamięci o organizacji słowa wyjściowego 8/16 bitowej w trybie 8 bitowym adres pierwszego znaku odpowiedzi QRY wyniesie 0x20 (zamiast 0x10 jak w 16 bitowym trybie pracy), a odpowiedź odczytana na wyjściach pamięci Flash będzie następująca: QQRRYY, co wynika z faktu, że linia adresowa A0 nie wpływa na stan wyjść (czyli każde słowo pamięci jest odczytywane dwukrotnie przy adresowaniu z uwzględnieniem A0 rys. 3b). Powrót do normalnej pracy wymaga wysłania do pamięci polecenia Read/Reset lub Auto Select. Jak wykorzystać CFI w praktyce? Parametry udostępnione przez CFI mogą, a nawet powinny, być wykorzystane przez program obsługujący pamięć Flash. Samodzielne przygotowanie takiego programu nie przekracza możliwości przeciętnego programisty, www.acte.pl Rys. 3. Odczyt sygnatury Query jest łatwe w pamięciach o stałej organizacji a), nieco więcej zachodu wymaga w przypadku pamięci o słowie o szerokości większej niż 8 bitów i modyfikowanej organizacji b) 46

ale mam dobrą wiadomość: firma Intel udostępniła procedury w języku ANSI C, które umożliwiają obsługę CFI we wszystkich pamięciach Flash obsługujących ten protokół, ze szczególnym uwzględnieniem następujących typów pamięci: 28F004S3/ S5/SC, 28F008S3/S5/SC, 28F008SA/SA L, 28F016S3/ S 5 / S C, 2 8 F 0 1 6 SA / S V, 2 8 F 0 3 2 S A, 2 8 F 3 2 0, 2 8 F 6 4 0 o r a z 2 8 F 1 6 0 i 28F320. Zgodnie z licencją (publikujemy ją wraz z oryginaln y m i k o d a m i źródłowymi na CD EP2/2006B), z udostępnionych procedur można korzystać w aplikacjach komercyjnych wyłącznie pod warunkiem stosowania p a m i ę c i F l a s h firmy Intel, ale wartość edukacyjna tych materiałów jest tak duża, że na ich podstawie można stworzyć własne procedury, dostosowane do pamięci Flash innych producentów. Tak więc CFI otwiera drogę do łatwej autoadaptacji systemów mikroprocesorowych, co we współczesnej elektronice jest jednym z podstawowych warunków ich nowoczesności. Piotr Zbysiński, EP piotr.zbysinski@ep.com.pl CFI i polecenia sterownika Należy pamiętać, że CFI nie mam nic wspólnego ze standardowymi poleceniami sterownika pamięci Flash. Ich binarne kody i spełniane funkcje należy sprawdzać w dokumentacji stosowanej pamięci Flash. 47