Pixeldump
000000 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /***************
000010 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
000020 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 5C 0A 20 2A 20 46 **********\␊␣*␣F
000030 6C 61 73 68 2D 53 70 65 69 63 68 65 72 20 6D 69 lash-Speicher␣mi
000040 74 20 77 61 68 6C 66 72 65 69 65 6D 20 5A 75 67 t␣wahlfreiem␣Zug
000050 72 69 66 66 20 2A 0A 5C 2A 2A 2A 2A 2A 2A 2A 2A riff␣*␊\********
000060 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
000070 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ****************
000080 2A 2F 0A 23 69 66 6E 64 65 66 20 5F 46 4C 41 53 */␊#ifndef␣_FLAS
000090 48 5F 52 57 5F 48 5F 0A 23 64 65 66 69 6E 65 20 H_RW_H_␊#define␣
0000A0 5F 46 4C 41 53 48 5F 52 57 5F 48 5F 0A 0A 2F 2A _FLASH_RW_H_␊␊/*
0000B0 20 46 C3 BC 72 20 41 54 74 69 6E 79 38 35 3A 20 ␣Für␣ATtiny85:␣
0000C0 44 69 65 20 53 45 4C 46 50 52 47 45 4E 2D 46 75 Die␣SELFPRGEN-Fu
0000D0 73 65 20 6D 75 73 73 20 67 65 62 72 61 6E 6E 74 se␣muss␣gebrannt
0000E0 20 28 3D 30 29 20 73 65 69 6E 21 0A 20 2A 20 41 ␣(=0)␣sein!␊␣*␣A
0000F0 54 74 69 6E 79 20 68 61 62 65 6E 20 6B 65 69 6E Ttiny␣haben␣kein
000100 65 6E 20 42 6F 6F 74 6C 6F 61 64 65 72 2D 42 65 en␣Bootloader-Be
000110 72 65 69 63 68 21 20 28 47 65 6E 61 75 65 72 3A reich!␣(Genauer:
000120 20 52 57 57 2D 53 65 6B 74 69 6F 6E 2E 29 0A 20 ␣RWW-Sektion.)␊␣
000130 2A 20 44 61 68 65 72 20 62 6C 6F 63 6B 69 65 72 *␣Daher␣blockier
000140 74 20 64 61 73 20 46 6C 61 73 68 2D 53 63 68 72 t␣das␣Flash-Schr
000150 65 69 62 65 6E 20 69 6D 6D 65 72 20 64 69 65 20 eiben␣immer␣die␣
000160 43 50 55 2E 0A 20 2A 20 0A 20 2A 20 45 69 67 6E CPU.␊␣*␣␊␣*␣Eign
000170 65 74 20 73 69 63 68 20 64 75 72 63 68 61 75 73 et␣sich␣durchaus
000180 20 66 C3 BC 72 20 65 69 6E 65 20 41 72 74 20 4D ␣für␣eine␣Art␣M
000190 69 6E 69 2D 4D 61 73 73 65 6E 73 70 65 69 63 68 ini-Massenspeich
0001A0 65 72 20 69 6D 20 41 56 52 2E 0A 20 2A 20 44 65 er␣im␣AVR.␊␣*␣De
0001B0 6E 6E 20 64 65 72 20 46 6C 61 73 68 20 69 73 74 nn␣der␣Flash␣ist
0001C0 20 76 69 65 6C 20 73 63 68 6E 65 6C 6C 65 72 20 ␣viel␣schneller␣
0001D0 62 65 69 6D 20 53 63 68 72 65 69 62 65 6E 20 61 beim␣Schreiben␣a
0001E0 6C 73 20 64 65 72 20 45 45 50 52 4F 4D 2E 0A 20 ls␣der␣EEPROM.␊␣
0001F0 2A 20 42 65 64 65 6E 6B 65 2C 20 61 75 63 68 20 *␣Bedenke,␣auch␣
000200 64 69 65 20 4C 75 6E 74 65 20 69 6E 20 64 65 72 die␣Lunte␣in␣der
000210 20 48 61 6E 64 20 7A 75 20 68 61 62 65 6E 2C 20 ␣Hand␣zu␣haben,␣
000220 64 65 6E 20 4B 6F 64 65 20 7A 75 20 C3 BC 62 65 den␣Kode␣zu␣übe
000230 72 73 63 68 72 65 69 62 65 6E 2E 0A 20 2A 20 4F rschreiben.␊␣*␣O
000240 64 65 72 20 61 62 65 72 20 67 65 7A 69 65 6C 74 der␣aber␣gezielt
000250 20 73 65 6C 62 73 74 6D 6F 64 69 66 69 7A 69 65 ␣selbstmodifizie
000260 72 65 6E 64 65 6E 20 4B 6F 64 65 20 7A 75 20 73 renden␣Kode␣zu␣s
000270 63 68 72 65 69 62 65 6E 2E 0A 20 2A 0A 20 2A 20 chreiben.␊␣*␊␣*␣
000280 42 65 69 6D 20 53 74 61 72 74 75 70 20 6D 75 73 Beim␣Startup␣mus
000290 73 20 47 50 49 4F 52 30 20 42 69 74 20 36 20 67 s␣GPIOR0␣Bit␣6␣g
0002A0 65 6C C3 B6 73 63 68 74 20 77 65 72 64 65 6E 21 elöscht␣werden!
0002B0 21 0A 20 2A 20 28 44 69 65 73 20 69 73 74 20 64 !␊␣*␣(Dies␣ist␣d
0002C0 61 73 20 44 69 72 74 79 2D 46 6C 61 67 2E 29 0A as␣Dirty-Flag.)␊
0002D0 20 2A 20 42 65 69 20 61 6C 6C 65 6E 20 52 6F 75 ␣*␣Bei␣allen␣Rou
0002E0 74 69 6E 65 6E 20 77 69 72 64 20 73 65 69 28 29 tinen␣wird␣sei()
0002F0 20 76 6F 72 61 75 73 67 65 73 65 74 7A 74 2E 0A ␣vorausgesetzt.␊
000300 20 2A 20 44 69 65 20 52 6F 75 74 69 6E 65 6E 20 ␣*␣Die␣Routinen␣
000310 73 69 6E 64 20 28 65 72 77 61 72 74 75 6E 67 73 sind␣(erwartungs
000320 67 65 6D C3 A4 C3 9F 3F 29 20 6E 69 63 68 74 20 gemäß?)␣nicht␣
000330 6D 75 6C 74 69 74 68 72 65 61 64 2D 73 69 63 68 multithread-sich
000340 65 72 2E 0A 20 2A 2F 0A 0A 23 69 6E 63 6C 75 64 er.␊␣*/␊␊#includ
000350 65 20 3C 61 76 72 2F 70 67 6D 73 70 61 63 65 2E e␣<avr/pgmspace.
000360 68 3E 0A 0A 2F 2A 20 44 65 72 20 5A 75 67 72 69 h>␊␊/*␣Der␣Zugri
000370 66 66 20 65 72 66 6F 6C 67 74 20 73 6F 6C 61 6E ff␣erfolgt␣solan
000380 67 65 20 C3 BC 62 65 72 20 65 69 6E 65 6E 20 28 ge␣über␣einen␣(
000390 6E 75 72 20 65 69 6E 65 6E 21 29 20 48 69 6C 66 nur␣einen!)␣Hilf
0003A0 73 70 75 66 66 65 72 20 69 6D 20 52 41 4D 2C 0A spuffer␣im␣RAM,␊
0003B0 20 2A 20 62 69 73 20 65 69 6E 20 61 6E 64 65 72 ␣*␣bis␣ein␣ander
0003C0 65 72 20 53 65 6B 74 6F 72 20 67 65 6C 65 73 65 er␣Sektor␣gelese
0003D0 6E 20 77 65 72 64 65 6E 20 6D 75 73 73 2E 0A 20 n␣werden␣muss.␊␣
0003E0 2A 20 53 6F 6D 69 74 20 6B 61 6E 6E 20 6D 61 6E *␣Somit␣kann␣man
0003F0 20 6B 6C 65 69 6E 65 20 44 61 74 65 6E 70 6F 72 ␣kleine␣Datenpor
000400 74 69 6F 6E 65 6E 20 73 63 68 72 65 69 62 65 6E tionen␣schreiben
000410 2C 0A 20 2A 20 6F 68 6E 65 20 64 65 6E 20 46 6C ,␊␣*␣ohne␣den␣Fl
000420 61 73 68 20 7A 75 20 73 74 61 72 6B 20 7A 75 20 ash␣zu␣stark␣zu␣
000430 76 65 72 62 72 61 75 63 68 65 6E 0A 20 2A 20 42 verbrauchen␊␣*␣B
000440 65 73 6F 6E 64 65 72 73 20 62 65 69 20 73 65 71 esonders␣bei␣seq
000450 75 65 6E 7A 69 65 6C 6C 65 6D 20 5A 75 67 72 69 uenziellem␣Zugri
000460 66 66 2E 0A 0A 09 09 09 E2 94 8C E2 94 80 E2 94 ff.␊␊␉␉␉┌─â”
000470 80 E2 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 80 €â”€â”€â”€â”€â”€
000480 E2 94 90 0A 09 09 09 E2 94 82 53 65 6B 74 6F 72 â” ␊␉␉␉│Sektor
000490 33 E2 94 82 09 09 52 41 4D 0A 09 09 09 E2 94 94 3│␉␉RAM␊␉␉␉â””
0004A0 E2 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 80 E2 ─────â
0004B0 94 80 E2 94 80 E2 94 98 0A E2 94 8C E2 94 80 E2 ”€â”€â”˜␊┌─â
0004C0 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 ”€â”€â”€â”€â”€â”
0004D0 80 E2 94 AC E2 94 80 E2 94 80 E2 94 80 E2 94 80 €â”¬â”€â”€â”€â”€
0004E0 E2 94 80 E2 94 80 E2 94 80 E2 94 AC E2 94 80 E2 ───┬─â
0004F0 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 ”€â”€â”€â”€â”€â”
000500 80 E2 94 AC E2 94 80 E2 94 80 E2 94 80 E2 94 80 €â”¬â”€â”€â”€â”€
000510 E2 94 80 E2 94 80 E2 94 80 E2 94 AC E2 94 80 E2 ───┬─â
000520 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 ”€â”€â”€â”€â”€â”
000530 80 E2 94 AC E2 94 80 E2 94 80 E2 94 80 E2 94 80 €â”¬â”€â”€â”€â”€
000540 5C 0A E2 94 82 53 65 6B 74 6F 72 30 E2 94 82 53 \␊│Sektor0│S
000550 65 6B 74 6F 72 31 E2 94 82 53 65 6B 74 6F 72 32 ektor1│Sektor2
000560 E2 94 82 58 58 58 58 58 58 58 E2 94 82 53 65 6B │XXXXXXX│Sek
000570 74 6F 72 34 E2 94 82 53 65 6B 74 2F 09 46 6C 61 tor4│Sekt/␉Fla
000580 73 68 0A E2 94 94 E2 94 80 E2 94 80 E2 94 80 E2 sh␊└───â
000590 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 B4 E2 94 ”€â”€â”€â”€â”´â”
0005A0 80 E2 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 80 €â”€â”€â”€â”€â”€
0005B0 E2 94 80 E2 94 B4 E2 94 80 E2 94 80 E2 94 80 E2 ─┴───â
0005C0 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 B4 E2 94 ”€â”€â”€â”€â”´â”
0005D0 80 E2 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 80 €â”€â”€â”€â”€â”€
0005E0 E2 94 80 E2 94 B4 E2 94 80 E2 94 80 E2 94 80 E2 ─┴───â
0005F0 94 80 E2 94 80 E2 94 80 E2 94 80 E2 94 B4 E2 94 ”€â”€â”€â”€â”´â”
000600 80 E2 94 80 E2 94 80 E2 94 80 5C 0A 09 09 46 6C €â”€â”€â”€\␊␉␉Fl
000610 61 73 68 50 74 72 E2 86 91 0A 0A 20 2A 20 4D 61 ashPtr↑␊␊␣*␣Ma
000620 6E 20 64 61 72 66 20 61 62 65 72 20 6B 65 69 6E n␣darf␣aber␣kein
000630 20 6D 65 6D 63 70 79 5F 50 20 75 2E 61 2E 20 61 ␣memcpy_P␣u.a.␣a
000640 75 66 20 64 65 6E 20 69 6E 66 72 61 67 65 0A 20 uf␣den␣infrage␊␣
000650 2A 20 6B 6F 6D 6D 65 6E 64 65 6E 20 46 6C 61 73 *␣kommenden␣Flas
000660 68 2D 42 65 72 65 69 63 68 20 62 65 6E 75 74 7A h-Bereich␣benutz
000670 65 6E 21 0A 20 2A 20 53 6F 6E 64 65 72 6E 20 6D en!␊␣*␣Sondern␣m
000680 75 73 73 20 66 6C 61 73 68 5F 72 65 61 64 28 29 uss␣flash_read()
000690 20 76 65 72 77 65 6E 64 65 6E 2C 20 65 73 20 6B ␣verwenden,␣es␣k
0006A0 6C 61 6D 6D 65 72 74 20 64 65 6E 20 67 65 72 61 lammert␣den␣gera
0006B0 64 65 20 75 6E 67 C3 BC 6C 74 69 67 65 6E 0A 20 de␣ungültigen␊␣
0006C0 2A 20 46 6C 61 73 68 2D 42 65 72 65 69 63 68 20 *␣Flash-Bereich␣
0006D0 61 75 73 20 75 6E 64 20 6C 69 65 73 74 20 61 75 aus␣und␣liest␣au
0006E0 73 20 64 65 6D 20 48 69 6C 66 73 70 75 66 66 65 s␣dem␣Hilfspuffe
0006F0 72 2E 0A 20 2A 20 4F 64 65 72 20 6D 61 6E 20 73 r.␊␣*␣Oder␣man␣s
000700 74 65 6C 6C 74 20 6D 69 74 20 66 6C 61 73 68 5F tellt␣mit␣flash_
000710 66 6C 75 73 68 28 29 20 73 69 63 68 65 72 2C 20 flush()␣sicher,␣
000720 64 61 73 73 20 64 65 72 20 46 6C 61 73 68 20 61 dass␣der␣Flash␣a
000730 75 73 67 65 73 63 68 72 69 65 62 65 6E 20 69 73 usgeschrieben␣is
000740 74 2E 0A 20 2A 0A 20 2A 20 66 6C 61 73 68 5F 77 t.␊␣*␊␣*␣flash_w
000750 72 69 74 65 28 29 20 6B C3 BC 6D 6D 65 72 74 20 rite()␣kümmert␣
000760 73 69 63 68 20 61 75 74 6F 6D 61 74 69 73 63 68 sich␣automatisch
000770 20 75 6D 20 50 75 66 66 65 72 61 6B 74 75 61 6C ␣um␣Pufferaktual
000780 69 73 69 65 72 75 6E 67 65 6E 0A 20 2A 20 75 6E isierungen␊␣*␣un
000790 64 20 6B 61 6E 6E 20 64 61 68 65 72 20 66 C3 BC d␣kann␣daher␣fü
0007A0 72 20 65 69 6E 69 67 65 20 4D 69 6C 6C 69 73 65 r␣einige␣Millise
0007B0 6B 75 6E 64 65 6E 20 62 6C 6F 63 6B 69 65 72 65 kunden␣blockiere
0007C0 6E 2E 0A 20 2A 20 45 73 20 77 69 72 64 20 6E 69 n.␊␣*␣Es␣wird␣ni
0007D0 63 68 74 73 20 75 6E 74 65 72 6E 6F 6D 6D 65 6E chts␣unternommen
0007E0 2C 20 77 65 6E 6E 20 73 69 63 68 20 6E 69 63 68 ,␣wenn␣sich␣nich
0007F0 74 73 20 C3 A4 6E 64 65 72 74 21 0A 20 2A 20 41 ts␣ändert!␊␣*␣A
000800 6C 6C 65 20 41 72 74 65 6E 20 76 6F 6E 20 C3 9C lle␣Arten␣von␣Ãœ
000810 62 65 72 6C 61 70 70 75 6E 67 65 6E 20 75 6E 64 berlappungen␣und
000820 20 47 72 65 6E 7A C3 BC 62 65 72 67 C3 A4 6E 67 ␣Grenzübergäng
000830 65 6E 20 73 69 6E 64 20 65 72 6C 61 75 62 74 2E en␣sind␣erlaubt.
000840 0A 20 2A 0A 20 2A 20 66 6C 61 73 68 5F 66 6C 75 ␊␣*␊␣*␣flash_flu
000850 73 68 28 29 20 E2 80 9E 6C 65 65 72 74 E2 80 9C sh()␣„leert“
000860 20 64 65 6E 20 50 75 66 66 65 72 20 28 77 65 6E ␣den␣Puffer␣(wen
000870 6E 20 67 65 66 C3 BC 6C 6C 74 2C 20 73 6F 6E 73 n␣gefüllt,␣sons
000880 74 20 70 61 73 73 69 65 72 74 20 6E 69 63 68 74 t␣passiert␣nicht
000890 73 29 2C 0A 20 2A 20 75 6E 64 20 62 6C 6F 63 6B s),␊␣*␣und␣block
0008A0 69 65 72 74 20 69 6E 20 64 69 65 73 65 6D 20 46 iert␣in␣diesem␣F
0008B0 61 6C 6C 20 69 6D 6D 65 72 20 66 C3 BC 72 20 63 all␣immer␣für␣c
0008C0 61 2E 20 37 20 6D 73 2E 0A 20 2A 2F 0A 0A 76 6F a.␣7␣ms.␊␣*/␊␊vo
0008D0 69 64 20 66 6C 61 73 68 5F 72 65 61 64 28 76 6F id␣flash_read(vo
0008E0 69 64 20 2A 64 73 74 2C 20 50 47 4D 5F 56 4F 49 id␣*dst,␣PGM_VOI
0008F0 44 5F 50 20 73 72 63 2C 20 73 69 7A 65 5F 74 20 D_P␣src,␣size_t␣
000900 6C 65 6E 29 3B 0A 76 6F 69 64 20 66 6C 61 73 68 len);␊void␣flash
000910 5F 77 72 69 74 65 28 50 47 4D 5F 56 4F 49 44 5F _write(PGM_VOID_
000920 50 20 64 73 74 2C 20 63 6F 6E 73 74 20 76 6F 69 P␣dst,␣const␣voi
000930 64 20 2A 73 72 63 2C 20 73 69 7A 65 5F 74 20 6C d␣*src,␣size_t␣l
000940 65 6E 29 3B 0A 76 6F 69 64 20 66 6C 61 73 68 5F en);␊void␣flash_
000950 66 6C 75 73 68 28 76 6F 69 64 29 3B 0A 0A 2F 2A flush(void);␊␊/*
000960 20 44 69 65 20 6C 61 6E 67 65 20 55 6E 74 65 72 ␣Die␣lange␣Unter
000970 62 72 65 63 68 75 6E 67 73 7A 65 69 74 20 76 65 brechungszeit␣ve
000980 72 73 63 68 6C 65 63 68 74 65 72 74 20 64 69 65 rschlechtert␣die
000990 20 49 6D 70 75 6C 73 6C C3 A4 6E 67 65 6E 6D 65 ␣Impulslängenme
0009A0 73 73 75 6E 67 2E 0A 20 2A 20 44 61 20 6F 68 6E ssung.␊␣*␣Da␣ohn
0009B0 65 68 69 6E 20 6B 65 69 6E 20 48 61 72 64 77 61 ehin␣kein␣Hardwa
0009C0 72 65 2D 43 61 70 74 75 72 65 20 7A 75 72 20 56 re-Capture␣zur␣V
0009D0 65 72 66 C3 BC 67 75 6E 67 20 73 74 65 68 74 2C erfügung␣steht,
0009E0 0A 20 2A 20 73 6F 6C 6C 74 65 20 54 69 6D 65 72 ␊␣*␣sollte␣Timer
0009F0 31 20 64 65 6E 20 57 65 72 74 20 76 6F 6E 20 54 1␣den␣Wert␣von␣T
000A00 30 4E 54 20 6B 6F 72 72 69 67 69 65 72 65 6E 2C 0NT␣korrigieren,
000A10 0A 20 2A 20 64 61 6D 69 74 20 77 65 6E 69 67 73 ␊␣*␣damit␣wenigs
000A20 74 65 6E 73 20 64 69 65 20 44 69 66 66 65 72 65 tens␣die␣Differe
000A30 6E 7A 65 6E 20 73 74 69 6D 6D 65 6E 2E 0A 20 2A nzen␣stimmen.␊␣*
000A40 20 44 61 68 65 72 20 77 69 72 64 20 76 6F 6E 20 ␣Daher␣wird␣von␣
000A50 66 6C 61 73 68 5F 77 72 69 74 65 28 29 20 62 65 flash_write()␣be
000A60 69 20 42 65 64 61 72 66 20 65 78 74 65 72 6E 5F i␣Bedarf␣extern_
000A70 66 6C 61 73 68 5F 66 6C 75 73 68 28 29 20 61 75 flash_flush()␣au
000A80 66 67 65 72 75 66 65 6E 2E 0A 20 2A 20 4A 65 6E fgerufen.␊␣*␣Jen
000A90 65 20 50 72 6F 7A 65 64 75 72 20 6D 75 73 73 20 e␣Prozedur␣muss␣
000AA0 7A 75 6D 69 6E 64 65 73 74 20 66 6C 61 73 68 5F zumindest␣flash_
000AB0 66 6C 75 73 68 28 29 20 61 75 66 72 75 66 65 6E flush()␣aufrufen
000AC0 2E 0A 20 2A 2F 0A 76 6F 69 64 20 65 78 74 65 72 .␊␣*/␊void␣exter
000AD0 6E 5F 66 6C 61 73 68 5F 66 6C 75 73 68 28 76 6F n_flash_flush(vo
000AE0 69 64 29 3B 0A 0A 2F 2A 20 45 69 6E 65 20 41 6B id);␊␊/*␣Eine␣Ak
000AF0 74 75 61 6C 69 73 69 65 72 75 6E 67 73 72 6F 75 tualisierungsrou
000B00 74 69 6E 65 20 66 C3 BC 72 20 64 65 6E 20 45 45 tine␣für␣den␣EE
000B10 50 52 4F 4D 3A 0A 20 2A 20 4B 61 6E 6E 20 6D 61 PROM:␊␣*␣Kann␣ma
000B20 6E 20 69 6D 6D 65 72 20 77 69 65 64 65 72 20 28 n␣immer␣wieder␣(
000B30 67 65 6C 65 67 65 6E 74 6C 69 63 68 29 20 61 75 gelegentlich)␣au
000B40 66 72 75 66 65 6E 2C 0A 20 2A 20 75 6D 20 70 65 frufen,␊␣*␣um␣pe
000B50 72 73 69 73 74 65 6E 64 65 20 44 61 74 65 6E 2C rsistende␣Daten,
000B60 20 64 69 65 20 61 6C 73 20 4B 6F 70 69 65 20 69 ␣die␣als␣Kopie␣i
000B70 6D 20 52 41 4D 20 73 74 65 68 65 6E 2C 0A 20 2A m␣RAM␣stehen,␊␣*
000B80 20 61 75 74 6F 6D 61 74 69 73 63 68 20 72 C3 BC ␣automatisch␣rü
000B90 63 6B 73 63 68 72 65 69 62 65 6E 20 7A 75 20 6C ckschreiben␣zu␣l
000BA0 61 73 73 65 6E 2E 0A 20 2A 20 45 74 77 61 20 66 assen.␊␣*␣Etwa␣f
000BB0 C3 BC 72 20 55 53 42 2D 48 49 44 2D 46 65 61 74 ür␣USB-HID-Feat
000BC0 75 72 65 2D 52 65 70 6F 72 74 73 2C 20 64 69 65 ure-Reports,␣die
000BD0 20 45 69 6E 73 74 65 6C 6C 75 6E 67 65 6E 20 76 ␣Einstellungen␣v
000BE0 6F 72 6E 65 68 6D 65 6E 2E 0A 20 2A 20 28 44 61 ornehmen.␊␣*␣(Da
000BF0 6D 69 74 20 73 63 68 61 66 66 74 20 6D 61 6E 20 mit␣schafft␣man␣
000C00 73 69 63 68 20 73 6F 20 65 74 77 61 73 20 77 69 sich␣so␣etwas␣wi
000C10 65 20 65 69 6E 20 53 74 C3 BC 63 6B 20 66 65 72 e␣ein␣Stück␣fer
000C20 72 6F 65 6C 65 6B 74 72 69 73 63 68 65 6E 20 52 roelektrischen␣R
000C30 41 4D 2C 0A 20 2A 20 20 64 65 72 20 6F 72 64 65 AM,␊␣*␣␣der␣orde
000C40 6E 74 6C 69 63 68 20 61 64 72 65 73 73 69 65 72 ntlich␣adressier
000C50 62 61 72 20 69 73 74 20 75 6E 64 20 73 63 68 6E bar␣ist␣und␣schn
000C60 65 6C 6C 20 62 65 69 6D 20 53 63 68 72 65 69 62 ell␣beim␣Schreib
000C70 65 6E 20 69 73 74 2E 29 0A 20 2A 20 4C 69 65 66 en␣ist.)␊␣*␣Lief
000C80 65 72 74 20 64 69 65 20 53 74 65 6C 6C 65 20 69 ert␣die␣Stelle␣i
000C90 6E 20 3C 73 72 63 3E 2C 20 64 69 65 20 67 65 72 n␣<src>,␣die␣ger
000CA0 61 64 65 20 67 65 62 72 61 6E 6E 74 20 77 69 72 ade␣gebrannt␣wir
000CB0 64 2E 0A 20 2A 20 4E 55 4C 4C 20 77 65 6E 6E 20 d.␊␣*␣NULL␣wenn␣
000CC0 61 6C 6C 65 73 20 67 6C 65 69 63 68 20 69 73 74 alles␣gleich␣ist
000CD0 20 4F 44 45 52 20 67 65 72 61 64 65 20 67 65 62 ␣ODER␣gerade␣geb
000CE0 72 61 6E 6E 74 20 77 69 72 64 2E 0A 20 2A 20 44 rannt␣wird.␊␣*␣D
000CF0 69 65 73 65 20 52 6F 75 74 69 6E 65 20 62 6C 6F iese␣Routine␣blo
000D00 63 6B 69 65 72 74 20 6E 69 63 68 74 2C 20 69 6D ckiert␣nicht,␣im
000D10 20 47 65 67 65 6E 73 61 74 7A 20 7A 75 20 65 65 ␣Gegensatz␣zu␣ee
000D20 70 72 6F 6D 5F 77 72 69 74 65 5F 62 6C 6F 63 6B prom_write_block
000D30 28 29 2E 0A 20 2A 2F 0A 76 6F 69 64 2A 65 65 70 ().␊␣*/␊void*eep
000D40 72 6F 6D 5F 75 70 64 61 74 65 28 76 6F 69 64 2A rom_update(void*
000D50 64 73 74 2C 20 63 6F 6E 73 74 20 76 6F 69 64 2A dst,␣const␣void*
000D60 73 72 63 2C 20 73 69 7A 65 5F 74 20 6C 65 6E 29 src,␣size_t␣len)
000D70 3B 0A 0A 23 65 6E 64 69 66 2F 2F 5F 46 4C 41 53 ;␊␊#endif//_FLAS
000D80 48 5F 52 57 5F 48 5F 0A H_RW_H_␊
Detected encoding: UTF-8 | 0
|