AVR-DOS

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
Atesz
Tranzisztorgyógyász
Hozzászólások: 164
Csatlakozott: 2006. január 19. csütörtök, 7:00

AVR-DOS

Hozzászólás Szerző: Atesz »

Üdv!

AVR-DOS-ilag problémába ütköztem.
Adott a "Test_DOS_Drive.bas". Ha úgy ahogy van lefordítom, akkor gond nélkül lefordul. De ha az elején átírom a chip típusát M128-ról M644-re akkor a következő hibákat szórja:

Error : 975 Line : 1894 [UBRR1H[C:\PROGRA~1\MCSELE~1\BASCOM~1\M644DEF.DAT]]

Error : 202 Line : 15 .EQU not found, probably using functions that are not supported by the selected chip [TCCR2]

Error : 202 Line : 1894 .EQU not found, probably using functions that are not supported by the selected chip [SPCR]

Error : 202 Line : 1894 .EQU not found, probably using functions that are not supported by the selected chip [SPDR]

Mik ezek a hibák??
Nem értem. Egyébként sem vagyok jóban a több file-ból összefordított programokkal. Sajnos. Légyszi segítsetek!

Előre is köszi
Atesz
Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00

Hozzászólás Szerző: herc1234 »

magát a programsort is látnánk akkor az jobb lenne de ez annyit jelent (hibaüzenet) hogy amit választottál chip abban nincs benne az a funkció amire te viszont hivatkozol azt nem tudom mi az a EQU (valami regiszter talán?)

vagy bocsánat talán inkább a TCCR SPDR meg ami zárójelben a végén van
Avatar
Atesz
Tranzisztorgyógyász
Hozzászólások: 164
Csatlakozott: 2006. január 19. csütörtök, 7:00

Hozzászólás Szerző: Atesz »

A file-ok megtalálhatók itt:
http://members.aon.at/voegel/

Igen mostmár én is kibugásztam. Ezek regiszterek:

- UBRR1Hés UBRR1L USART Baud Rate Register

- UCSR1B Usart Control and Status Register

- SPCR SPI Control Register
stb....

Valóban, ezek a regiszterek nincsenek a MEGA644-ben. A MEGA128 viszont igen.


Csak most az a kérdés, hogy akkor most mivan?
Az AVR-DOS ezekszerint használja ezeket a regisztereket?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A M644-ben megváltozott néhány tegiszter neve. Nézd meg a T2313 dat fileját, ott is úgy lett megadva hogy mind a régi, mind az új regiszternév benne van!
pl.:

Kód: Egész kijelölése

WGM11	= 1	; Pulse Width Modulator Select Bit 1
PWM11	= WGM11	; For compatibility
http://www.tavir.hu - a gazda :)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Erre a megfeleltetésre a M64 replacing M644 illetve a Replacing M32 to M324 opdfekben van benne....
http://www.tavir.hu - a gazda :)
Avatar
Atesz
Tranzisztorgyógyász
Hozzászólások: 164
Csatlakozott: 2006. január 19. csütörtök, 7:00

Hozzászólás Szerző: Atesz »

Erre a megfeleltetésre a M64 replacing M644 illetve a Replacing M32 to M324 opdfekben van benne....
Ezt most nem értem. :oops: (de egyáltalán!) :lol:
Avatar
Atesz
Tranzisztorgyógyász
Hozzászólások: 164
Csatlakozott: 2006. január 19. csütörtök, 7:00

Hozzászólás Szerző: Atesz »

Azthiszem kapisgálom.

Pl.: a fordító SPCR-t hiányolja viszont az M644def.dat -ban SPCR0 van!

Kipróbáltam a program elején átírtam M64-re a procit, és csont nélkül lefordította.

Szóval a xxxxdef.dat -ban megleltem a különbséget.

De most mit tegyek hogy az MEGA644-ben fusson az AVR-DOS ??
Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00

Hozzászólás Szerző: herc1234 »

szerintem ha nem tévedek itt arról van szó hogy van egy lib amire példák vannak irva hogy a parancsait hogyan használhatod...
de arról itt nincs szó pedig valószinűleg az a lényeg hogy ezt csak bizonyos chip-eken használhatod
legalábbis nekem úgy tünik..
az meg már viszont az .asm része
Avatar
Atesz
Tranzisztorgyógyász
Hozzászólások: 164
Csatlakozott: 2006. január 19. csütörtök, 7:00

Hozzászólás Szerző: Atesz »

Az m644def.dat ba beleírtam ezeket:

Kód: Egész kijelölése

SPDR0	= $2e
SPDR    = SPDR0  ;Atesz kompatibilitás :)
SPSR0	= $2d
SPSR    = SPSR0  ;Atesz kompatibilitás :)
SPCR0	= $2c
SPCR    = SPCR0  ;Atesz kompatibilitás :)
Most nem köhög a fordító. Az hogy működni is fog-e az más kérdés. :?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Amit találtam, próbáld meg SW-SPI-vel használni....

