Hirdetés

RISC-V kalandok #1 (Mango Pi MQ-PRO)

Ez a blog bejegyzés nem termék bemutató és nem RISC-V ismertető, ezért nem készül belőle cikk. Amolyan kiírom a gondolataimat bejegyzés és feljegyzések számomra későbbre.

Bevezető

2023-ra végre megérkeztek a megfizethető, linux-os RISC-V számítógépek (SBC).

Mi az a RISC-V?

Dióhéjban egy olyan CPU architektúra (ISA), ami nyílt és ingyenes. Részletesebb leírás: [link]. Az architektúra moduláris felépítésű, opcionális bővítéseket tartalmazhat. Részletesen itt: [link].

Miért érdekes ez számomra?

A munkám (szoftvermérnök) során mindig fontosnak tartottam, hogy hatékony kódot írjak. Szerintem ezt a szokást akkor vettem fel, amikor az első munkahelyemen korai Intel Atomokra kellett szoftvert írni, ahol ezt kikényszerítette a limitált hardware. Most se jobb a helyzet, jelenleg ARM-re kell ugyanezt tennem.
X86 és ARM mellett meg szeretném ismerni a RISC-V-t is, mert ki tudja, lehet pár év múlva erre is fejlesztenem kell. Különösen az SIMD része érdekel. X86-on használtam az SSEx-n, ARM-on pedig a NEON utasításokat.
Továbbá kíváncsi vagyok arra,
- hogy áll a Linux és egyéb nyílt forráskódú fejlesztői eszközök portolása RISC-V-re. Pl. CMake, Qt, Python, NodeJS, OpenCV, FFmpeg és Docker
- tudok-e már cross-compile-olni rá C++-os kódot
- hogy működik a RISC-V vektorműveletei (SIMD). A bővítések között szerepel “pakolt-SIMD utasítások”, ami még nyitott, így valószínűleg az ezt támogató CPU-ra még várni kell

Commodore 64 kapcsoló csere

Bevezető - bevezető

Terápiás jelleggel újra megpróbálom a blogolást.
Sajnos a munkahelyem nem igazán elégít ki szakmailag, így sokat morgok munkaidő után is, ami hosszú távon nem tesz jót. A tapasztaltságnak is megvannak a hátrányai, amikor látod a problémákat, de a szűk mozgástér miatt nem igazán tehetsz ellene 🙂.

A terv az, hogy valami újjal elterelem a figyelmemet munkaidő után. Ez pedig a retrózás Commodore 64-gyel és Amiga 500-zal, meg persze ezekről való blogolás.
Egyelőre, aztán ki tudja mi kelti még fel a figyelmemet.

Bevezető - forrasztás

Retrózás miatt (is) elkezdtem forrasztani. Ha meg akarok javítani egy C64-t, vagy egy korai Amigát, akkor muszáj forrasztani. Nem is beszélve arról a sok érdekes kit-ről, amit alkatrészenként árulnak és neked kell összeforrasztani.

Szoftver mérnök vagyok, sose tanultam, sose kellett forrasztanom. Nagyon kezdő vagyok, kevés tapasztalattal, ezért az eredményt kérem ilyen szemmel nézzétek. Természetesen tanácsokat szívesen elfogadom.

Azok a régi notepad-es idők...

Azok a régi szép idők, amikor internet hiányában (és ismeret hiányában) notepad-del kódolt az ember :).

Kódkiegészítést használó IDE volt egyáltalán 2000-2004 környékén? Mintha Visual Studio 6.0-t használtam volna először C kódra 2002 után, de már nem tudom, hogy tudott-e kódkiegészítést.
Először talán turbo pascalt használtam 2000 körül, az szerintem nem tudott. Java-t, HTML-t, Javascriptet és PHP-t akkoriban notepad-ban kódoltam.

Screenshot magyarázat:
Nagy refaktorálást csinálok saját kódot, ki akartam próbáltam valamit ARM-on, de lusta voltam csinálni egy Androidos projektet. Így raspberry + leafpad + Xming segítségével próbálgattam. Igen tudom, hogy a linuxos terminált is fel lehet osztani és nano-val módosítani a file-okat, de ez valahogy emberibben néz ki. QtCreator is elérhető rapsberry-n, csak X11 forwarding esetén lassúnak érzem.

Megrendeltem a RealSense Robotic Development Kit-et, de...

... körülbelül 4 hónapnyi várakozás után visszamondták a rendelésem és visszautalták a pénzt:

