SDCC und AT89C5131 Firmware startet nicht

Hallo NG, Ich habe Probleme ein Testprogramm auf dem Atmel AT89C5131 auszuführen. Hier ist das Programm

#include "at89c5131.h" #include "ext_5131.h" void main (void) { LEDCON = 0x0F; // LEDs init P3_3 = 0; // LED1 on P3_5 = 1; // LED2 off P0_1 = 1; // Port0_1 on while(1){ } } Ich habe es unter linux mit sdcc (ohne irgendwelche optionen) kompiliert, das ihx ins hex format mit packihx umgewandelt und unter Windows mit Flip runtergeladen. Außerdem habe ich das BLJB Bit gesetzt, so dass nach dem Reset die Anwendung und nicht der Bootloader ausgeführt wird. Wenn ich den AT89 resette passiert leider nichts. Keine LEDs gehen an, noch ändern sich der Zustand vom Port0_1.

Ich habe schon den Hinweis bekommen, dass es am Startup Code liegt und hab es mit der Option --no-xinit-opt kompiliert. Hat jedoch nix genützt. Ich hab dann mal den Simulator uCsim von

formatting link
probiert und da wird im ASM Fenster lediglich die Zeile 0000 02 0031 ljmp 0031 angezeigt. Also vermutlich nur die letzte while Schleife.

Hat jemand Erfahrung mit dem sdcc und evtl dem AT89C5131 ? Oder hat jemand eine Idee was ich falsch mache ?

Vielen Dank im Voraus, Sebastian Fröbisch.

Reply to
Sebastian Fröbisch
Loading thread data ...

Mir ist eben aufgefallen, dass die hex Dateien in Windows anders angezeigt werden. Kann es sein dass er Probleme mit den Zeilenumbruchzeichen hat (von linux nach windows)? Wenn ja, weiß jemand auf die Schnelle, wie man dem sdcc sagt, dass er windows Zeilenumbruchzeichen machen soll ?

Reply to
Sebastian Fröbisch

wüsste ich nichts... aber ich hab auch schon recht lange nichts mit SDCC gemacht. Schade eigentlich, ein hochperformantes C. Und Sandeep samt den "Gurus" war immer zur Stelle wenns Probs gab. :^) Aber als workaround ganz gut: Mit einem "vernünftigen" Editor (TextPad, UltraEdit, ...) als Win-Text aufmachen und als Unix-Text speichern. IMO liegt der Unterschied in für Windows und einem einzelnen bei Unix.

HTH Heinz

Reply to
lovelyhard

scheinmt ein Konvrtierungsproblem zu sein. Sie das Ergebnis mal mit einem Hexeditor an.

Robert

--
'Vom Standpunkt eines Beamtenrechtlers aus betrachtet ist der Tod die 
schärfstwirkenste aller bekannten, langfristig wirkenden Formen der 
vollständigen Dienstunfähigkeit.'
aus: Kommentar zum Beamtenrecht.
Reply to
R.Freitag

"Sebastian Fröbisch" schrieb im Newsbeitrag news:d8utca$nck$ snipped-for-privacy@online.de...

Hallo Sebastion, damit hat nun wirklich nur der Original-Windows-Schmalspur-Editor Notepad ein Problem. Jeder andere Editor stellt die Zeilen "korrekt" dar egal ob die nun "CR" oder "CR LF" am Ende der Zeile haben.

Benutze PsPad, EditPad ... oder WordPad.

Gruß Helmut

Reply to
Helmut Sennewald

Sebastian Fröbisch schrieb:

Durchaus.

Dem SDCC nicht aber z.B. dem Programm unix2dos welches Textdateien (bzw. den Zeilenumbruch) passend umformatiert. Das sollte bei jedem "normalen" Linux dabei sein. Zur Not unter Windows mit cygwin arbeiten.

--
Matthias Weißer
matthias@matwei.de
http://www.matwei.de
Reply to
Matthias Weißer

Es ist ein einzelnes .

Micha

-- =

[...] Immerhin haben sie die halbe Wahrheit gesagt, fuer Politiker ist das schon eine ganze Menge. Lothar Bisky in n-tv
Reply to
Michael Baeuerle

Sebastian Fröbisch schrieb:

Hallo!

Wo ist die her?

formatting link

HTHA, Heiko

Reply to
Heiko Weinbrenner

wie in dem alten Thread schon zu lesen, hatte ich das gleiche Problem. Nachdem ich die Headerdatei von Atmel angepasst habe, klappt der SDCC wunderbar (bei mir unter Windows).

Schöne Grüße,

Andreas Schibilla

Hier meine Headerdatei:

#ifndef _REG5131_H_ #define _REG5131_H_

/* _____ C 5 1 C O R E ______________________________________________________

*/

sfr at 0xE0 ACC ; /* Sfr ( ACC, bit addressable)*/ sfr at 0xF0 B ; /* Sfr ( B, bit addressable)*/ sfr at 0xD0 PSW ; /* Sfr ( PSW, bit addressable)*/ sfr at 0x81 SP ; sfr at 0x82 DPL ; sfr at 0x83 DPH ;

#define PM_PD 0x02 /* Power Down Mode */ #define PM_IDL 0x01 /* Idle Mode */

/* _____ I / O P O R T ____________________________________________________

*/

// Sfr ( P0, bit addressable) sfr at 0x80 P0 ; sbit at 0x87 P0_7 ; sbit at 0x86 P0_6 ; sbit at 0x85 P0_5 ; sbit at 0x84 P0_4 ; sbit at 0x83 P0_3 ; sbit at 0x82 P0_2 ; sbit at 0x81 P0_1 ; sbit at 0x80 P0_0 ;

// Sfr ( P1, bit addressable) sfr at 0x90 P1 ; sbit at 0x97 P1_7 ; sbit at 0x96 P1_6 ; sbit at 0x95 P1_5 ; sbit at 0x94 P1_4 ; sbit at 0x93 P1_3 ; sbit at 0x92 P1_2 ; sbit at 0x91 P1_1 ; sbit at 0x90 P1_0 ;

// Sfr ( P2, bit addressable) sfr at 0xA0 P2 ; sbit at 0xA7 P2_7 ; sbit at 0xA6 P2_6 ; sbit at 0xA5 P2_5 ; sbit at 0xA4 P2_4 ; sbit at 0xA3 P2_3 ; sbit at 0xA2 P2_2 ; sbit at 0xA1 P2_1 ; sbit at 0xA0 P2_0 ;

// Sfr ( P3, bit addressable) sfr at 0xB0 P3 ; sbit at 0xB7 P3_7 ; sbit at 0xB6 P3_6 ; sbit at 0xB5 P3_5 ; sbit at 0xB4 P3_4 ; sbit at 0xB3 P3_3 ; sbit at 0xB2 P3_2 ; sbit at 0xB1 P3_1 ; sbit at 0xB0 P3_0 ;

// Sfr ( P4, bit addressable) sfr at 0xC0 P4 ; sbit at 0xC1 P4_1 ; sbit at 0xC0 P4_0 ;

/* _____ T I M E R S __________________________________________________________

*/ sfr at 0x8C TH0 ; sfr at 0x8A TL0 ; sfr at 0x8D TH1 ; sfr at 0x8B TL1 ; sfr at 0xCD TH2 ; sfr at 0xCC TL2 ; sfr at 0x88 TCON ; /* Sfr ( TCON, bit addressable)*/ sfr at 0x89 TMOD ; sfr at 0xC8 T2CON ; /* Sfr ( T2CON, bit addressable)*/ sfr at 0xC9 T2MOD ; sfr at 0xCB RCAP2H ; sfr at 0xCA RCAP2L ; sfr at 0xA6 WDTRST ; sfr at 0xA7 WDTPRG ;

// TCON bits sbit at 0x8F TF1 ; sbit at 0x8E TR1 ; sbit at 0x8D TF0 ; sbit at 0x8C TR0 ; sbit at 0x8B IE1_ ; sbit at 0x8A IT1 ; sbit at 0x89 IE0_ ; sbit at 0x88 IT0 ;

// T2CON bits sbit at 0xCF TF2 ; sbit at 0xCE EXF2 ; sbit at 0xCD RCLK ; sbit at 0xCC TCLK ; sbit at 0xCB EXEN2 ; sbit at 0xCA TR2 ; sbit at 0xC9 C_T2 ; sbit at 0xC8 CP_RL2 ;

/* _____ S E R I A L I / O _________________________________________________

*/ sfr at 0x98 SCON ; sfr at 0x99 SBUF ; sfr at 0xB9 SADEN ; sfr at 0xA9 SADDR ;

sbit at 0x9F FE_SM0 ; sbit at 0x9E SM1 ; sbit at 0x9D SM2 ; sbit at 0x9C REN ; sbit at 0x9B TB8 ; sbit at 0x9A RB8 ; sbit at 0x99 TI ; sbit at 0x98 RI ;

/* _____ B A U D R A T E G E N E R A T O R ______________________________

*/ sfr at 0x9A BRL ; sfr at 0x9B BDRCON ;

