Hallo zusammen, wie kann ich Daten aus einer 20Kb großen Seite parsen wenn ich nur 2kb RAM habe? Hat Irgendjemand eine Idee für einen Workaround? Partial Get oder so? Gruß Mark
Externes SPI Ram anschliessen wäre eine möglichkeit. Auf die Dauer wäre das wohl auch das beste, da du mit einer 20kB seite ja ein verhältnismässig kleines Beispiel gemacht hast. Falls du die Daten nach Stromausfall behalten möchtest, nehme eine MRAM ansonsten ein normales SRAM Für MRAMs schaue dir mal die Teile von Everspin an...
Hallo, Also entweder du schaffst es die gewünschten Daten aus dem Stream (also den einzelnen Ethernetframes) zu parsen - dürfte schwirig werden, da die betreffende Stelle sich ja auf mind. 2 Pakete verteilen kann. Für einen gesuchten String noch machbar. Oder du schreibst die Daten erst mal in einen Speicher EEProm, SD-Karte, ... und suchst dann anschließend dort. Sascha
das geht ja flott hier. danke für die Antworten, werde mir das mal durch den Kopf gehen lassen. Ich habe eigentlich gehofft ich komm ohne zusätzlichen RAM aus.
Mark K schrieb: > Ich habe eigentlich gehofft ich komm ohne zusätzlichen RAM aus. kannst du ja auch... Aber es ist ein bisschen aufwändiger, und rechen intensiver! Also ich persönlich, würde die Variante MRAM oder SRAM nehmen, da du damit problemlos zuerst alle Daten hinüber schaufeln kannst, und dannach "gemütlich" parsen. Wenn du es geschickt machst, und das RAM an den SPI Bus des ENJs hängst, sparst du sogar nochmals code und rechenzeit.
ok,ich hab hier noch ein AT24C512 eeprom rumliegen. Geht das damit? Wenn ja wie?
Mark K schrieb: > ok,ich hab hier noch ein AT24C512 eeprom rumliegen. Geht das damit? Wenn > ja wie? Es würde gehen... Also 512kBit entsprechen 65KByte da du ja pro byte 8 Bit benötigst also 512k / 8 Ansteuern musst du das Teil per I2C dazu findest du viel im Wiki auf dieser Seite... Jedoch sind die Schreib zyklen eines EEPROM beschränkt. Ein EEPROM kann etwa 100'000 Schreibtyklen aushalten (laut Datenblatt deines Typs) 100'000 ist ne menge aber bedenke dies einfach. EEPROMs sind nicht dazu gemacht um stetig ändernde Daten aufzunehmen sondern eher für Konfiguartions Daten, Abgleichwerte oder sonstiges ähnliches. Aber für den Anfang zum Experimentieren tut es dieses EEPROM auf alle fälle!
Angeschlossen hab ich es schon. Es läuft auch aber meine lib erlaubt mir nur max 32 bytes zu schreiben. Wie bekomme ich da jetzt 20kB rein ohne sie zwischenzuspeichern?
also zunächst mal hast du ja höchstens 14xx Bytes aus einem Paket die du am Stück speichern musst. Entweder du suchst dir ne andere lib, oder passt sie an oder teilst die Schreiboperationen in 32Byte Blöcke auf. Sascha
hm ok, soviel Zeit will ich da jetzt nicht rein investieren. Werd wohl auf einen ATxmega128A1 umsteigen, da kann ich dann die 20kB in RAM laden, oder?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.