Hallo!
Wie hier einige vielleicht wissen oder auch nicht kämpfe ich schon seit längerem mit meinem Projekt http://www.learnclip.com. Es handelt sich um einen "witzigen Lernwecker". Eine taiwan. Firma hat sich dieser Idee angenommen und mir bis Dato auch schon €2500 für die Entwicklung als "echte Hardware" abgezapft. Genaugenommen soll es auf einem 8051 Chip realisiert werden. Es ist auch alles vertraglich geregelt, aber irgendwie kommt mir manchmal so einiges sehr spanisch vor. Unter anderem folgendes:
1) ich hab dieses von mir erstellte Programm. Es compiliert und arbeitet unter gängigen C Compilern perfekt. Wenn es - laut Aussage des taiw. Programmierers unter der C8051 Programmierumgebung "KEIL" verwendet wird, gibt es ein Speicherleseproblem, originalzitat:
Meine 1.Frage "when does this error occur?"
Antwort: no error,c51 compiler is ok,but memory(head_book->config->val->iterations[0].year; ) always "0x00" ,
Meine 2. Frage "Does this problem only reflect on 8051?"
Antwort: Yes, My C51 compiler is OK, but read memory "0x00" (Pelles C compiler is OK,read memory OK.)"
Ein Screenshot (von ihm für mich) gibts auf http://www.learnclip.com/LC_Help.pdf
-> leider kann ich es selbst nicht testen, weil die derzeitige herunterladbare aktuelle evaluation version fehlerhaft ist. nur eine ältere, die ich im internet finden konnte, funktioniert geht aber wieder nicht mit seiner Projekt datei...(versionskonflikt)
Nun, meine Frage:
Die Fragen, die sie mir stellen, sind doch ziemlich hardwarenahe.
1) Kann / soll ich das überhaupt wissen können? Ich meine: ich studiere im 7. Semester WINF, nicht techn. Informatik. (und das wissen die)
2) Was könnte das für ein Fehler sein, "read memory" unter Pelles C (oder anderen win C compilern ok, - aber unter Keil passiert nichts.. außer 0x00?)
3) dieser Fehler kann nur ein Bug sein, ich meine, ein Intel ist ja auch nur ein Chip, und bei mir am Laptop (oder bei ihm am PC) funkionierts.
Mein Lösungsansatz für ihn: Er soll eine andere Umgebung probieren, den Support von Keil kontaktieren, oder in seiner Firma tätige Programmierer fragen. Außerdem - die Erfahrung hab ich zumindest gemacht - gibt es manchmal bei "langen Zeigerschlangen" Probleme wie sie bei head_book->config->val->iterations[0].year auftreten. Daher der Rat für ihn: Das kürzen dieser langen Pointerzeiger Schlange. Erfahrungsgemäß gibt es da manchmal Probleme. also statt
head_book->config->val->iterations[0].year
lieber:
struct config *temp_config;
temp_config = head_book->config;
und jetzt, tataa:
temp_config->val->iterations[0].year
(im bzw auf val anwenden)
Aber mein Code ist wirklich nicht "der Aufwand" (kann ihn auch gerne private posten) Immerhin programmiert/erstellt diese Firma echte Mp3 Player und Netzwerkkarten. Da ist doch meine Software ein Klax.
Andererseits haben sie mir auch schon angebobten, das Projekt zu canceln, weil sie befürchten das ich mit deren Leistung unzufrieden bin. (was nicht stimmt - aber manchmal könnte ich explodieren wie sich die anstellen) oder sie tun nur so.. http://www.bright-computech.com.tw/ naja...
hm...
vielen dank für jede überlegung über diesen sachverhalt.