OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů

Zptky do minulosti!

Právě je 22.04.2021, 18:45

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 132 ]  Přejít na stránku Předchozí  1 ... 5, 6, 7, 8, 9
Autor Zpráva
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 06.04.2021, 16:42 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1169
Bydliště: Most, Praha
Has thanked: 346 times
Been thanked: 334 times
Priorita na DMA má jen dvě možnosti:
1) Vyšší priorita kanálu DMA_CH0_CTRL_TRIG_HIGH_PRIORITY_BITS (má jen 2 stupně - normální a vyšší), znamená to, že při přepínání kanálů se objedou všechny kanály s vyšší prioritou a pak jeden kanál s nižší prioritou.
2) Nastavení priority kanálu DMA na sběrnici (registr BUSCTRL) - pro DMA se dá nastavit priorita 0 nebo 1, pro procesor se dá nastavit 0 nebo 1.
U obou možností jsem nepozoroval vliv na výpadky obrazu. Myslím že u priority sběrnice, když už procesor chytne pomalou flash a čeká, tak i když přijde požadavek od DMA tak stejně nemůže přerušit probíhající čekání a přenechat řízení DMA.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 06.04.2021, 17:53 
Offline
Pan Generální

Registrován: 16.06.2014, 12:23
Příspěvky: 3159
Bydliště: Jesenice u Prahy
Has thanked: 22 times
Been thanked: 192 times
Neříkej mi, že tam procesor zůstane viset ve waitu a tím blokuje sběrnici :D

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 06.04.2021, 18:03 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1169
Bydliště: Most, Praha
Has thanked: 346 times
Been thanked: 334 times
Chová se to tak - protože jak jinak si vysvětlit, že když všechno ostatní běží z RAM, DMA by mělo být nezávislé, tak když dám kopírovat data z Flash tak obraz bliká a vypadává.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 06.04.2021, 18:27 
Offline
Pan Generální

Registrován: 16.06.2014, 12:23
Příspěvky: 3159
Bydliště: Jesenice u Prahy
Has thanked: 22 times
Been thanked: 192 times
A to používáš nejaký "knihovní" prvek, takže nevíš, co to ve strojáku dělá :)

Mají k tomu nějakou pořádnou hw dokumentaci ? já u těch definicí pro ovládání překladače šílím.

Třeba ten sideset může být udělanej tak, že se leze stadtardně z SM ven do I/O matice těmi 5 bity z instrukce. Pro PIO blok se nastavuje jen kolik bitů s použije pro zpoždění a překladač akorát nepřiřadí ty bity použité na delay nikam.

Stejně tak nerozumím té řídící paměti, protože i v FPGA simulaci se to dělá líp, když má každej ten SM řídící pamět vlastní, tady je to 1 kbit, to je jako prd.
A když potřebuješ společnou, tak to nahraješ do všech současně.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 06.04.2021, 18:41 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1169
Bydliště: Most, Praha
Has thanked: 346 times
Been thanked: 334 times
Tady jsou dokumentace. https://www.raspberrypi.org/products/ra ... fications/

Hlavní je "Raspberry Pi Pico datasheet", to je popis procesoru a registrů.

Pak je důležitý "Raspberry Pi Pico C/C++ SDK", kde je popis SDK funkcí. Dá se s tím dělat i přímo přes registry, a i ty SDK funkce jsou většinou jednoduché (a často jen inline), ale přece jen, jsou tam nastavené konfigurace se kterými by se člověk mohl potýkat obtížně. Např. konfigurace QSPI Flash paměti vypadá docela složitě.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 06.04.2021, 18:52 
Offline
Pan Generální

Registrován: 16.06.2014, 12:23
Příspěvky: 3159
Bydliště: Jesenice u Prahy
Has thanked: 22 times
Been thanked: 192 times
Ten samozřejmě zkoumám, jinak bych nebyl tak chytrej :D

Třeba v PIO leze ze SM celkem asi 9 výstupních drátů, 5 sideset, 2 z insrukce OUT a 2 s instrukce SET.
Jak se to dá přesně využít v I/O matici přiřazení nevím, protože ta tam popsaná není.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 06.04.2021, 19:04 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1169
Bydliště: Most, Praha
Has thanked: 346 times
Been thanked: 334 times
Nějaký základní popis je v "Bus Fabric" a "AHB-Lite Crossbar".

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 07.04.2021, 21:42 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1169
Bydliště: Most, Praha
Has thanked: 346 times
Been thanked: 334 times
Sepsal jsem článek k assembleru Raspberry Pico - popis instrukcí, měření časování instrukcí. ... A alespoň jsem si všechny instrukce důkladně "osahal". :-)

http://www.breatharian.eu/hw/rasppicoasm/index.html

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 08.04.2021, 07:36 
Offline
Pan Generální

Registrován: 16.06.2014, 12:23
Příspěvky: 3159
Bydliště: Jesenice u Prahy
Has thanked: 22 times
Been thanked: 192 times
Dotaz k Multiply : výsledek je 32 bit ?

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 08.04.2021, 08:03 
Offline
Kecálek

Registrován: 07.05.2014, 12:10
Příspěvky: 178
Bydliště: Jbc
Has thanked: 0 time
Been thanked: 33 times
danhard píše:
Neříkej mi, že tam procesor zůstane viset ve waitu a tím blokuje sběrnici :D

Spis bych rekl, ze to visi na QSPI/Cache. CPU i DMA chteji dodat dalsi data, ale pokud nejsou v Cache, musi se rozbehnout cteni z pozadovane adresy QSPI, coz nejakou chvili trva. A je otazka, zda nahodou to cteni neni po blocich, takze to muze trvat jeste delsi dobu...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 08.04.2021, 08:49 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1169
Bydliště: Most, Praha
Has thanked: 346 times
Been thanked: 334 times
danhard píše:
Dotaz k Multiply : výsledek je 32 bit ?
Ano, násobí se u32 * u32 -> u32. Ta množina Thumb-1 je HODNĚ ošizená a je tam jen to nejnutnější.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Paspberry Pico
PříspěvekNapsal: 08.04.2021, 17:50 
Offline
Pan Generální

Registrován: 16.06.2014, 12:23
Příspěvky: 3159
Bydliště: Jesenice u Prahy
Has thanked: 22 times
Been thanked: 192 times
Tak na straně 387 je kapitola 3.7. List of Regiters a tam je skutečně zápis do paměti programu PIO jako 32 16-bit. registrů. I offset začátku 0x048 neodpovídá paměťovému bloku.
Přitom i v FPGA se líp modeluje malá paměť RAM, protože každá LUT tabulka na vstupu CLB se dá použít jako 16 bit RAM.
Ale to je tak, když se to napíše ve vyšším jazyce VHDL a pak se to tam nechá jen nalámat a když se to nevejde, tak se vezme větší FPGA :D

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 132 ]  Přejít na stránku Předchozí  1 ... 5, 6, 7, 8, 9

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz