Létrehozunk egy virtuális flash meghajtót a számítógépen. V-USB - USB szoftveres megvalósítása AVR-hez Emulátor készítése usb eszközhöz windows alatt

25.04.2020 Biztonság

Fejlődés különféle eszközök mikrokontrollereken alapuló - igazi számítógépes geek-hez méltó foglalkozás. Kétségtelenül minden kütyü hasznos funkciója lesz egy USB interfész a számítógéphez való csatlakozáshoz. De mi van akkor, ha az AVR chip nem támogatja az USB hardvert?

V-USB: a méret számít

A saját modul fejlesztése során gyakran felmerül a számítógéphez való csatlakoztatás problémája. Azt kell mondanom, hogy az LPT és COM portok most már egzotikusak alaplapok PC-k, nem is beszélve a laptopokról, ahol ezek az interfészek már régen eltűntek. Ezért, modern számítógépek az USB interfésznek gyakorlatilag nincs alternatívája.

Ha a chip erőforrásait száz százalékosan kihasználják, akkor jobb, ha azonnal az univerzális soros busz hardveres támogatásával rendelkező eszközök felé néz (ilyen mikrokontrollerek bármelyik gyártó sorában jelen vannak). Más esetekben puha USB-t használhat.

Az Atmel mikrokontrollerek számára van egy csodálatos V-USB projekt, amely egy alacsony sebességű USB 1.1-es eszköz szoftveres megvalósítását kínálja. A V-USB kód minden olyan AVR-eszközön működik, amely legalább 2 KB Flash-vel és 128 bájt RAM-mal rendelkezik. órajel frekvenciája 12; 12,8; tizenöt; 16; 16,8 vagy 20 MHz.

A termék használata nyílt forráskódú GPL licenc alatt és kereskedelmi alapon egyaránt lehetséges. Saját USB-eszközök fejlesztéséhez általában vásárolnia kell valamit, például licencet. De a V-USB-s srácok erről is gondoskodtak, szereztek egy pár szállítóazonosítót – termékazonosítót, és bárki használhatja azokat.

Az USB-busz és a mikrokontroller csatlakoztatásának hardveres összekötése nagyon egyszerű. Ha az eszköz nem fogyaszt túl sokat, akkor közvetlenül a buszról táplálhatja (úgy tartják, hogy a vonal USB tápegység számítógép akár 500 mA áram leadására is képes). Mivel az adatvonalak (D+ és D–) 3,6 V-os jelszintet használnak, az áramkorlátozó ellenállások mellett zener-diódák is szükségesek, hogy illeszkedjenek a chip 5 V-os logikájához. A csatlakozás típusának jelzéséhez a tápfeszültséget 1,5 kΩ-os ellenálláson keresztül "fel kell húzni" a D- vonalra.

Alternatív lehetőség az USB-n keresztüli párosításhoz a vezérlő tápfeszültségének csökkentése megfelelő stabilizáló chip vagy csak egy pár dióda segítségével. A legújabb séma megtalálható a V-USB projekt honlapján.

Programozó USBtiny

Az AVR mikrokontrollerekhez sokféle programozó létezik. Az USBtiny részben azért szerepel itt, mert a V-USB-hez hasonló USB-szoftver megvalósítást tartalmaz. Ennek a programozónak a sémája egyszerű: a 2-es verzió két mikroáramkört tartalmaz, az első verzió pedig csak egyet (magát az ATtiny2313 chipet). Köszönet Részletes leírás az oldalon és egy egyszerű alkatrész, a készülék könnyen elkészíthető kezdőknek is. Az USBtiny kompatibilis az AVR mikrokontrollerek programozására használt népszerű avrdude programmal.

Az egyetlen probléma a firmware feltöltése a programozói chipbe - ehhez ... programozóra van szüksége. Ha van LPT porttal rendelkező számítógép, akkor elkészítheti az FBPRG opciók egyikét, más néven "öt vezetéket", ami vas.

A szán előkészítése

Az USB kütyü legegyszerűbb firmware-ének megvalósításához szükséges szoftvereszközök rendkívül aszketikusak: a gcc-avr fordító, az avr-libc könyvtár, az avrdude programozó és az AVR-hez beállított binutils. Debian/Ubuntu rendszeren minden, amire szüksége van, egyetlen paranccsal telepítve van:

$ sudo apt-get install avrdude binutils-avr gcc-avr avr-libc

Az internet hatalmas kiterjedésein könnyű megtalálni nagyon részletes útmutató V-USB-n és libusb-n keresztül (angol nyelven). A kézikönyv szerint ahhoz, hogy USB támogatást adjon a projekthez, szüksége van az archívumból az usbdrv mappára. legújabb verzió V USB. A mappa gyökerében az usbconfig-prototype.h konfigurációs sablon található. A fájlról másolatot kell készítenie, és el kell neveznie usbconfig.h-nak. Következő - javítsa ki az usbconfig.h fájlt, megadva a portot (D), amelynek vonalait az I / O-hoz használják, közvetlenül a D + (2) és D - (3) sorszámokat, valamint a frekvenciát (12 MHz) ), amelyen a chip működik (ATtiny2313):

#define USB_CFG_IOPORTNAME D #define USB_CFG_DMINUS_BIT 3 #define USB_CFG_DPLUS_BIT 2 #define USB_CFG_CLOCK_KHZ 12000

Egy eszköz V-USB licencének használatához a gyártót és az eszköz numerikus azonosítóit nem kell módosítani. A szimbolikus nevek azonban tetszés szerint választhatók (lehetővé teszik, hogy megkülönböztessen több, ugyanahhoz a számítógéphez csatlakoztatott V-USB-eszközt):