/* _____ P C A ________________________________________________________________

*/ sfr at 0xD8 CCON ; /* Sfr ( CCON, bit addressable)*/ sfr at 0xD9 CMOD ; sfr at 0xE9 CL ; sfr at 0xF9 CH ; sfr at 0xDA CCAPM0 ; sfr at 0xDB CCAPM1 ; sfr at 0xDC CCAPM2 ; sfr at 0xDD CCAPM3 ; sfr at 0xDE CCAPM4 ; sfr at 0xFA CCAP0H ; sfr at 0xFB CCAP1H ; sfr at 0xFC CCAP2H ; sfr at 0xFD CCAP3H ; sfr at 0xFE CCAP4H ; sfr at 0xEA CCAP0L ; sfr at 0xEB CCAP1L ; sfr at 0xEC CCAP2L ; sfr at 0xED CCAP3L ; sfr at 0xEE CCAP4L ;

/* CCON bits */ sbit at 0xDF CF ; sbit at 0xDE CR ; sbit at 0xDC CCF4 ; sbit at 0xDB CCF3 ; sbit at 0xDA CCF2 ; sbit at 0xD9 CCF1 ; sbit at 0xD8 CCF0 ;

/* _____ I N T E R R U P T ____________________________________________________

*/ sfr at 0xA8 IEN0 ; /* Sfr ( IEN0, bit addressable */ sfr at 0xB1 IEN1 ; sfr at 0xB8 IPL0 ; /* Sfr ( IPL0, bit addressable */ sfr at 0xB7 IPH0 ; sfr at 0xB2 IPL1 ; sfr at 0xB3 IPH1 ;

/* IE0 bits */ sbit at 0xAF EA ; sbit at 0xAE EC ; sbit at 0xAD ET2 ; sbit at 0xAC ES ; sbit at 0xAB ET1 ; sbit at 0xAA EX1 ; sbit at 0xA9 ET0 ; sbit at 0xA8 EX0 ; /* IPL0 bits */ sbit at 0xBE PPCL ; sbit at 0xBD PT2L ; sbit at 0xBC PSL ; sbit at 0xBB PTIL ; sbit at 0xBA PXIL ; sbit at 0xB9 PT0L ; sbit at 0xB8 PX0L ;

/* _____ P L L ________________________________________________________________

*/ sfr at 0xA3 PLLCON ; sfr at 0xA4 PLLDIV ;

/* _____ K E Y B O A R D ______________________________________________________

*/ sfr at 0x9E KBF ; sfr at 0x9D KBE ; sfr at 0x9C KBLS ;

/* _____ T W I ________________________________________________________________

*/ sfr at 0x93 SSCON ; sfr at 0x94 SSCS ; sfr at 0x95 SSDAT ; sfr at 0x96 SSADR ;

/* _____ S P I ________________________________________________________________

*/ sfr at 0xC3 SPCON ; sfr at 0xC4 SPSTA ; sfr at 0xC5 SPDAT ;

/* _____ U S B ________________________________________________________________

*/ sfr at 0xBC USBCON ; sfr at 0xC6 USBADDR ; sfr at 0xBD USBINT ; sfr at 0xBE USBIEN ; sfr at 0xC7 UEPNUM ; sfr at 0xD4 UEPCONX ; sfr at 0xCE UEPSTAX ; sfr at 0xD5 UEPRST ; sfr at 0xF8 UEPINT ; /* Sfr ( UEPINT, bit addressable) */ sfr at 0xC2 UEPIEN ; sfr at 0xCF UEPDATX ; sfr at 0xE2 UBYCTLX ; sfr at 0xE3 UBYCTHX ; sfr at 0xD6 UDPADDL ; sfr at 0xD7 UDPADDH ; sfr at 0xBA UFNUML ; sfr at 0xBB UFNUMH ; /* UEPINT bits */ sbit at 0xFE EP6INT ; sbit at 0xFD EP5INT ; sbit at 0xFC EP4INT ; sbit at 0xFB EP3INT ; sbit at 0xFA EP2INT ; sbit at 0xF9 EP1INT ; sbit at 0xF8 EP0INT ;

/* _____ M I S C . ____________________________________________________________

*/ sfr at 0x87 PCON ; sfr at 0x8E AUXR ; sfr at 0xA2 AUXR1 ; sfr at 0x8F CKCON0 ; sfr at 0xAF CKCON1 ; sfr at 0x85 CKSEL ; sfr at 0xF1 LEDCON ; sfr at 0xD1 FCON ; sfr at 0xD2 EECON ;

#endif /* _REG5131_H_ */

Reply to
Andreas Schibilla

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.