Forum: Mikrocontroller und Digitale Elektronik Bootloader ATmega1284P


von Andreas H. (heilinger)


Lesenswert?

Hallo,

ich habe bisher noch nie mit einem Bootloader gearbeitet, möchte mich 
nun aber mal in den Bereich vorarbeiten. Dazu lehne ich mich hier an: 
http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung

Statt dem beschriebenen ATmega88, benutze ich jedoch einen ATmega1284P. 
Ich benutze den AVR Dragon zum Flashen. Mein ursprüngliches Programm 
hatte ich schon drauf, was mir auch bestätigt hat, dass die serielle 
Schnittstelle mit dem PC über den UART0 funktioniert.

Ich hänge jedoch schon am Schritt: Der "Hallo Welt" - Bootloader. Wenn 
ich den uC geflasht habe, kommt danach leider keine Meldung "Hallo hier 
ist der Bootloader" auf der Terminal-Software.

Als Fuse habe ich gesetzt: Boot Flash size = 4096 words, Boot address = 
$F000 und habe die Linker-Options mit "-Ttext=0x1E000" ergänzt. Die 
Frequenz ist in den Configuration options mit 8MHz eingetragen, und die 
Fuse auf "Int. RC Osc.; Start-up time 6CK + 65ms", bei der Fuse BOOTRST 
ist nen Haken gesetzt, sonst sind alle Haken bis auf SPIEN gelöscht.

In der uart.c musste ich die Zeile
#elif defined(_AVR_ATmega164P_) || defined(_AVR_ATmega324P_) || 
defined(_AVR_ATmega644P_)
mit
|| defined(_AVR_ATmega1284P_)
ergänzen, da der ATmega1284P damals wohl noch nicht existiert hat.

Beim Compilieren bekomme ich jedoch 5 Warnungen:
../Bootloader.c:16: warning: unused variable 'p_mode'
../uart.c:243: warning: 'SIG_USART_RECV' appears to be a misspelled 
signal handler
../uart.c:286: warning: 'SIG_USART_DATA' appears to be a misspelled 
signal handler
../uart.c:475: warning: 'SIG_USART1_RECV' appears to be a misspelled 
signal handler
../uart.c:510: warning: 'SIG_USART1_DATA' appears to be a misspelled 
signal handler

Mit den unteren 4 kann ich leider nichts anfangen.
Sieht denn einer sofort, was ich falsch mache oder hat Tipps was ich 
prüfen sollte?

Danke

von Andreas H. (heilinger)


Lesenswert?

Die 4 Warnungen habe ich eliminieren können: Irgendwie scheinen die 
Interrupt-Vektoren von ATmega164/324/644 nicht mit denen vom ATmega1284 
übereinzustimmen.

Diese habe ich geändert und somit sind auch die Warnungen verschwunden, 
trotzdem bekomme ich nichts zurückgesendet...

von Andreas H. (heilinger)


Lesenswert?

Ich habe mir mal den TxD0 am Scope angeguckt, dort ist auch keine 
Protokoll zu erkennen.

Mein generiertes hex-file ist auch sehr klein, ist das so normal?!
Hier ist es:
1
:020000021000EC
2
:10E000000C9446F00C9465F00C9465F00C9465F05B
3
:10E010000C9465F00C9465F00C9465F00C9465F02C
4
:10E020000C9465F00C9465F00C9465F00C9465F01C
5
:10E030000C9465F00C9465F00C9465F00C9465F00C
6
:10E040000C9465F00C9465F00C9465F00C9465F0FC
7
:10E050000C94B9F00C9465F00C94E9F00C9465F014
8
:10E060000C9465F00C9465F00C9465F00C9465F0DC
9
:10E070000C947FF10C9465F00C94AFF10C9465F066
10
:10E080000C9465F00C9465F00C9465F011241FBE9F
11
:10E09000CFEFD0E4DEBFCDBF11E0A0E0B1E0EEE80D
12
:10E0A000F4EE01E00BBF02C007900D92A238B10759
13
:10E0B000D9F712E0A2E8B1E001C01D92AC30B1077F
14
:10E0C000E1F70E9467F00C9445F20C9400F0CF93B6
15
:10E0D000DF938FB7F89495B7292F216025BF926001
16
:10E0E00095BF8FBF81E890E00E9417F1789480E09F
17
:10E0F00091E00E9464F180E197E224EF31E0F901C0
18
:10E100003197F1F70197D9F70E9431F1EC0190FDB9
19
:10E11000FBCF813769F480E291E00E9464F18BE3E8
20
:10E1200091E00E9464F120E137E244EF51E00CC03D
21
:10E1300089E591E00E9464F18C2F0E944EF18EE7F8
22
:10E1400091E00E9464F1E0CFCA010197F1F72150FC
23
:10E150003040D1F7F89485B7982F916095BF8D7FA7
24
:10E1600085BFE0E0F0E0099580E090E0DF91CF919D
25
:10E1700008951F920F920FB60F920BB60F921124B3
26
:10E180002F938F939F93EF93FF939091C0002091D3
27
:10E19000C600E091C401EF5FEF718091C501E817FF
28
:10E1A00011F482E008C0892F8871E093C401F0E087
29
:10E1B000EE55FE4F20838093C601FF91EF919F9112
30
:10E1C0008F912F910F900BBE0F900FBE0F901F904D
31
:10E1D00018951F920F920FB60F920BB60F92112443
32
:10E1E0008F939F93EF93FF939091C2018091C3010E
33
:10E1F000981769F0E091C301EF5FEF71E093C301FD
34
:10E20000F0E0EE57FE4F80818093C60005C08091FC
35
:10E21000C1008F7D8093C100FF91EF919F918F91FD
36
:10E220000F900BBE0F900FBE0F901F9018959C0182
37
:10E230001092C2011092C3011092C4011092C50144
38
:10E2400097FF04C082E08093C0003F773093C50001
39
:10E250002093C40088E98093C10086E08093C200C7
40
:10E2600008959091C4018091C501981719F420E098
41
:10E2700031E012C0E091C501EF5FEF71E093C5019D
42
:10E28000F0E0EE55FE4F30812091C601922F80E0E4
43
:10E29000AC01430F511D9A01C9010895282F909197
44
:10E2A000C2019F5F9F718091C3019817E1F3E92F2D
45
:10E2B000F0E0EE57FE4F20839093C2018091C100A1
46
:10E2C00080628093C1000895CF93DF93EC0103C077
47
:10E2D00021960E944EF188818823D1F7DF91CF915A
48
:10E2E0000895CF93DF93EC0102C00E944EF1FE012E
49
:10E2F000219684918823C9F7DF91CF9108951F92C9
50
:10E300000F920FB60F920BB60F9211242F938F938B
51
:10E310009F93EF93FF939091C8002091CE00E091DE
52
:10E320000902EF5FEF7180910A02E81711F482E0B1
53
:10E3300008C0892F8871E0930902F0E0E951FE4F8F
54
:10E34000208380930B02FF91EF919F918F912F91EA
55
:10E350000F900BBE0F900FBE0F901F9018951F923D
56
:10E360000F920FB60F920BB60F9211248F939F93BB
57
:10E37000EF93FF939091070280910802981769F03C
58
:10E38000E0910802EF5FEF71E0930802F0E0E953DB
59
:10E39000FE4F80818093CE0005C08091C9008F7DA3
60
:10E3A0008093C900FF91EF919F918F910F900BBEC9
61
:10E3B0000F900FBE0F901F9018959C0110920702AE
62
:10E3C000109208021092090210920A0297FF04C0EC
63
:10E3D00082E08093C8003F773093CD002093CC003B
64
:10E3E00088E98093C90086E08093CA0008959091DF
65
:10E3F000090280910A02981719F420E031E012C056
66
:10E40000E0910A02EF5FEF71E0930A02F0E0E95158
67
:10E41000FE4F308120910B02922F80E0AC01430F20
68
:10E42000511D9A01C9010895282F909107029F5FFD
69
:10E430009F71809108029817E1F3E92FF0E0E9530A
70
:10E44000FE4F2083909307028091C90080628093E1
71
:10E45000C9000895CF93DF93EC0103C021960E9479
72
:10E4600014F288818823D1F7DF91CF910895CF935B
73
:10E47000DF93EC0102C00E9414F2FE012196849108
74
:0EE480008823C9F7DF91CF910895F894FFCF5C
75
:10E48E0048616C6C6F2068696572206973742064D2
76
:10E49E00657220426F6F746C6F616465720A0D0055
77
:10E4AE005665726C617373652064656E20426F6F82
78
:10E4BE00746C6F61646572210A0D00537072696E1F
79
:10E4CE006765207A757220416472657373652030BA
80
:10E4DE007830303030210A0D004475206861737435
81
:10E4EE0020666F6C67656E646573205A6569636834
82
:10E4FE00656E20676573656E6465743A20000A0D5B
83
:02E50E0000000B
84
:040000031000E00009
85
:00000001FF

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
Noch kein Account? Hier anmelden.