hallo, hab folgendes Problem, seit ich das Board das letzte mal debuggt habe kommt die Fehlermeldung fatal error: securety fuse blown (bin mir sicher das ich das Bit nie gesetzt habe). weis Jemand weiter ? danke benutze Parralelen jaytec Iar easyweb3
ne, das klaptt nicht auch nich mit ner Stunde warten. ist es denn möglich, dass das securety bit durch zufall gesetzt wird. kann ich mir zwar eigentlich nich vorstellen wg. bestimmte zeit bestimmte spannung und so aber vieleicht weis ja jemand etwas. wenns denn so sein sollte welche möglichkeiten zum debuggen hab ich dann noch und lassen sich diese genauso oder ähnlich wie ein jaytek benutzen ?? danke
Hatten wir auch öfter! Einfach Stromversorgung und JTAG ab, kurz warten, wieder ranstecken und dann ging es wieder!
Jo, liegt in den allermeisten Fällen an einem sich aufgehangenem Debugger, billigen Kabeln oder sowas. Mit dem LPT-Debugger kann man die JTAG-Fuse meines Wissens gar nicht durchbrennen. Falls sie wirklich durchgebrannt ist, kann man nur den Chip wechseln, da geht sonst gar nix mehr. Kein JTAG, kein Spy-Bi-Wire, kein Bootloader. Dazu ist sie ja gemacht.
>Falls sie wirklich durchgebrannt ist, kann man nur den Chip wechseln, da geht >sonst gar nix mehr. Kein JTAG, kein Spy-Bi-Wire, kein Bootloader. Dazu ist >sie ja gemacht. Bootloader geht sehr wohl noch, dafür ist der ja gemacht ;-) Aber mit debuggen ist tatsächlich Schluß!
Nutzt der originale BSL nicht auch den TCK-Eingang, der ja beim "Secure" durchgeschossen wird?
Nana, das stimmt nun aber nicht. Der Bootloader braucht insgesamt 4 Leitungen und Masse. Man muss erst den Reset auf Low halten, 2 mal an der TCK Leitung klappern und dann das Reset loslassen, sonst kommt man nicht in den werksseitig fest einprogrammierten Bootloader. Siehe hier: http://focus.ti.com/lit/an/slaa089d/slaa089d.pdf
>Nana, das stimmt nun aber nicht. Der Bootloader braucht insgesamt 4 >Leitungen und Masse. Naja, ich rede von Signalleitungen, GND ist da für mich selbstverständlich. Dann hättest Du nämlich auch Vcc aufführen müssen, falls das BSL-Interface keine eigene hat ;-) Wenn man's auf die Spitze treibt, braucht man nur zwei(BSLRX/TX)... jaja und GND...und Vcc... Den Bootloader kann dann auch per Software über den BSL-Vektor anspringen. Geht man den "normalen" Weg braucht's zusätzlich RST und TEST (bzw.TCK). Auf was ich aber raus wollte: Das ganze funktioniert auch dann, wenn die JTAG-Fuse durchgebrannt wurde! Steht übrigens auch in der SLAA089.
danke für die Anworten, aber mit strom weck nehmen komm ich nich weiter. Die Leitungen am jteg hab ich auch grad ma durchgepiept das ist es auch nicht. kann man irgentwie explizit diagnostizieren das des ding wirklich durch ist? weil chip tauschen sieht mir bei den beinchen nach stress aus. thx
Hast du mal den PC aus und wieder ein geschaltet? Bei mir war das immer weg, wenn ich den MSP430 stromlos gemacht hatte und den USB-Debugger abgezogen hab. Die Fuse kann man ausmessen, welcher Strom bei welcher Spannung fließen muss, steht im Datenblatt ganz hinten. Und ja, stimmt, per BSL kommt man mit dem richtigen Passwort dann noch drauf. Musste selber erst mal nachlesen.
ok cool werd ich mich morgen ma ran machen. pc aus ein hab ich auch schon gemacht hat nix gebracht.
Hab das hier noch in 'nem anderen Forum gefunden, vielleicht klappts damit: I think this fixed the problem - in either case, before this I got a debug error "Security fuse blown". After doing this, I am able to download and debug code. In IAR under [Project][Options...][Debugger][FET Debugger] Check "Attach to running target" and make sure the Connection section specifies LPT1 (or whatever is appropriate for your env). Then uncheck "Attach to running target" for normal debug and download (verify Connection is again LPT1 or whatever you need).
so, hab die fuse gemessen ist nach meinem Ermessen ok. hab die ganze geschichte jetz auch schon von einem andren rechner ausprobirt geht auch nicht (selbe Fehlermeldung)
Wie sieht's mit der Stromversorgung aus, bricht die vielleicht zusammen beim programmieren?
wie würde sich dass denn bemerkba machen ? hab grad ma die spannungen an den pinnen für den jtag gemmessen die fallen etwas ab wenn der jtag steckt ( 3.3 auf 2.8 ) aber das scheint mor doch recht normal zu sein.
Na die Betriebsspannung sollte nicht zusammenbrechen beim programmieren! Wie versorgst Du das EASYWEB?
2,8V ist schon an der Grenze. Zum Flash schreiben brauchts er mindestens 2,7V. Normal darf da nix absinken. Ist da sicher alles richtig verdrahtet?
12V ist 'ne ganze Menge! Wird da der LM1117 nicht ganzschön heiß? Das die Betriebsspannung von 3,3V auf 2,8V zusammenbricht ist aber nicht normal!
Das Netzteil steckt im Anschluss vom easyweb. die Spannung VDD fällt nicht ab aber die an den anderen pinnen deswegen dachte ich das da normal ist. das Netzteil ist einstellbar habs jetz auf 9V macht aber auch keinen Unterschied
Hmm, dann kann man die Stromversorgung schonmal ausschließen! Tritt der Fehler nur beim Debuggen auf oder auch wenn Du "nur" das Binary auf den µC programmierst? Wie programmierst Du den µC?
Kenn mich mit IAR leider nicht aus! Kann man da direkt aus der Entwicklungsumgebung raus den µC flashen? Vielleicht probierst Du mal ein anderes Programmiertool, z.B. das vom MSPGCC!
ein *.a43 kann ich nicht finden hab dann das *.d43 genommen und es mit MSPFET versucht... selbe Fehlermeldung.
So! nachdem alles nichts geholfen hat wurde nun der msp430f149 gegen einen msp430f1611 ausgetauscht. habe jetzt das Problem das ich keine Ethernet Verbindung hin bekomme wenn ich selber ein Releas erstelle. Habe mir dann ein eine fertige Binärdatei geladen und diese auf den msp geschrieben, hatt funktioniert(waren keine Projekt Dateien dabei). Habe bis jetzt mit dem Iar gearbeitet musste aber auf crossworks wechseln wg. 30 tage Version. Auf SoftBaugh.com (daher hab ich den Build) stand auch das die aktuelle Version slaa137a auf der ti seite mit dem msp430f1611 kompatibel sein soll. also hab ich versucht die für crossworks um zu stricken. kann damit auch Debuggen aber dennoch keine Verbindung wie jemand weiter?
>kann damit auch Debuggen aber dennoch keine Verbindung Wenn du debuggen kannst, dann mach das doch :) - Link LED an? - RX LED blinkt bei Ping? - Werden Daten aus dem CS8900 geholt? - IP Adresse OK? - Broadcasts kommen an? - ....
- Link LED an? Ja - RX LED blinkt bei Ping? blinkt willkührlich bei ping auch :-> - Werden Daten aus dem CS8900 geholt? Nein - IP Adresse OK? Ja - Broadcasts kommen an? Nein Pingen klappt nicht link ist da. Keine socketverbindung. ich hab irgentwie das Gefühl das die Software doch nicht auf dem 1611er leuft ist nähmlich die selbe die ich damals für den 149er genommen habe. Hat vieleicht jemand einen link wo man easyweb als crossworksprojekt für den 1611er runterladen kann oder kann mir sagen wo die unterschiede im quellcode zwichen den beiden liegen ?? danke
Also das binary vom F149 laufen natürlich auf dem f1611 nicht (richtig). Du musst das schon neu übersetzen. Und vorher die Header-Dateien anpassen. Irgenwo müsste ja die msp430x14x.h inkludiert sein, da musst du die msp430x16x.h reinschreiben und deinem Compiler und Linker und ggf. Assembler in der Projektoptionen noch den F1611 mitteilen.
danke, aber hats nicht gelößt hatte den 1611er im linker und debugger eingestellt. die hadderdateien hatte ich nicht geändert hab ich jetz nachgeholt tut sich aber immer noch nichts.
gibt es denn bis auf die hadder datei einen unterschied zwichen den beiden im quellcode?
zitat: The sample code was org'ed for a F149, but the F1611 has less flash, so it needs to be reorg'ed appropriately. hab ich von softbough kopiert. wo setzt man den an wenn man wenn man den flash anpassen will ??
Ich versteht das noch nicht ganz, kannst du jetzt debuggen (Breakpoints setzen) oder nicht? Wenn ja ist doch alles in Butter, einfach schauen wo's im Source Code hakt... Z.B. mal in der Funktion DoNetworkStuff() schauen ob das RX Flag (ActRxEvent & RX_OK) vom CS8900 gesetzt wird. Mit CrossWorks kenn ich mich leider nicht aus, ich hätte dir empfohlen den IAR einfach weiter zu benutzen. Die 30 Tage kannst du verlängern in dem du einfach das Datum beibehälst. Dann ist der Compiler zufrieden und funktioniert bis in alle ewigkeit.
Man könnte natürlich auch den neuen CCE3 nehmen, der ist frei bis 16kByte Code. Oder gleich auf den GCC umschreiben, müssen nur die ISR Deklarationen angepasst werden. Am besten beispielsweise so:
1 | #ifdef __ICC430__
|
2 | #pragma vector=PORT1_VECTOR //IAR Compiler
|
3 | __interrupt void PORT_1_ISR (void){ |
4 | #else
|
5 | interrupt (PORT1_VECTOR) wakeup PORT_1_ISR(void) //GCC Compiler |
6 | {
|
7 | #endif
|
Dann läuft der Code auf IAR, CCE3 und GCC ohne Fehler.
hab jetz wieder den iar genommen hat beim ersten versuch funktioniert(sogar ohne die hadder dateien auf den 1611er anzupassen. Allerdings muss ich früher oder später auf crossworks zurückkommen weil mein Prof das so will )-: aber jetzt kann ich wenigsten vergleichen und schauen wo was schief leuft danke
Kann ja eigentlich nur was kompiler-spezifisches sein. Ich schätze beim Crossworks werden die Interrupts anders deklariert als beim IAR.
so habs jetzt jetzt hinbekommen hab das projekt noch mal schritt für schritt neu erstellt denk mal das ich bei den ersten malen was falsch gemacht hab. Die interrupts kann man genau so benutzen wie bei iar gibt ne bibliotek wo die drin stehen. noch mal danke für die hilfe!!!!!
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.