Kód: Egész kijelölése

Perhaps nice to know. I got it running.... 
Atmega644 + 20 Mhz crystal + 512 Mbyte SD-card. 
AVR-DOS is GREAT!!  
Have changed the config-mmc.bas like this, using a SOFT-SPI-mode 

Code: 
' --------- Start of Section for Soft-SPI -------------------------------------- 

   ' Chip Select Pin  => Pin 1 of MMC/SD 
   Config Pinb.4 = Output 
   Mmc_cs Alias Portb.4 
   Set Mmc_cs 

   ' MOSI - Pin  => Pin 2 of MMC/SD 
   Config Pinb.5 = Output 
   Set Pinb.5 
   Mmc_portmosi Alias Portb 
   Bmmc_mosi Alias 5 

   ' MISO - Pin  => Pin 7 of MMC/SD 
   Config Pinb.6 = Input 
   Mmc_portmiso Alias Pinb 
   Bmmc_miso Alias 6 

   ' SCK - Pin  => Pin 5 of MMC/SD 
   Config Pinb.7 = Output 
   Set Pinb.7 
   Mmc_portsck Alias Portb 
   Bmmc_sck Alias 7 

' --------- End of Section for Soft-SPI ----------------------------------------  

A regiszteralias is jó:)
Avatar
Atesz
Tranzisztorgyógyász
Hozzászólások: 164
Csatlakozott: 2006. január 19. csütörtök, 7:00

Hozzászólás Szerző: Atesz »

Na kérném szépen! Odáig eljutottam én is, hogy inicalizálja az MMC kártyát!

Elolvastam 7kaz kolléga szenvedéseit tavaly nyáron az AVR-DOS-sal :D

Most ott tartok én is hogy:

Kód: Egész kijelölése

Gbtemp1 = Initfilesystem(1)' we must init the filesystem once
If Gbtemp1 > 0 Then
Print#1 ,"Error "; Gbtemp1
Else
Print#1 ," OK"
És kapok egy szép Error code: 229
Ami mint tudjuk: Const Cperrdrivereadresponse = 229 ' No Data response Byte from MMC at Read

Az MMC Soft-init etel van feltámasztva, igaz a hardware-s lábakon van. (az ISP vel párhuzamosan)

Ha rajt a programozó kábel a vason, akkor inicalizálja az MMC kártyát de utána nem müködik más.

Ha lehúzom a programozó kábelt akkor még csak inicalizálás se megy..

:?:
Avatar
Atesz
Tranzisztorgyógyász
Hozzászólások: 164
Csatlakozott: 2006. január 19. csütörtök, 7:00

Hozzászólás Szerző: Atesz »

Olvastam , hogy valaki a fórumon hozzám hasonlóan az AVR-DOS-al bajlódott. Fölmerült a kérdés, hogy XP alól nem lehet 512B -ra állítani a szektorméretet formázáskor. És tényleg. A legkisebb amit megenged az XP az az 1024.
Van ennek jelentősége az AVR_DOS használatakor?
A megoldást (512-re formázás) , már ha ez a megoldás, nem olvastam sehol..

Sajnos elekadtam.
Az MMC init működik (ErrorCode=0)
Viszont utána a FileSystemInit ErrorCode=229 -et dob.
Tegnap óta annyit sikerült elérnem, hogy most már akkor is működik az MMC init, hogy ha le van húzva a programozókábel. (valószínű az 5V/3,3V osztóval volt hiba)

Valakinek ötlete?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Kártyaolvasóban, ha formázom FAT16 (FAT) ill FAT32-t is hagy az XP.
FAT-ra állítva 512 byte lesz a szektorméret. Az AVRDOS használatának ez alapfeltétele!
http://www.tavir.hu - a gazda :)
Avatar
Atesz
Tranzisztorgyógyász
Hozzászólások: 164
Csatlakozott: 2006. január 19. csütörtök, 7:00

Hozzászólás Szerző: Atesz »

Az AVRDOS használatának ez alapfeltétele!
Tudtam :!: :!: :!:

Bár én úgy emlékezem, hogy nem hagyta. (azt hiszem FAT32/1024 -re formáztam most)

Akkor ezt más csak honlap fogom megcsinálni. (ugyanis nincs még itthon kártyaolvasóm)

Köszi a választ Robi!
Avatar
Atesz
Tranzisztorgyógyász
Hozzászólások: 164
Csatlakozott: 2006. január 19. csütörtök, 7:00

Hozzászólás Szerző: Atesz »

FAT16 (FAT) ill FAT32-t is hagy az XP.
Ez igaz.
FAT-ra állítva 512 byte lesz a szektorméret.
Ha sima FAT ra állítom és beállítom a 512 szektorméretet, akkor az mondja az XP, hogy ez a szektorméret nem támogatott.

Viszont FAT32 -nél meg leformázza 512Byte szektorméretre.

Most hogyvanez?
Válasz küldése