60 nap alatt Arduino: Nemfelejtő memória

A "60 nap alatt Arduino" tanfolyam házi feladatai és közvetlen témái
Válasz küldése
Avatar
szuperp
Bitmanipulátor
Hozzászólások: 116
Csatlakozott: 2012. november 17. szombat, 7:00

60 nap alatt Arduino: Nemfelejtő memória

Hozzászólás Szerző: szuperp »

Sziasztok!

ha jól értem 2 féle memória van pl az ATMega328-chippben.
az egyik a Flash memória (ami jelen esetben 32kbyte) és az EEPROM memória (1kbyte).
a Flash 10.000x az EEPROM 100.000x írható (minimum).
az EEPROM-ba való íráshoz, külön utasítások tartoznak (tehát oda alapból nem ír a program).
Ebből következik, hogy a program futása során lévő változókat (int, long, word...) a Flash memóriába írja .
tehát, ha a mellékelt program:

int a;

void setup() {

}

void loop() {
a=1;
a=0;
}

folymatosan írja a ledon változó értékét, akkor kb pár másodperc alatt kinyírja a flash ramot?

gyanítom, hogy nem így van, de akkor hogy van?
hová írja a program a belső változóit fizikailag? és nem teszi ez tönkre a chippet ?
Avatar
szuperp
Bitmanipulátor
Hozzászólások: 116
Csatlakozott: 2012. november 17. szombat, 7:00

Hozzászólás Szerző: szuperp »

már meg is van a fél megoldás...
SRAM - 2 kbyte

kérdés, hogy hányszor írható az SRAM.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

SRAM : nincs korlátozva. Ez a chip belső működési memóriája....

Flash-ba nem írsz. Az a programmemória...
Avatar
SzLacus
Tranzisztorgyógyász
Hozzászólások: 175
Csatlakozott: 2012. május 20. vasárnap, 6:00

Hozzászólás Szerző: SzLacus »

Vagyis az a kétféle memória az háromféle. Az SRAM (StatikusRAM) az a hely, ahol a program futása közben a változók tárolódnak. Tápfesz megszűnése után elfelejti ami benne van. A flash az a hely ahová a futtatandó programodat töltöd. Erre vonatkozik a tízezres minimum korlát, vagyis a fejlesztgetés közepette ennyiszer biztosan hibátlanul fogja eltárolni a rátöltött programodat. Ez a memória nem felej, akárcsak az EEPROM, de ehhez futás közben nem egyszerű hozzáférni, de nem is lehetetlen, ezt teszi a bootloder is. Az EEPROM az ami nem felejt tápfesz megyszűnése után, és futás közben könnyen hozzáférsz. Ezzel együtt a százezres életciklust el lehet fogyasztani, tehát gazdálkodni érdemes vele. Mondjuk úgy, hogy csak akkor mentesz bele adatot, amikor kikapcsolás következik, így menet közben nem strapálod feleslegesen. Ha valamilyen működési paramétert tárolsz benne, ami ritkán változik, akkor azt is megteheted, hogy csak akkor mented EEPROM-ba, ha változott. Az olvasások száma nem korlátozott, azzal nem kell foglalkozni.
Ambrus Gábor
Újonc
Újonc
Hozzászólások: 1
Csatlakozott: 2016. január 29. péntek, 9:06

Re: 60 nap alatt Arduino: Nemfelejtő memória

Hozzászólás Szerző: Ambrus Gábor »

Üdv! Az lenne a kérdésem, hogy ha ebayen veszek ilyen nemfelejtő memóriát:http://m.ebay.com/itm/AT24C256-Serial-E ... nav=SEARCH
,akkor ez is ugyanúgy felülírható 100000-szer?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: 60 nap alatt Arduino: Nemfelejtő memória

Hozzászólás Szerző: Robert »

Nem. Az Ebayra menő cuccok ugyanúgy szelektáltak, mint ahogy kelet, közép vagy Nyugat-európába van valami szállítva vagy Ázsiába :)

Komolyabban:
- A chipek (elvileg) egységesek.
- az adatlapok meg igazat írnak.
Innentől a kérdés nem jó.
A felülírás_minden_ blokkjára igaz a minimum 1.000.000 felülírási szám.

Viszont bele lehet futni a költségtakarékosság okán:
- átszitázott ICre, ami kapacitása alacsonyabb
- hibás/sérült chip, ami tesztelésen kiesett

Tapasztalat, amikkel találkoztam: átszitázott DS18B20 IC (belül tranzisztor), hamis kondenzátor (feszültségérték/méret nem stimmel), átszitázott ATMega328p (nincs belül a szilícium :P), hamis FT232L (Hamis a baba cikksorozat).
Válasz küldése