Jistě, měl jsem samozřejmě na mysli mobilní zařízení. Že ARM kompatibilní procesory vyrábí různé firmy je lepší, než kdyby byla jenom jedna, ale i tak je to na škodu věci. Například proto, že když vývojáři předpokládají v podstatě jedinou ISA, mají o to menší důvod vyvíjet multiplatformní aplikace. Přitom aplikace, které musí šlapat na různých CPU a jako takové se testují a ladí, bývají zpravidla kvalitněji implementované.
To je v mnohem pravda, ale zas tak smutne bych to nevidel.
Samotny ARM neni jedna monoliticka ISA, hodne z veci, ktere na nem bezi, nejsou "mobile only" a naopak hodne "mobile only" veci se vyviji nad vyssi urovni abstrakce, takze je od zeleza dost odstinena.
Ale jeste jednou - mas dost velky kus pravdy. Jenom bych to nevidel v dusledcich moc cerne. (zdaleka ne tak cerne jako za dob wintelu na desktopech)
No zrovna PXA jsou brouci, s kterýma jsem neměl tu čest. Sice jeden zákazník o nich uvažoval, ale nemožnost najít jakoukoliv dokumentaci pro vypracování nabídky bez podpisu NDA, nutnosti porušení NDA zapracováním dat do nabídky a předáním zákazníkovi, požadovaný MOQ u distributora a další "konkurenční výhody" Marwellu vedly k tomu, že jsem se místo nich nervoval s i.MX31.
Máš o nich nějaký zveřejnitelný info, za který bys neplatil šílenou pálku?
Aha já myslel PXA ještě když ho vyráběl Intel. Dost smutný, jestli to skončilo u Marwellu takhle :-(. Pro PXA27x datasheet normálně existuje (PXA272 Developer’s Manual), všechny registry popsaný. Ale je prostě vidět, že to nebyl nějak excelentní kus HW (na tu dobu byl možná dobrej, ale s OMAPy nad 500MHz to hnedka padalo). Třeba maximální rychlost UARTu 921kbps, ale pokud je v módu infra, tak jen 115.2kbps (nevidím důvod, klidně mohli udělat oversampling ze systémovejch hodin 104MHz). Pin mux s nepříliš velkým počtem zobrazení (třeba u SD řadiče by se hodil mux s SPI, I/O pro audio taky). Nestandardní instrukční sada iwmmxt okupující instrukční rozsah vfp (je to prý okopírovaná MMX z x86, ale třeba GCC jí neumí ani automaticky generovat).
Mě například vadila neexistence dobrého DMA řadiče, co by uměl třeba dekrementovat, a/nebo skákat po předprogramovaném inkrementu. Ta PXA je příliš pomalá na to, aby dělala třeba rotaci bitmapy v CPU při přehrávání videa.
Jinak našel jsem si na netu erraty (Marvell ® PXA270M Processor, Specification Update).
"USBH register UHCRHPSx[CCS] bit set incorrectly after power on" - klasická chyba ve VHDL :-D, ale ve finále bych to čekal opravené
"UDC does not correctly support alternate interfaces." - tenhle je skvělej, chtěli půlku protokolu nahamtat do HW, ale neprostudovali si pořádně vlastní specifikaci. Teďka kvůli tomu nefunguje pár USB protokolů (co si za chodu přepínají endpointy).
"Enabling Overlay 2 for YUV420 hangs LCD controller." - grafika se prostě zastaví :-D (grafika v PXA27x = DMA, co si tahá předžvejkaná data z RAM, maximálně tak umí přepočítat YUV na RGB)
"System Hangs when enabling RUN/TURBO switching at 520 MHz", "SDIO Devices Not Working at 19.5 Mbps", "Memory Controller hangs when entering Self Refresh Mode."
... pokud se pak člověk řídí nabídnutým řešením: "nepoužívejte to", tak to efektivně z PXA nedělá zas až tak dobrej SoC. Třeba problémový USB device je tam už od PXA 25x a i takovej 8bit microchip MCU ho má lepší (obojí USB 1.1). Mám snad i dojem, že se dostalo to prvních SoC, který už dělal Marwell (ale to bych už kecal).