- Labornetzteil AliExpress         
Ergebnis 1 bis 3 von 3

Thema: Error: 344.... aufgetreten beim compilieren für einen Attiny

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381

    Error: 344.... aufgetreten beim compilieren für einen Attiny

    Anzeige

    Powerstation Test
    Hallo und N' en guten abend,

    habe ein kleines prog geschrieben welches auf einem mega32 gut läuft. Dann hatte ich versucht es auf einen Attiny2313 zum laufen zu bringen, mit der Fehlermeldung: Error 344..... Programm will overwrite bootloader!

    Kann mir jemand helfen das zu verstehen?! Wie kann ich unter Bascom herausfinden wie groß mein Programm ist und ob dies mein Controller schluckt....

    Sourcecode hier:
    Code:
    $regfile = "attiny2313.dat"                                 ' specify the used micro
    
    $crystal = 12000000                                         ' used crystal frequenz
    
    
    
    '****Configuration LCD***********
    
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.0 , Rs = Portd.1
    
    Config Lcd = 16 * 1                                         'configure lcd scree
    Initlcd                                                     ' initialisiere LCD
    Cls
    
    
    
    '****Configuration DS1820***********
    Config 1wire = Portb.7
    Dim I As Byte
    Dim Id1(8) As Byte
    Dim Id2(8) As Byte
    Dim Ar1(2) As Byte
    Dim Ar2(2) As Byte
    Dim Ar(2) as Byte
    DIM Temperatur1 as Integer
    DIM Temperatur2 as Integer
    Dim Halb as Byte                                            'use this pin as 1wire
    
    
    
    '****Configuration Gangzählen*********
    Dim Gang As Byte , Z as word                                'Gangzähler
    Config Pinb.4 = Input                                       'Ein Pin (PA0) wird als Eingang definiert
    N Alias Pinb.4
    Config Pinb.6 = Input
    Rauf Alias Pinb.6
    Config Pinb.5 = Input
    Runter Alias Pinb.5
    DDRB = &B11111111
    
    Do
    
    
       if n = 1 then gang = 0
       Debounce Runter , 1 , runterzahlen , sub
       If Gang => 2 Then Goto Zaelen                            'wenn Poti nach oben, erhöhe Seitenzähler
    
      Zaelen:
    
      Debounce Rauf , 1 , hochzahlen , sub
    
    
    
    
    
     Ganganzeige:
     Cursor Off
    
     Locate 1 , 15
     Lcd "G"
     Locate 1 , 16
     Lcd ; Gang
    
     Incr Z
     If Z > 501 then Z = 0
     If Z > 500 then Goto TEMP1
    
    
    Loop
    
    End
    
    '----------------------------------------------------------------------------------------------------------------------------
    Temp1:
    
    Id1(1) = 1wsearchfirst()
    Id2(1) = 1wsearchnext()
    
    '***Sensor 1************************************************************************
    
    1wreset                                                     'reset
    1wwrite &H55                                                'Match Rom command
    1wwrite Id1(1) , 8                                          'Id von Sensor 1
    1wwrite &H44                                                'Convert T
    
    Waitms 150                                                  '300                                                  'warten bis convert T fertig ist
    1wreset                                                     'reset
    1wwrite &H55                                                'match rom command
    1wwrite Id1(1) , 8                                          'id von sensor 1
    1wwrite &HBE
    
    For I = 1 To 2
    Ar(i) = 1wread(1)
    
      Next
      Deflcdchar 0 , 4 , 10 , 10 , 4 , 32 , 32 , 32 , 32        ' replace ? with number (0)
    
      Locate 1 , 1
      Temperatur1 = Ar(1)
    
      If Ar(2) > 0 Then Temperatur1 = 0 Else Shift Temperatur1 , Right
    
      Lcd "T1" ; Temperatur1 ; ".";
    
      Halb = Ar(1) And 1
    
      If Halb = 1 Then Lcd "5" Else Lcd "0"
      'Locate 1 , 5
      'LCD ; Chr(0) ; "C"
    
    
    
    '*****Sensor2*****
    
    
    'Waitms 500
    1wreset                                                     'reset
    1wwrite &H55                                                'Match Rom command
    1wwrite Id2(1) , 8                                          'Id von Sensor 2
    1wwrite &H44                                                'Convert T
    
    Waitms 150                                                  ' 300                                                  'warten bis convert T fertig ist
    1wreset                                                     'reset
    1wwrite &H55                                                'match rom command
    1wwrite Id2(1) , 8                                          'id von sensor 2
    1wwrite &HBE                                                'scratchpad lesen
    
    
    For I = 1 To 2
    Ar(i) = 1wread(1)
    
      Next
      Deflcdchar 0 , 4 , 10 , 10 , 4 , 32 , 32 , 32 , 32        ' replace ? with number (0)
    
      Locate 1 , 8
      Temperatur2 = Ar(1)
    
      If Ar(2) > 0 Then Temperatur2 = 0 Else Shift Temperatur2 , Right
    
      Lcd "T2" ; Temperatur2 ; ".";
    
      Halb = Ar(1) And 1
    
      If Halb = 1 Then Lcd "5" Else Lcd "0"
      'Locate 2 , 5
      'LCD ; Chr(0) ; "C"
    
      Goto ZAELEN
      'Return
    '---------------------------------------------------------------------------------
    
    
       runterzahlen:
     if gang = 0 then gang = 1
     if gang > 2 then decr GANG
     return
    
     '-------------------------------------------------------------------------------
     hochzahlen:
    
     if gang = 6 then goto ganganzeige
     if gang => 2 then goto step1
     gang = 2
    Bitte, Code-Tags verwenden ! (PicNick)

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Wenns schon für den M32 läuft, kannst Du da nach dem Compilieren mit Ctrl+W,
    oder die Menü-Funktion "Show Result" oder in der Toolbar gleich das neben dem womit man Compiliert,
    anzeigen lassen u.a. wie gross das Programm geworden ist (-> ROMIMAGE),
    dann ausrechen, ob es in den 2313 passen würde, denn die Grösse wird nicht recht viel anders sein.

    Der M32 hat 32Kb Flash, der 2313 nur 2KB !

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    25.03.2006
    Ort
    Hinsdorf
    Alter
    49
    Beiträge
    381
    Moin Moin!

    Dank Linux_80! Richtig, der compilierte code war ca. 10% zu groß für den "kleinen".

    Und wieder mehr Wissen assimiliert

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test