#define USB_CFG_VENDOR_ID 0xc0, 0x16 #define USB_CFG_DEVICE_ID 0xdc, 0x05 #define USB_CFG_VENDOR_NAME "n","e","t","s","4","g","e","e","k" "s",","c","o","m" #define USB_CFG_VENDOR_NAME_LEN 14 #define USB_CFG_DEVICE_NAME "U","S","B","e","x", "a" "m", "p", "l", "e" #define USB_CFG_DEVICE_NAME_LEN 10

Különféle kütyük

Van valami készülék ötlete? Ne rohanjon a forrasztással és kódolással, de nézze meg, talán valaki már megtette ezt. Ha nem tud kész sémákat és forráskódokat használni, akkor legalább nem kell mindent elölről kezdenie.

Például a V-USB projekt, az engedélyezési politikájának köszönhetően, megfelelő bázist halmozott fel kész (beleértve a szabadon terjesztett) megoldásokat is. Itt találhat különféle billentyűzet-megvalósításokat, USB adaptereket joystickokhoz, gamepadokat (beleértve a ritka típusokat is, mint pl. SNES / NES, Nintendo 64, ZX Spectrum joystick, Sony PlayStation 1/2) és hasonlók. DMX adapterek, virtuális COM és UART portok, i2c, szervo, vezeték nélküli interfészek DCF77, IR - minden, ami segít több új eszköz csatlakoztatásában a számítógéphez. A naplózók, jelátalakító és érzékelő platformok, LCD adapterek, programozók és rakodók szintén hasznosak lehetnek a gazdaságban.

A chip programja elemi!

Amikor interakciót folytat a buszon USB számítógép az a fő eszköz, amely időszakonként vezérlési kérés üzeneteket küld. A vezérlő, illetve szolga, és válaszolnia kell a kérésekre. A vezérlőüzenet formátumát az usbdrv.h fájl usbRequest_t szerkezete határozza meg:

Typedef struct usbRequest ( uchar bmRequestType; uchar bRequest; usbWord_t wValue; usbWord_t wIndex; usbWord_t wLength; ) usbRequest_t;

Hozzuk létre a main.c fájlt az usbdrv mappával azonos szinten, és írjuk le benne a szükséges fejlécfájlokat, definíciókat és változókat:

#beleértve #beleértve #beleértve #include "usbdrv.h" #define F_CPU 12000000L // MCU frekvencia #include #define DATA_OUT 1 // Parancs küldése #define DATA_IN 2 // Parancs fogadása // Static puffer uchar replyBuf = "Hello World!"; static uchar dataLength = 0, dataReceived = 0;

A main.c-ben újradefiniáljuk az usbFunctionSetup függvényt, amely automatikusan meghívásra kerül, ha új kérés érkezik:

USB_PUBLIC uchar usbFunctionSetup(uchar data) ( usbRequest_t *rq = (void *)data; switch(rq->bRequest) ( case DATA_OUT: // Adatküldési parancs feldolgozása usbMsgPtr = replyBuf; // Puffer return sizeof(replyBuf); / Visszaadja a puffereset méretét DATA_IN: // A parancs feldolgozása az adatok fogadására dataLength = (uchar)rq->wLength.word; // A dataReceived = 0 hosszának lekérése; // Sok usbFunctionWrite hívás lesz if(dataLength > sizeof(replyBuf)) // Túlcsordulás ellenőrzése dataLength = sizeof(replyBuf); return USB_NO_MSG; // Return 255 ) return 0; )

Amint az a listából látható, az adatok számítógépre küldésének legegyszerűbb módja az, hogy az usbFunctionSetup paramétert úgy állítja be, hogy az usbMsgPtr-t a RAM-pufferre (replyBuf) mutasson, ahol az adatok találhatók, majd visszaadja a hosszát. A puffer mérete nem haladhatja meg a 254 bájtot. A 128 bájt RAM-mal rendelkező ATtiny2313 számára ez elég. A funkcionálisabb eszközök esetében van egy másik lehetőség is – az usbFunctionRead funkció újradefiniálása.

Az adatok beszerzéséhez először az usbFunctionSetup függvényben ki kell vonnunk az üzenet hosszát a kérelem wLength mezőjéből, és el kell tárolnunk a dataLength globális változóban. Másodszor, a main.c-ben újra kell definiálni az usbFunctionWrite függvényt, amely a fogadott adatok feldolgozására szolgál, és automatikusan (és nyilván többször is) meghívódik, ha az usbFunctionSetup az USB_NO_MSG (255) függvényt adja vissza:

USB_PUBLIC uchar usbFunctionWrite(uchar *data, uchar len) ( uchar i; // Az adatok fogadott részének mentése a(i = 0; dataReceived) pufferébe< dataLength && i < len; i++, dataReceived++) replyBuf = data[i]; return (dataReceived == dataLength); }

Valójában az usbFunctionWrite függvény kitölti a replyBuf puffert a kapott adatokkal.

Egyébként, hogy ez a módszer működjön, módosítania kell az usbconfig.h fájlt:

#define USB_CFG_IMPLEMENT_FN_WRITE 1

Nos, a firmware utolsó funkciója a fő:

Int main() ( usbInit(); // USB usbDeviceConnect() inicializálása; // Eszköz csatlakoztatása sei(); // Megszakítások engedélyezése // Végtelen ciklusban várja meg a vezérlőüzeneteket, while(1) usbPoll(); return 0 ;)

USART/UART engedélyezése

A szoftveres / hardveres USB jó alternatívája a népszerű USART / UART interfész használata a chipben egy harmadik féltől származó, ennek a protokollnak az USB-re konvertálójával, amely például az FT232RL chip alapján hajtható végre.

Libusb: sem felöltözve, sem meztelenül

Azt kérdezi: kell-e illesztőprogramot írni a számítógép operációs rendszeréhez, hogy USB-eszközt csatlakoztathasson? Ha libusb-t használ, akkor megteheti egy teljes értékű kernelmodul megvalósítása nélkül. A Libusb egy nyílt forráskódú könyvtár, amely lehetővé teszi, hogy gyorsan programozzon, egyrészt keressen egy eszközt a buszon, másrészt adatot cseréljen vele.

Linux alatt a könyvtár és a szükséges fejlécek a forráskódokból szerezhetők be. És jobb, ha a disztribúció szabványos tárházát használja. Debian/Ubuntu esetén például:

$ sudo apt-get install libusb-dev

A libusb Windows-portja is van, a libusb-win32. A projekt nevével ellentétben a Microsoft 64 bites operációs rendszerei is támogatottak (az 1.2.0.0 verziótól kezdve).

De a libusb egy külön beszédtéma. Szerintem ismered a PC-s programozást, és magad is rájössz. Ezért rövid leszek. Létrehozzuk az usbtest.c fájlt, és elkezdjük feltölteni tartalommal. Először is, a szükséges fejlécfájlok és definíciók:

#beleértve [...] // Számítógépnél a parancsok jelentése fordított, // de a megnevezések ugyanazok maradnak #define DATA_OUT 1 #define DATA_IN 2

usbOpenDevice funkció az eszköz inicializálásához:

Usb_init(); // USB inicializálása usb_find_busses(); // Buszok keresése usb_find_devices(); // Eszközök keresése // Hurok az összes busz között for(bus=usb_get_busses(); bus; bus=bus->next) ( // Hurok a buszon lévő összes eszközön keresztül for(dev=bus->devices; dev; dev= dev-> next) ( // Ha a szállító és a termékazonosító nem egyezik... if(dev->descriptor.idVendor != vendor || dev->descriptor.idProduct != product) folytassa; // ... kihagyja ezt az iterációt // Próbáld meg lekérni az eszközkezelőt if(!(handle = usb_open(dev))) ( fprintf(stderr, "%s\n", usb_strerror()); folytassa; ) return handle; // Return handle ) ) // Az eszköz nem található vissza NULL;

Mint látható, az usbOpenDevice paraméterei a gyártó és az eszköz numerikus azonosítói. Ha az eszköz jelen van a buszon, a fogantyúja visszakerül. Ha több eszköz van a V-USB-n, akkor be kell jelölnie a szállító és a termék szimbolikus nevét.

És az usbtest konzol segédprogram fő funkciója:

Int main(int argc, char **argv) ( // Eszközkezelő usb_dev_handle *handle = NULL; int nBytes = 0; char puffer; // Eszközleíró keresése = usbOpenDevice(0x16C0, 0x05DC); if(handle == NULL) ( fprintf(stderr, "Nem található USB-eszköz!\n"); exit(1); ) // Argumentum ki - adatok lekérése a chipről if(strcmp(argv, "out") == 0) ( nBytes = usb_control_msg (handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, DATA_OUT, 0, 0, (char *)puffer, sizeof(buffer), 5000); printf("%d bájt van: %s\n", puffer nBytes ; // Argumentum - string küldése (következő argumentum) ) else if(strcmp(argv, "in") == 0 && argc > 2) ( nBytes = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT, DATA_ENDPOINT_OUT, DATA , argv, strlen(argv)+1, 5000); ) if(nBytes< 0) fprintf(stderr, "%s\n", usb_strerror()); usb_close(handle); // Закрыть дескриптор return 0; }

Az usb_control_msg függvény, amely a mellékelt usb.h fájlban van deklarálva, itt szabályozza a labdát. Egy csomó paraméterrel rendelkezik, és valójában létrehozza azokat a vezérlő üzeneteket, amelyek feldolgozása a mikrokontroller firmware-jében van megvalósítva.

Proteus pihen

A közkedvelt Proteus ISIS elektromos áramkör-szimulátor haszontalan USB szoftvereszközök fejlesztésekor. USB-emulátora csak az Universal Serial Bus (például AT90USB646 vagy AT90USB1286) hardveres támogatásával rendelkező chipeket támogatja.

Gyűjtünk, villogunk, tesztelünk

Az alábbiakban egy kicsi, de nagyon hasznos Makefile található, a main.c és az usbtest.c fájlokból származó make parancs segítségével könnyen beszerezhető a chip firmware - main.hex és az usbtest segédprogram binárisa:

CC = avr-gcc OBJCOPY = avr-objcopy CFLAGS = -Wall -Os -Iusbdrv -mmcu=attiny2313 OBJFLAGS = -j .text -j .data -O ihex OBJECTS = usbdrv/usbdrv.o usdrvas/bdrv us/oddebdrvv. .o main.o CMDLINE = usbtest # Cél: mindent összeállít: main.hex $(CMDLINE) # Segédprogram összeállítása a számítógéphez $(CMDLINE): usbtest.c gcc -I ./libusb/include -L ./libusb/lib /gcc -O -Wall usbtest.c -o usbtest -lusb # Projekt tisztítása bináris kódból clean: $(RM) *.o *.hex *.elf usbdrv/*.o # Firmware fájl lekérése elf fájlból %. hex : %.elf $(OBJCOPY) $(OBJFLAGS) $< [e-mail védett]# Elf fájl készítése main.elf: $(OBJECTS) $(CC) $(CFLAGS) $(OBJECTS) -o [e-mail védett]# V-USB könyvtár fájlok létrehozása $(OBJECTS): usbdrv/usbconfig.h # C %.o objektumkódhoz: %.c $(CC) $(CFLAGS) -c $< -o [e-mail védett]# asm a %.o objektumkódhoz: %.S $(CC) $(CFLAGS) -x assembler-with-cpp -c $< -o [e-mail védett]

A firmware feltöltéséhez a mikrokontrollerre az usbtiny programozó segítségével írjuk be a következő parancsot:

$ sudo avrdude -p t2313 -c usbtiny -e -U flash:w:main.hex:i -U lfuse:w:0xef:m

Az avrdude-ban a biztosítékok nem túl egyértelműen vannak beállítva, de könnyen kiszámolhatók valamelyik online számológépben.


Csatlakoztatjuk az eszközt a számítógéphez, és ellenőrizzük, hogyan működik (az usbtest az out paraméterrel egy sort olvas, a be - írja a megadott sort a chip pufferébe):

$ sudo ./usbtest in all_ok $ sudo ./usbtest out

Egy kanál kátrány

A puha USB nem csodaszer. A szoftvermegvalósítások általában számos egyszerűsítést tartalmaznak, mint például az ellenőrzőösszeg-ellenőrzés hiánya és a csatornaszimmetria, ami negatívan befolyásolja a zajtűrést. Ezenkívül a szoftverkönyvtárak általában alacsony sebességű USB-módokat használnak. Igen, és az USB-könyvtár kódja "megeszi" a chip amúgy is kicsi memóriáját.

Kukucskál...

Logikai szinten az USB protokoll lényegében egy többrétegű csomagkapcsolt adatátvitel. Ezt könnyű ellenőrizni (és egyben sok érdekes dolgot megtudni az USB-ről) a Wireshark hálózati protokollelemző segítségével. Először le kell töltenie az USB monitor illesztőprogramját:

$ sudo modprobe usbmon

Most már kiválaszthatja az USB buszokat a Wireshark interfészek listájából. A naplókban láthatja például az eszköz buszszámát.

Következtetés

Remélem, miután megtanulta a számítógép és az AVR mikrokontroller közötti adatátvitelt, az elektronika iránti szenvedélye újult erővel lobban fel, és számos eredeti és hasznos eszközt eredményez. Csak sok sikert kívánok Önnek ezen a nehéz, de érdekes területen.

Project Olof Lagerkvist, kiváló program a lemezek emulálására, de mivel mindenki tud lemezeket emulálni, nem mindenki büszkélkedhet flash meghajtó vagy hajlékonylemez létrehozásával. A lemezek virtuális memóriában készülnek, fizikailag fájlképekbe tölthetők fel. A telepítés után a program elérhető a PC vezérlőpultjáról.

Kattintson az "OK" gombra, és a virtuális kép készen áll.

Kép
A kép szükség esetén menthető és felhelyezhető. Hol hasznos? Például a lusták számára egy ilyen virtuális pendrive-ra feltöltheti a CryptoPro tanúsítványait.)) Vagy használhatja lemezként a RAM-ban a gyorsítótár, a swap fájl és egyéb dolgok tárolására.
Van egy alternatív grafikus felhasználói felület is -

Automatikus csatlakozás:
visszhang ki
rem autoload-ba helyezve az automatikus rögzítéshez
c:\WINDOWS\system32\imdisk.exe -a -f "%PROGRAMFILES%\flash.img" -m f: -o rem

Néhány parancssori opció:

imdisk.exe -e -s 300M -m B: - növelje a B lemezt 300 MB-al

imdisk -a -t fájl -o ro -m y: -f C:\Boot.img- Boot.img kép rögzítése Y meghajtóval, csak olvasható

imdisk -a -t fájl -m y: -f C:\Boot.img- Boot.img kép csatolása az Y meghajtóra, csak olvasható/írható

imdisk -d -m y: - válassza le az Y meghajtót

imdisk -a -s 150M -m #: -p "/fs:ntfs /y /q /v:imdisk- hozzon létre egy 150 MB-os lemezt, az első meghajtó betűjele ingyenes, NTFS formátum, imdisk meghajtó címke

imdisk -a -s 10% -m #: -p "/fs:ntfs /y /q /v:imdisk- megegyezik az előzővel, csak a méret 10 százaléka van feltüntetve szabad memória.

imdisk -a -s -500M -m #: -p "/fs:ntfs /y /q /v:imdisk- ugyanaz, mint az előző, csak a méretet mínuszjel jelzi, vagyis egyenlő a szabad memória mennyiségével mínusz a megadott méret. 1200 MB szabad memóriával a lemez mérete 1200-500=700 MB lesz

imdisk.exe -a -t proxy -o ip -f 127.0.0.1:80 -m Z:- a szerverrel való használat, az interneten található, valójában nem ellenőrizte.

A - Vezetékes csatlakozás korong.

D - Wirth letiltása. korong.

E - Wirth szerkesztés. korong.

_________________________

B - adja meg az eltolást, azaz a lemezen lévő adatok elejét, amely a ben létrehozott lemezekre vonatkozik különböző programokat, amelynek képeiben ki akarja hagyni a fájl kezdeti attribútumait.

S a virtuális lemez mérete. A méret a bájtok száma, hacsak nincs utótag: a (automatikus), b (512 bájt blokkok száma), k (ezer bájt), m (millió bájt), g (milliárd bájt), t (trillió bájt), K (kilobyte), M (megabájt), G (gigabájt) vagy T (terabájt). Ezer bájt és kilobájt abban különbözik, hogy egy kilobájtban 1024 bájt van, nem 1000. Például. -s 150M vagy -s 10% - 10% szabad memória. A -500M paraméter - mínuszjellel a létrehozott lemez méretét a szabad memória mínusz a megadott méretben határozza meg.

O - opciók beállítása, az alábbi opciókkal együtt használatos

ro - csak olvasható

rw - olvasás/írás

rem - telepítse cserélhető lemezként (flash meghajtóként). Ez határozza meg a lemez tulajdonságait, a gyorsítótárat és egyebeket.

fix – állandó, fix meghajtóként beállítva (a rem-el ellentétben)

cd - virtuális CD-ROM/DVD-ROM létrehozása.

fd - floppy lemez létrehozása. Alapértelmezés a 160K, 180K, 320K, 360K, 640K, 720K, 820K, 1200K, 1440K, 1680K, 1722K, 2880K, 123264K vagy 234752K esetén.

hd - hozzon létre egy kemény partíciót.

ip - proxy szerverhez való csatlakozás paramétere.

comm - kapcsolat a memóriaszerverrel COM porton keresztül.

________________

M - Megadja a meghajtó betűjelét. Például -m B: vagy -m y: vagy -m #: a meghajtó első szabad betűjele.

F - fájlnév virt. meghajtó, például -f C:\Boot.img vagy -f \\server\share\image.bin vagy -F \Device\Harddisk0\Partition1\image.bin- az utolsó, amikor a meghajtóbetűjel nincs hozzárendelve, és a definíció kemény szám, partíciószám (logikai lemez), majd a valós elérési út.

11

Van egy Linux-alkalmazásom, amelynek bizonyos tesztjeit automatizálni szeretném, és az állapotát bizonyos eszközök állapota alapján kell módosítani, pl. USB-eszközök, WLAN-eszközök, WAN-eszközök. Azonban már nem rendelkezünk fizikai USB, WLAN, WAN stb. eszközökkel, ezért ki kell találnom egy módot a program tesztelésére anélkül, hogy ténylegesen csatlakoztatnám. fizikai eszközök, kapcsolja be/ki őket stb.

azzal kezdem egyszerű alkotás egy virtuális USB-eszköz, amit a felhasználói térből vezérelhetek, de részemről alapvető tudáshiány miatt nem tudok ezeken a fórumokon lévő hasonló szálak közül bármelyiket átvenni és alkalmazni a projektemben. Úgy érzem, létre kell hoznom valamiféle virtuális usb-illesztőprogramot, majd nem usbfs-hez, hanem valamilyen felhasználói szintű programhoz kell kapcsolnom. Azonban még ha létrehozom is ezt a virtuális illesztőprogramot, hogyan "csatolhatom" ezt az eszközt a felhasználói területről, és regisztrálhatom a programomat ezzel az illesztőprogrammal? Egyáltalán lehetséges az, amit próbálok?

  • 2 válasz
  • Válogató:

    Tevékenység

0

Nem tudod tesztelni az alkalmazást virtuális környezetben a VMWare segítségével? Ezután a számítógépén lévő bármely virtuális eszközt "csatolhat" a vendéghez Virtuális gépés tesztelje az alkalmazást ilyen módon.

8

A legjobb módja a Linux modul illesztőprogramjainak és hardverének használata, amely lehetővé teszi, hogy USB-eszköz legyen. A minialkalmazás-illesztőprogram lehetővé teszi a számítógép számára, hogy bármilyen eszköznek "játssza magát". Ezután a tesztelt rendszer egy USB OTG-kábellel rendelkezik a modulhoz. Még a kábelt sem kell kihúznia, ha a kütyü megfelelő hardverrel rendelkezik. A "kütyüdoboz" lehet a Linux asztali számítógépe/laptopja (amennyiben támogatja az USB OTG-t), vagy akár egy Android telefon vagy Raspberry Pi. (Vigyázz, hogy az USB-kábelek kiszívják. Csak azért, mert a kábel illeszkedik, még nem jelenti azt, hogy megfelelően csatlakozik az USB OTG-hez.).

Ha megfelelő az USB OTG hardver, a moduldobozok készen állnak szoftver:

1) Ha a tesztelt eszköz támogatja az OTG-t, győződjön meg arról, hogy a modul nem próbálkozik, és nem USB-gazdagép. (Ezután a tesztelés alatt álló készüléked USB-klienssé válik.) Azaz. győződjön meg arról, hogy az olyan dolgok, mint például az usb_storage, nem töltődnek be automatikusan.

2) A kernel támogatja az USB-elosztók, USB-Ethernet, USB-soros portok és USB-meghajtók moduljait. Csak töltse le szükséges modulokat a kütyübe, és „csak működik”. Például egy USB-meghajtó létrehozásához tegye a következőket: " insmod g_file_storage.ko file=/dev/ram0 ". A túlsó oldal azt hiszi, hogy USB-meghajtót csatlakoztatott.

Soros eszközök esetén a kütyü képes felhasználói térkódot futtatni, amely „felveszi a telefont a /dev/usbx mappába”, és beszél a tesztelt eszközzel. (Vélhetően emuláló 4G modem vagy bármi más.)

Rengeteg eszköz valóban "USB soros" a motorháztető alatt, mert a gyártó lusta volt az USB megértéséhez.

3) Egy kis újrafordítással vagy módosítással használhatod ezeket az általános eszközöket kütyüként, azonosítóként, vagy különböző gyártói karakterláncok visszaküldésére, stb. Ez nem ugyanaz, mint "valódi hardveren tesztelni", de legalább te tesztelsz szabványos változat ezeket az eszközöket.

4) Az olyan eszköztípusok esetében, amelyek még nincsenek a magban (például Wi-Fi vagy bármi más), egyedül maradhat. Elegendő verejték és vérkönnyek birtokában megírhatja saját típusú kütyüjét. (Ideális esetben a lehető legtöbbet használja a felhasználói területen, és csak a kritikus összetevőket dolgozza fel a kernelben.)

Néha olyan helyzet adódik, amikor flash meghajtóra van szüksége, de nincs kéznél. Például egyes számviteli és jelentéskészítő programok megkövetelik külső meghajtó. Ilyen helyzetben létrehozhat egy virtuális tárolóeszközt.

Speciális szoftver segítségével ez többféleképpen is megtehető. Tekintsük mindegyiket lépésről lépésre.

1. módszer: OSFmount

Ez a kis program sokat segít, ha nincs kéznél pendrive. A Windows bármely verzióján működik.

A program letöltése után tegye a következőket:



Ez a program igényelheti további funkciókat. Ehhez lépjen be a főablakba az elembe Drive Actions. Ezután a következő lehetőségeket használhatja:

  • Dismount – a kötet leválasztása;
  • Formátum - kötet formázása;
  • Média írásvédett beállítása – tiltja a rögzítést;
  • Extendsize – kibővíti a virtuális eszköz méretét;
  • Savetoimagefile – a kívánt formátumban történő mentésre szolgál.

2. módszer: Virtuális flash meghajtó

Jó alternatíva a fenti módszerhez. Virtuális flash meghajtó létrehozásakor ez a program lehetővé teszi a rajta lévő információk jelszóval történő védelmét. Ennek előnye a Windows régebbi verzióiban nyújtott teljesítmény. Ezért, ha a Windows XP vagy régebbi verziója van a számítógépen, ez a segédprogram segít gyorsan elkészíteni egy virtuális tárolóeszközt a számítógépén.

A program használatára vonatkozó utasítások így néznek ki:

  1. Töltse le és telepítse a Virtual Flash Drive-ot.
  2. A fő ablakban kattintson a gombra "Új felszerelés".
  3. Megjelenik egy ablak "Új kötet létrehozása", adja meg a virtuális média létrehozásának elérési útját, majd kattintson "RENDBEN".


Mint látható, a program használata nagyon egyszerű.

3. módszer: ImDisk

Ez az egyik legtöbb népszerű programok virtuális lemez létrehozásához. Képfájl vagy számítógépmemória segítségével létrehozza virtuális lemezek. Ha speciális billentyűket használ a betöltésekor, a flash meghajtó virtuális cserélhető lemezként jelenik meg.


4. módszer: Felhőbeli tárolás

A technológia fejlődése lehetővé teszi virtuális pendrive-ok létrehozását és információk tárolását az interneten. Ez a módszer egy olyan fájlokat tartalmazó mappa, amely egy adott felhasználó számára elérhető bármely internetre csatlakozó számítógépről.

Ilyen adattárak a Yandex.Disk, a Google Drive és a Cloud Mail.ru. A szolgáltatások használatának elve ugyanaz.

Fontolja meg, hogyan kell dolgozni a Yandex Disk-el. Ez az erőforrás lehetővé teszi, hogy 10 GB-ig ingyenes információkat tároljon rajta.



Az ilyen virtuális tárolóeszközzel való munka lehetővé teszi az adatok teljes körű kezelését: mappákba csoportosíthatja őket, törölheti a szükségtelen adatokat, és még a rájuk mutató hivatkozásokat is megoszthatja más felhasználókkal.

Mi ez és miért van rá szükség?
Ha az autóban lévő rádióban van CD váltó bemenet, akkor rá lehet kötni egy hasonló adaptert, az megtéveszti a rádiót és úgy dönt, hogy váltó van rá csatlakoztatva, lemezek helyett pedig egy rendes pendrive zenét használnak. Az adapter vezérelhető rendszeres eszközökkel beleértve a kormánykerék kezelőszerveit is.

Az ilyen adapterekről már több vélemény is született a Muskán, a leghíresebbek a kínai Yatour.

Úgy döntöttem, hogy nem szabványos utat választok, úgy döntöttem, hogy kipróbálom az orosz Trioma Flipper 2-t.
Általános értékelés - kiváló, elégedett a vásárlással, ajánlom.

A részletekért kérjük, a macska alatt

Előszó

Van egy egyszerű vágy - zenét akarok hallgatni az autóban. A rádióban nem mindig van valami megfelelő, elege van abból, hogy egy csomó CD-t cipeljen magával, és folyton rögzítse.
A 2007-es Peugeot 407-emben van egy GU (Head Unit), később egyszerűen rádiónak nevezték, USB, bluetooth és még a szokásos AUX bemenet nélkül is.

Ha az autóban van egy közönséges rádiós magnó, amely nem kötődik a gép egyetlen funkciójának vezérléséhez, akkor a legegyszerűbb, ha vesz egy új rádiós magnót. Egy USB bemenettel ellátott márkás rádió száz eurón belül megvásárolható. Valamivel több összeget kell költeni, hogy megértse a kormánykerékről érkező kezelőszerveket.

Játszhatsz és csatlakoztathatsz AUX (audio) bemenetet, de hangforrásra akkor is szükséged lesz, a kormányzást pedig el kell felejtened.

Nagyon régen elvetettem az FM adókkal kapcsolatos lehetőségeket - kipróbáltam pár különböző adót, a hangminőség nem volt túl jó.

Van egy másik módja is, csatlakoztasson egy adaptert a rádióhoz a CD-váltó bemenetéhez, amely lehetővé teszi, hogy zenét hallgathasson flash meghajtókról, az adaptert a rádió szabványos eszközeivel vezérelve, beleértve a kormánykerékről is. Hasonló adaptereket találhatsz itt különböző gyártók Val vel különböző paraméterekés minőségben, megbízhatóságban, kényelemben vagy árban különbözik.
A leghíresebb adapter a Yatour. A legmenőbb talán az amerikai Grom Audio, amely többek között FLAC-ot játszik le. Nos, még néhány eszköz – Audiolink, Xcarlink, DMC, Dension.

Először is a yatourt kezdtem el nézni. Az ali 50 dollártól kezdődik. De az internetes vélemények kissé lecsillapították a lelkesedést. Az adapter lineáris kimenettel rendelkezik, fix szinttel, így sok rádiós magnónál a hangerő észrevehetően alacsonyabb, mint a rádióé. Néha instabil munka, lefagy, kritikus a flash meghajtón lévő idegen fájlok jelenléte. A támogatott könyvtárak száma - hány lemezt támogat a rádió, esetemben 6.

A Yatournak nincs hivatalos weboldala, a Yatour internetes webhelyei az eladók webhelyei. Az információkat pedig apránként kell gyűjtögetni különböző helyeken, többnyire azok iratkoznak le, akik maguknak telepítették, de a tapasztalatuk nem mindig megfelelő az Ön rádiójához.
De szerencsém volt, belebotlottam a fehérorosz eladó Yatour Sergey-be, más néven SSD-be, aki minden kérdésemre válaszolt, beleértve a rádióm használatának jellemzőit is.
Általában működik, de előfordulhatnak problémák a hangerővel és instabil munka. Szergejtől hallottam először a Grom Audio-ról és a Triomról is, amelyeket szintén ő árul.

Az Android Grom Audio támogatja a FLAC-ot, de az autómhoz nincs modell.

De a Trioma Flipper 2 érdekelt. Mindenekelőtt a kimeneti szint (hangerő) beállításának lehetősége. Ráadásul sokkal kényelmesebb a mappák rendszerezése, és sokkal több is lehet. És sokkal kevésbé bugos.
Kölcsönözve jó asztal Yator vs Trioma összehasonlítások


A Yatura pontosítása:
1. Az idegen fájlok nem zavarják a lejátszást. Legalábbis bizonyos firmware-eken.

Szóval, én választottam. Trioma!!!
Ilyen adapter vásárlásakor mindenképpen válasszon modellt az autójához. Pontosabban az autója autórádiója alatt. A különböző rádiós magnók eltérő csatlakozókkal rendelkezhetnek a váltóhoz, amelyek nem kompatibilisek egymással.

Hol lehet megvásárolni a Triomát?

A gyártó honlapján vannak olyanok, akik Trioma termékeket árulnak. Nincs probléma az adapter megvásárlásával Oroszországban vagy Fehéroroszországban. És Európában, ahol könnyebben tudok vásárolni, és nem kell vámot és áfát fizetnem, az árak kétszer magasabbak, 120 eurótól szállítási költség nélkül.

Elkezdtem keresni olyan barátokat, akik hoznának nekem adaptert Oroszországból vagy Fehéroroszországból. Megtalált!!! Találtam egy barátot Oroszországból, aki február elején rendelt és hozott nekem egy adaptert! Oleg, köszönöm!

És itt van az adapter a házamban!



A készlet tartalmazza magát az adaptert, egy kábelt a rádióhoz való csatlakozáshoz és USB kábel.
A rádióhoz csatlakoztatható kábel hossza mindössze 40 cm, ami azonnal korlátozza az adapter elhelyezését az autóban - közvetlenül a rádió mögé kell helyezni, még a kesztyűtartót sem lehet elérni vele. .
Az adapter körülbelül akkora, mint egy cigarettásdoboz. Egyszerű műanyag doboz kiálló kábellel az aleszközök vagy AUX kábelek csatlakoztatásához. Azonban miután csatlakoztatom az adaptert a rádióhoz, senki más nem fogja látni.
Ezen kívül vettem egy AUX kábelt minijack-vel a végén (+500r)


Még pár kép

Csatlakozó további eszközökhöz, AUX kábel vagy bluetooth adapter


anya adapteren


apa kábelen


Csatlakozó az RD4 rádióhoz


Ne nyissa ki, garancia


Telepítés

Az RD4 rádiós magnót, csavarja ki a két csavart hatszögletűvel és vegye ki a rádiós magnót.

Két megfelelő csatlakozó található a hátoldalon, az egyik nem fog működni - ellenőrizve;)
A képen a szükséges csatlakozó látható. A váltó csatlakoztatására már be van kötve, kihúzzuk a beépített csatlakozót és bekapcsoljuk a miénket.


Csatlakoztatjuk a kábelt az adapterrel, bekapcsoljuk a gyújtást és csoda - minden azonnal működött !!! A hangerő szintje pedig nagyjából ugyanaz, mint a beépített CD-n.

De aztán elkezdünk gondolkodni - hova tegyük az USB-kábelt. Az én esetemben az volt a legegyszerűbb, ha a kormány alatti kábelt egy kis kesztyűtartóba dobtam a vezetőtől balra.


Maga az adapter a rádió bal oldalán lévő fülkébe került. Ott nem sok a hely, a rádió helyére szerelése után az adaptert kábelekkel szorították oda, így nem kellett pótlólagosan rögzíteni az adaptert.

Minden fórumon azt írják, hogy a rádió megköveteli a váltó aktiválását a szolgáltatásban. Nekem sokkal könnyebbnek bizonyult. Bekapcsolás után a rádió maga állapította meg, hogy váltó van rá csatlakoztatva, és lehetővé vált a bemeneti kapcsolón (rádió / CD / váltó) keresztül történő kiválasztása.
Mint kiderült, nem a rádióhoz, hanem a kijelzőhöz kell aktiválni, hogy az információkat tükrözhessen a váltó számára.
De hat hónappal ezelőtt én és a kínaiak, jól sikerült, küldünk egy kijelzőt az összes aktivált funkcióval. Szóval minden működött nekem további aktiválás nélkül.

Adapter működése

Hangminőség.Összehasonlítható a CD lejátszóval. Az autó standard akusztikája meglehetősen közepes, így biztosan nem fogod hallani a különbséget az autómon lévő szokásos CD-lejátszóval.
Kapcsolási sebesség. Kevesebb, mint néhány másodperccel a gyújtás bekapcsolása után egy pár tucat könyvtárat tartalmazó flash meghajtón. A fórumokon azt írják, hogy több száz könyvtárral kisebb a sebesség. Az adapter megjegyzi, hol játszott a kikapcsolása előtt, és ugyanarról a helyről kezdi meg a lejátszást. Ez az ingatlan értékes azok számára, akik szeretnek hangoskönyveket hallgatni. Az adapter megjegyzi a helyet az utolsó 4 flash meghajtóról /
Sávok váltása. A másodperc töredékei, nincs különbség ugyanabban vagy másik könyvtárban a pálya. A kapcsolás során nincsenek idegen hangok.
Flash meghajtó csere. Működő rádió mellett kivesszük az USB flash meghajtót és berakunk egy újat. Néhány másodpercen belül meghatározásra kerül, és azonnal elkezdődik a lejátszás. Csere közben nagyon halk, rövid trilla hallható.

Az illesztő 32 könyvtárat ismer, amelyek 32 alkönyvtárat tartalmazhatnak, amelyek mindegyike legfeljebb 99 fájlt tartalmazhat. De hamar rájöttem, hogy a lemezválasztóm csak az első hat lemezt kapcsolja át. Bár véletlenszerű módban, az adapter minden könyvtárat lát.

Feltettem egy kérdést a Trioma fórumon, a support nagyon gyorsan válaszolt és lehetőségeket kínált a címtárak szervezésére. A probléma az lett, hogy az RD4-en a gombok ugyan a Disc + / Disk- funkciót látják el, de a valóságban direkt lemezkiválasztó parancsokat küldenek az adapternek 1-6. Tehát ezek a gombok csak 6 gyökérkönyvtárat vagy 6 alkönyvtárat tudnak váltani.
És az 1024 telefonkönyvek kezelése a rádiómon nem fog működni. Csak 32*6=192 könyvtárat tudsz kezelni;)

A leírás szerint az FF / FR gombok kettős funkciót látnak el - könyvtárak/alkönyvtárak váltása és visszatekerés.
De az RD4-en a Track+/Track- az FF/FR-vel kombinálva van, és az adapterhez ezek a gombok hármas funkcióval rendelkeznek:
1. Rövid megnyomás - Track+/Track-
2. Nyomja le 2-3 mp-ig, engedje el, amikor hang eltűnik az aktuális sávból - switch könyvtár
3. Tartsa lenyomva >3sec, gyorsított tompa hang hallható - visszatekerés
Az idő hozzávetőleges, a hangra kell összpontosítania

Már a vásárlás előtt feltételeztem, hogy leírok egy nagy mega flash meghajtót több száz katalógussal. De már most látom, hogy kényelmesebb több flash meghajtó, különböző gyűjteményekkel.
Nekem most ez van:
1. Orosz színpad 80-90-es évek
2. Külföldi színpad 80-90
3. Hangszeres

Teljes. Viszonylag kevés pénzért kaptam egy hibamentes adaptert, jó hangminőséggel és egyszerű, intuitív vezérléssel. Nagyon elégedett vagyok a vásárlással, Trioma - jól sikerült!!!

További linkek

Mini GYIK

Maradt néhány kérdés ezt a felülvizsgálatot, úgy döntöttem, hogy külön minifacba teszem őket. Ide hozzáteszem a megjegyzésekben felmerülő kérdéseket.
  • Mit kell tenni ahhoz, hogy a nevek (fájlnevek, címkék vagy bármi más) megjelenjenek a kijelzőn?
  • A Triom adapterek minden bizonnyal "látják" a címkéket, fájlneveket és mappaneveket. Ahol lehetséges, szöveges karakterláncokat jelenítenek meg a rádiós magnók szabványos kijelzőjén: BMW és minden optikai MOST busszal rendelkező autó. Talán hamarosan néhány Toyota / Lexus készüléknél bevezetik a szöveges kimenetet.
  • A CD-váltók gond nélkül elvégzik a munkát.
  • Attól tartok, téved: a fent felsorolt ​​modelleken kívül nem tudunk olyan külső váltóról, amely megbirkózik ezzel a feladattal. Más kérdés a fejegységbe épített váltó, ahol a szöveg közvetlenül a kijelzővezérlőbe kerül - ez egy teljesen más mechanizmus.
  • További eszközök csatlakoztathatók a Trioma Flipper 2 adapterhez?
  • Az adapterhez AUX-minijack 3.5 dugós adapterkábelt is csatlakoztathat
+23 vásárlását tervezem Add hozzá a kedvencekhez Tetszett az értékelés +21 +46