Unfortunately the Intel RealSense Robotic Development Kit has not received the required certifications to ship to Hungary. We have cancelled your order for a full refund. I apologize for the inconvenience.

:W

Kíváncsi vagyok, ennek mi lehet az oka.
[link], FAQ-ban az országok listája, ahova szállítanak. Szeptemberig még a teljes EU benne volt.

UPDATE
B terv sikerült, külön-külön sikerült beszerezni.

Pi Touchscreen Display összerakva

Tegnap este elkezdtem összerakni a múltkor megrendelt kijelzőt.

Szerencsére nem bonyolult összerakni és elsőre tökéletesen működött.

A projekthez készülő GUI is remekül használható.

Néhány észrevétel (RASPBIAN JESSIE alatt tesztelve):
● Jól érzékeli a touch-t, viszont a gesztusok nem működnek.
● Nem érzékelek teljesítménycsökkenést használat közben.
● A csomaghoz nem tartozik tartó. Ha "háttal" vagy "ferdén" tartom, akkor a GPIO tüskék tartják a súlyt, ami nem túl jó. "Ferdén" nem is tudom tartani, mert a micro-usb táp útban van. A dobozát kicsit megfarigcsáltam, ezzel hidaltam át a problémát, de hosszabb távra majd ki kell találni valamit.

Dobozok!

Folytatom a külföldről rendelek érdekes dolgokat sorozatomat.

Csütörtökön befutott egy szép doboz:

Sajnos most nem volt szerencsém, mint legutóbb. A vám jól megvámolta és kifizetették a 27%-os áfát és a kijelző után a 2,7%-os vámot, bár ahogy kiszámolták, az nekem nem jön ki. További kérdéseket vet fel bennem, hogy minek kérdezik meg, hogy mi van a dobozban, mikor a csomaghoz csatolt számla alapján írják meg a vámhatározatot.
Fun fact: gyorsabban megjött a csomag Denver (CO, USA) mellől Vecsésre, mint Vecsésről hozzám. Bürokrácia...

A dobozban újabb dobozok!

Microsoft Easter egg?

Abracadabra? Ez valami easter egg lehet? Vagy lemaradtam valamiről?

Windows 10 + Visual Studio 2015 Community

Napi apró sikerek: Pi 2 és Qt

Hobbiból jelenleg Linux alá csinálom a webkamera kezelést (video4linux), hogy majd Intel Edison és Raspberry Pi 2 alatt tudjak kamerát használni. Gondoltam kicsit ismerkedek a Qt keretrendszerrel is, így GUI-t is kap a tesztprogram, de csak azon a gépen, amin fejlesztek.

Néhány hete jött a hír, hogy jön a hivatalos kijelző Pi2 alá. Rögtön tudtam, hogy venni kell majd egyet :), így GUI-s programot is érdemes lesz Pi alá készítenem.

Pi2 alá van QtCreator 2.5.0, Qt 4.8.2 és gcc 4.8. Fejlesztői Linuxos gépen pedig QtCreator 3.5.0, Qt 5.2.1 és gcc 4.8. Tartottam tőle, hogy nem fog menni, mivel főverzióban tér el a Qt. Rákerestem és lefordítható a Qt 5 is Pi alá, csak 24-38 órába kerül a fordítás...
Szerencsét próbáltam és legnagyobb meglepetésemre módosítás nélkül működött! (lásd screenshot).
Persze semmilyen különleges és új GUI komponenst nem használtam és annyit módosítani kellett a projekten, hogy csak x86 alatt legyen SSE, SSE2 és SSSE3 és ARM alatt legyen NEON.

Stabilitásteszt

Elég stabilnak tűnik a gép nem ? :)

Megfejtés: Keressétek az uptime-t

Munkahelyi krónikák #1 (Visual Studio)

Történt múlt héten, hogy új céges gépre kellett migrálnom.

Szépen felraktam a Windows 8.0-t (nem warez!) és felfrissítettem up-to-date-re (8.1). Utána következett a Visual Studio 2012 Professional (nem warez!) és ezt is felfrissítettem up-to-date-re. Minden szépen működik.

Következik a Visual Studio 2013 Professional (nem warez!). Szintén felfrissítettem. Elindítom a 2012-t és a következő fogad (nem photoshop!):

Blue screen, black screen és red screen után itt a white screen...

Kicsit elmozgattam az ablakot: