PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Error: 344.... aufgetreten beim compilieren für einen Attiny



mat-sche
30.06.2006, 23:56
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:


$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)

linux_80
01.07.2006, 01:39
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 !

mat-sche
01.07.2006, 10:18
Moin Moin!

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

Und wieder mehr Wissen :) assimiliert