AVR-DOS

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
Atesz
Tranzisztorgyógyász
Hozzászólások: 164
Csatlakozott: 2006. január 19. csütörtök, 7:00
Tartózkodási hely: Dombóvár

AVR-DOS

HozzászólásSzerző: Atesz » 2008. február 24. vasárnap, 18:41

Ü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
Tartózkodási hely: Törökbálint

HozzászólásSzerző: herc1234 » 2008. február 24. vasárnap, 20:29

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
Tartózkodási hely: Dombóvár

HozzászólásSzerző: Atesz » 2008. február 24. vasárnap, 20:58

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: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2008. február 24. vasárnap, 21:42

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: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2008. február 24. vasárnap, 21:43

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
Tartózkodási hely: Dombóvár

HozzászólásSzerző: Atesz » 2008. február 24. vasárnap, 21:55

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
Tartózkodási hely: Dombóvár

HozzászólásSzerző: Atesz » 2008. február 24. vasárnap, 22:10

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
Tartózkodási hely: Törökbálint

HozzászólásSzerző: herc1234 » 2008. február 24. vasárnap, 22:18

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
Tartózkodási hely: Dombóvár

HozzászólásSzerző: Atesz » 2008. február 24. vasárnap, 22:34

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: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2008. február 24. vasárnap, 22:42

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
Tartózkodási hely: Dombóvár

HozzászólásSzerző: Atesz » 2008. február 25. hétfő, 22:55

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
Tartózkodási hely: Dombóvár

HozzászólásSzerző: Atesz » 2008. február 26. kedd, 21:03

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: 9989
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2008. február 26. kedd, 21:50

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
Tartózkodási hely: Dombóvár

HozzászólásSzerző: Atesz » 2008. február 26. kedd, 22:25

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
Tartózkodási hely: Dombóvár

HozzászólásSzerző: Atesz » 2008. február 27. szerda, 10:47

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?


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég