OldComp.cz

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


Právě je 08.02.2025, 22:25

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 13 ] 
Autor Zpráva
 Předmět příspěvku: Pouzitelny RISC-V SoC za cenu hradla
PříspěvekNapsal: 06.10.2024, 02:24 
Offline
Radil

Registrován: 16.09.2022, 16:24
Příspěvky: 368
Has thanked: 8 times
Been thanked: 63 times
Potreboval jsem nejake "vetsi" obvody od WCH, tak jsem si rovnou objednal i "10-cent RISC-V" v SO16. Pro retroprojeky je zajimavy pouzdrem + ze bezi z 5V. Dle meho nazoru idealni pro ruzne retrohracky - napr. prevodniky apod. Maji i dalsi zajimave obvody z retrohlediska, treba 5V SoC s USB OTG.

phpBB [video]


https://www.wch-ic.com/products/CH32V003.html

(mimochodem zkousel jsem prelozit tiny8086 do rv32ec a vesel se do 13kB, to je vyzva, jestli nekdo udela emulator XTcka do tohohle ;) )


Nahoru
 Profil  
 
PříspěvekNapsal: 07.10.2024, 13:00 
Offline
Pan Generální
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 2122
Bydliště: Most, Praha
Has thanked: 960 times
Been thanked: 759 times
S architekturou RISC-V jsem se v praxi setkal až teď s Pico2 RP2350, a dost se mi zalíbil. RISC-V kód je rychlý a efektivní, jen k němu chybí kvalitnější software. V RP2350 se používají pro float matematiku libc funkce, které jsou velmi pomalé. V současnosti píšu nové float funkce v assembleru RISC-V a výsledky jsou dost dobré, je to rychlostně srovnatelné s ARM funkcemi s DCP+VFP akcelerací (a zpravidla 10x rychlejší než libc funkce). Kód napsaný v assembleru RISC-V je stejně velký a rychlý jako kód v ARM assembleru. Přijde mi to být hodně perspektivní architektura.

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


Nahoru
 Profil  
 
PříspěvekNapsal: 08.10.2024, 23:25 
Offline
Radil

Registrován: 16.09.2022, 16:24
Příspěvky: 368
Has thanked: 8 times
Been thanked: 63 times
R-V ma vyhodu, ze muze cerpat ze zkusenosti predchoziho vyvoje, ktere proslapaval mimo jine ARM. Lide, kteri toho vedi o mnoho vic nez ja, tvrdi, ze RISC-V ale leze presne do problemu, ktere mel ARM (jen to jsou takove veci, ktere nebyly uplne videt).

Trosku nevyhodou je take to, ze ruzne implementace RISC-V budou asi dost odlisne - pokud koupim obvod s Cortex-M0, vim, ze bude temer stejny s jinymi Cortex-M0. U RISC-V nic takoveho neni. Jeden ma QingKe, druhy Hazard3, treti ... a padesaty ma taky neco jineho. Prochazel jsem detailneji zatim jen debugging RISC-V a specifikace dava celkem prostor na ruzna reseni, ktera spolu nemusi nutne byt kompatibilni.

Mimochodem, priklady k tomu CH32V003 jsou plne ruznych perel tohoto typu (zamerte se na promennou size):

Kód:
uint8_t SingleLine_Flash_ProgramPages(uint32_t addr, uint32_t *buf, uint32_t size)
{
      uint32_t write_size=0;
      uint8_t ack=0;
      while(size > 0)
      {
          write_size = size > flash_algo.program_buffer_size ? flash_algo.program_buffer_size : size;
          ack = SingleLineWriteMEMDirectBlock(flash_algo.program_buffer,(uint16_t *)&write_size, buf );   
          if(ack) return ack;
          ack = flash_syscall_exec(&flash_algo.sys_call_s, flash_algo.programpage, addr, flash_algo.program_buffer_size*4, flash_algo.program_buffer, 0 );   
          if(ack) return ack;
         
          addr += write_size*4;
          buf  += (write_size);  //words
          size -= write_size*4;   
      }
      return 0;
}


Nebo tohle (zamerte se na inicializaci promenne i):
Kód:
uint8_t SingleLineReadMEMDirectBlock( uint32_t addr, uint16_t *psize, uint32_t *pdbuf)
{
 
    uint8_t    ack, i;
 

SigRDBlock_Retry:
...
    if( len == 0 )
    {
 
    }
    else
    {
       ...

        ack = SingleLineCheckAbstSTA();
        i=0;
        if(ack)
        {
            if(i<5)
            {
                i++;
                goto SigRDBlock_Retry;
            }
            else
            {
                return ack;
            }
        }


       ...
    }
}
 


Dale ruzne veci toho typu, ze full chip erase se mi nepovedlo rozjet, po strankach funguje dobre.


Nahoru
 Profil  
 
PříspěvekNapsal: 09.10.2024, 12:00 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3993
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 306 times
Je to 5V tolerantní, to by šel pěknej koprocesor pro Z80, paměti je tam dost, takže by se celej problém přesunul do kopru a Z80 by to akorát plnila datama.

_________________
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říspěvekNapsal: 09.10.2024, 12:44 
Offline
Pan Generální
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 2122
Bydliště: Most, Praha
Has thanked: 960 times
Been thanked: 759 times
Na takové problémy jsem u RISC-V Hazard3 na RP2350 nenarážel. Docela dobře se s ním dělá, a je i hodně rychlý a efektivní - srovnatelný s ARMem. C programátor na RP2350 ani nepozná rozdíl na které architektuře jede, přepne přepínač a program se bez úprav přeloží pro RISC-V nebo ARMv8. RP2350 by měl mít piny 5-V tolerant, tak na to jsem zvědavý jak dobře použitelné to bude. Zatím je běžící program pro RISC-V trochu pomalejší než pro ARM, ale to si myslím je nižší optimalizací překladače, která půjde vylepšit. Když píšu rutiny v assembleru, nepozoruji rozdíl v rychlosti nebo velikosti kódu.

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


Nahoru
 Profil  
 
PříspěvekNapsal: 10.10.2024, 11:30 
Offline
Radil

Registrován: 16.09.2022, 16:24
Příspěvky: 368
Has thanked: 8 times
Been thanked: 63 times
RP2350 je vytvoren a dokumentovan "zapadnim stylem". CH32Vxxx nemaji vylozene spatnou dokumentaci jako jine cinske brouky (kde je v datasheetu jen rozsypany caj, ale registry maji nastesti anglicke nazvy prevzate od inspiracnih vzoru). Nic to nemeni ale na tom, ze ty RISC-V se asi budou dost lisit - mimo jine fyzicka ani transportni vrstva debug rozhrani neni v RISC-V nijak specifikovana, jsou standardizovane jen registry DMI. Ostatne RP2350 k R-V debugu vyuziva ARM SWD - "There is a single APB Mem-AP, at offset 0x0a000 in the debug address space, which provides access only to the RISC-V Debug Module (DM)". Mam jeste nekde v supliku zrejme obsolentni GD32VF103, na nej zkusim take mrknout. Tam zase pouzivaji JTAG. ESP32C3 zase ma JTAG, pripadne nejake USB reseni. Jadro tam je "ESP-RV", debug rozhrani dle reference manualu neumi abstract comandy :-(.

Tahle cinska produkce mi hodne pripomina pocit z RVHP pocitacu, akorat se dvema rozdily: oni delaji ve finale v urcitem segmentu konkurenceschopny produkt a na nizsi urovni, nez jsme to meli my.

Poslal jsem mail do WCH uz par mailu s pozadavky na informace a vetsinou se mi dostalo i u beznych veci odpovedi: "Sorry, these are not open." (mam chut odpovedet "Sorry, not anymore").


Nahoru
 Profil  
 
PříspěvekNapsal: 10.10.2024, 15:53 
Offline
Pan Generální
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 2122
Bydliště: Most, Praha
Has thanked: 960 times
Been thanked: 759 times
Debug na mikročipech jsem nikdy nepotřeboval. S rychlými procesy se stejně nic rozumného nezachytí. :|

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


Nahoru
 Profil  
 
PříspěvekNapsal: 10.10.2024, 21:05 
Offline
Kecka

Registrován: 12.04.2023, 08:09
Příspěvky: 32
Has thanked: 0 time
Been thanked: 7 times
S tou tragickou urovni datasheetu bych si dovolil nesouhlasit, k demonstraci pouziju starsi 8051 jadro, jednak jich mam par v supliku a taky jsem si onehda hral i s tim druhym od TI. Kazdopadne posudte sami.


Přílohy:
Poznámka: TUSB3410
tusb3410.pdf [1018.42 KiB]
69 krát
Poznámka: CH552
CH552DS1-3.PDF [785 KiB]
78 krát
Nahoru
 Profil  
 
PříspěvekNapsal: 11.10.2024, 11:55 
Offline
Radil

Registrován: 16.09.2022, 16:24
Příspěvky: 368
Has thanked: 8 times
Been thanked: 63 times
Stojim si na svem ... ale ano, existuji i horsi datasheety, treba nektere obvody MediaTeku by meli dodavat s vesteckou kouli. Rekl bych to tak, ze duvod pro spatne hodnoceni neceho neni to, ze nekdo to dokaze udelat jeste hure.

Flash registry treba nejsou komplet popsane (odpoved WCH je obvykle "That is not open"). Jak treba prehodite BootFlash a user flash ? Odpovedi je, ze to je jeden bit ze STATR registru ... ktery neni v DS popsany (ale pracuje se tam s nim!). Pominu to, ze to je STAT(us) register, asi nevedli co to znamena. Takovych veci tam jsou hromady, cim vic se clovek zacita, tim vic ma otazek bez odpovedi.


Nahoru
 Profil  
 
PříspěvekNapsal: 30.01.2025, 09:40 
Offline
Radil

Registrován: 16.09.2022, 16:24
Příspěvky: 368
Has thanked: 8 times
Been thanked: 63 times
Offtopic, ale nebudu zakladat nove tema:
https://www.youtube.com/watch?v=hbFRnPNQnoY

Pan mne ve vyzkumu trosku predbehl ... ten procesor jeste ani nemam :). A musim tedy rict, ze jsem celkem zklaman z pristupu Raspberry Pi ke komercnim zakaznikum (ve smyslu zakladniho supportu typu poslat nejake engineering samples, resp. alespon dostat tomu, co nejprve napisou a pak alespon reagovat na e-maily aby jejich odpoved davala smysl, navic pak netajit takovehle zasadni veci kdyz o nich vi !!!). RP2350 je zklamani zda se uplne na vsech stranach.


Nahoru
 Profil  
 
PříspěvekNapsal: 30.01.2025, 09:45 
Offline
Pan Generální
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 2122
Bydliště: Most, Praha
Has thanked: 960 times
Been thanked: 759 times
RP2350 není zklamání - pro amatérské použití (kde není potřeba uvedená selhávající bezpečnost) je super, jsem jím hodně nadšený. Nevím zda amatérská oblast bude pro ně dostatečným odbytištěm, ale jistě se najde spousta nenáročných oblastí, kde je nízká cena a dobrý výkon velkou předností. Za 30 Kč mít takový výkonný procesor, v tom nemají konkurenci.

(a vzhledem k dost schopnému RISC-V Hazard3 jádru ani není offtopic, je jen o zhruba 10-15% pomalejší než ARMv8)

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


Nahoru
 Profil  
 
PříspěvekNapsal: 30.01.2025, 10:01 
Offline
Radil

Registrován: 16.09.2022, 16:24
Příspěvky: 368
Has thanked: 8 times
Been thanked: 63 times
Mame kazdy asi trosku jine pozadavky :-).

Mel bych tedy dodat, ze podpora od cinana (nejen WCH) i jejich zabezpeceni je take tragedie.

Uplne nechapu, proc se vyrobci tak brani nejakemu zasadnimu uzamykani debug rozhrani a resi to pres ta OTPcka s vychozim stavem kdy je debug povoleny.


Nahoru
 Profil  
 
PříspěvekNapsal: 30.01.2025, 23:50 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2977
Has thanked: 260 times
Been thanked: 652 times
Je to prostě dětská hračka. Ale superhračka :-D
https://www.raspberrypi.com/news/can-you-hack-our-new-chip/
https://github.com/raspberrypi/rp2350_hacking_challenge
https://www.raspberrypi.com/news/security-through-transparency-rp2350-hacking-challenge-results-are-in/

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


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ů: 13 ] 

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