-
Data: 2009-11-08 07:13:13
Temat: Re: AVR32 - jak ruszyc z tym prockiem
Od: SM <b...@k...com.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]...walczę dalej
wyczytałem że BatchISP:
- kasuje flash pomijając bootloader
- programuje flash nadpisując bootloader
więc trzeba go dołączyć do swojego programu.
zgrałem go więc (flash od adresu 0x80000000 do 0x80001FFF) dołączyłem
jak BIN do swojego źródła - nie działa:
.equ GPIO_BASE, 0xFFFF1000
.equ GPIO_GPERS, 0x04
.equ GPIO_ODERS, 0x44
.equ GPIO_OVRS, 0x54
.macro mov.w rd, imm
mov \rd, LO(\imm)
orh \rd, HI(\imm)
.endm
.text
.global _start
_start:
.incbin "isp.bin" // 8192bytes (saved flash from 0x0000 to 0x1FFF)
program_start:
mov.w R0, GPIO_BASE
mov.w R1, (1 << 3)
st.w R0[GPIO_GPERS], R1
mov.w R1, (1 << 3)
st.w R0[GPIO_ODERS], R1
mov.w R1, (0 << 3)
st.w R0[GPIO_OVRS], R1
always:
rjmp always
_stop:
zgrałem jeszcze raz pomijając dwa pierwsze bajty i wstawiając tam
"trampoline" - nie działa:
.equ GPIO_BASE, 0xFFFF1000
.equ GPIO_GPERS, 0x04
.equ GPIO_ODERS, 0x44
.equ GPIO_OVRS, 0x54
.macro mov.w rd, imm
mov \rd, LO(\imm)
orh \rd, HI(\imm)
.endm
.text
.global _start
_start:
rjmp program_start
.incbin "isp.bin" // 8190bytes (saved flash from 0x0002 to 0x1FFF)
program_start:
mov.w R0, GPIO_BASE
mov.w R1, (1 << 3)
st.w R0[GPIO_GPERS], R1
mov.w R1, (1 << 3)
st.w R0[GPIO_ODERS], R1
mov.w R1, (0 << 3)
st.w R0[GPIO_OVRS], R1
always:
rjmp always
_stop:
asemblacja:
avr32-as.exe -R -march=ucr1 -o main.out main.s
linkowanie:
avr32-ld.exe --oformat ihex -m avr32elf_uc3b0256 -Ttext 0x80000000 -Tbss
0x00000000 -o main.hex main.out
programowanie:
batchisp -device at32uc3b0256 -hardware usb -operation erase f memory
flash blankcheck loadbuffer main.hex program verify start reset 0
BatchISP pisze że programuje, weryfikuje, wszystko OK, a i tak
pin PA3 nie chce przyjąć poziomu niskiego. (Pomijam już to, że
flash jest od 80000000 a BatchISP wszystko pokazuje od 0).
Generuje plik HEX od 80002000, BatchISP i tak ładuje od 0.
No i teraz nie wiem co właściwie to zero oznacza. Ale gówno.
No to zabrałem się za prosty przykład z AVR Studio - sterowanie wyjście.
Załadowałem. Działa. Chciałem podejrzeć co gdzie sie ładuje.
Przerabiam ELF na HEX poprzez ObjCopy - wywala błąd!
Ale syf. Powoli wymiękam. Robiłem już na chyba 8 różnych rodzinach
procków (od 8bit do ARMów) ale takiego problemu z uruchomieniem
to jeszcze nie miałem!
SM
Następne wpisy z tego wątku
- 08.11.09 07:53 SM
- 08.11.09 20:16 Adam Dybkowski
- 09.11.09 04:51 SM
- 09.11.09 18:16 cepu69
- 09.11.09 22:04 Jerry1111
- 09.11.09 22:53 Adam Dybkowski
- 10.11.09 05:20 SM
- 10.11.09 05:22 SM
- 10.11.09 05:28 SM
- 10.11.09 05:36 SM
- 10.11.09 08:37 shg
- 10.11.09 08:50 SM
- 10.11.09 16:31 cepu69
- 10.11.09 20:42 SM
- 10.11.09 22:36 Jerry1111
Najnowsze wątki z tej grupy
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=