Аппараттық және бағдарламалық қамтамасыз етуді орнату

Компьютерге арналған виртуалды USB эмуляторлары. Компьютерде виртуалды флэш-дискіні жасаңыз

Олоф Лагерквист жобасы, тамаша бағдарламадискілерді эмуляциялау үшін, бірақ бәрі дискілерді эмуляциялай алатындықтан, бәрі де флэш-диск немесе дискет жасаумен мақтана алмайды. Дискілер жылы жасалады виртуалды жад, физикалық түрде оларды кескін файлдарына жүктеп салуға болады. Орнатқаннан кейін бағдарлама компьютердің басқару тақтасынан қолжетімді болады.

«OK» түймесін басыңыз және виртуалды кескін дайын.

Сурет
Қажет болса, кескінді сақтауға және орнатуға болады. Қай жерде пайдалы? Мысалы, жалқаулар үшін виртуалды флэш-диск CryptoPro үшін сертификаттарды жүктеп салуға болады.)) Немесе кэшті, своп файлын және басқа нәрселерді сақтау үшін оны жедел жадтағы диск ретінде пайдаланыңыз.
Сондай-ақ балама GUI бар -

Автоматты қосылу:
жаңғырық өшірулі
rem автоматты түрде орнату үшін автожүктемеге қойылады
c:\WINDOWS\system32\imdisk.exe -a -f "%PROGRAMFILES%\flash.img" -m f: -o rem

Кейбір пәрмен жолы опциялары:

imdisk.exe -e -s 300M -m B: - B дискісін 300 МБ көбейтіңіз

imdisk -a -t файлы -o ro -m y: -f C:\Boot.img- Y дискісімен Boot.img кескінін орнату, тек оқуға арналған

imdisk -a -t файлы -m y: -f C:\Boot.img- Boot.img кескінін Y дискісіне орнату, тек оқу/жазу

imdisk -d -m y: - Y дискісін ажырату

imdisk -a -s 150M -m #: -p "/fs:ntfs /y /q /v:imdisk- 150 МБ диск жасаңыз, дискінің бірінші әрпі бос, NTFS форматы, imdisk дискінің белгісі

imdisk -a -s 10% -m #: -p "/fs:ntfs /y /q /v:imdisk- алдыңғысымен бірдей, тек өлшемі бос жадтың 10 пайызы ретінде көрсетіледі.

imdisk -a -s -500M -m #: -p "/fs:ntfs /y /q /v:imdisk- алдыңғымен бірдей, тек өлшем минус белгісімен көрсетіледі, яғни бос жад көлемінен көрсетілген өлшемді алып тастағанға тең. 1200 МБ бос жадымен диск өлшемі 1200-500=700 МБ болады.

imdisk.exe -a -t прокси -o ip -f 127.0.0.1:80 -m Z:- Интернетте табылған сервермен пайдалану, іс жүзінде тексерілмеген.

A - Wirth байланысы диск.

D - Виртті өшіру. диск.

E - өңдеумен. диск.

_________________________

B - офсетті көрсетіңіз, яғни әртүрлі бағдарламаларда жасалған дискілер үшін көрсетілген дискідегі деректердің басын, олардың кескіндерінде файлдағы бастапқы атрибуттарды өткізіп жіберу керек.

S - виртуалды дискінің өлшемі. Өлшем – a (авто), b (саны 512 байт блоктары), k (мың байт), m (миллион байт), g (миллиард байт), t (триллион байт), K (килобайт) жұрнағы болмаса, байттардың саны. M (мегабайт), G (гигабайт) немесе T (терабайт). Мың байт пен килобайт бір килобайтта 1000 емес, 1024 байт болуымен ерекшеленеді. Мысалы. -s 150M немесе -s 10% - 10 пайыз бос жад. Параметр -500M - минус белгісімен құрылған дискінің өлшемін бос жад көлемінен көрсетілген өлшемді алып тастағанда анықтайды.

O - параметрлерді орнату, төмендегі опциялармен бірге қолданылады

ro - тек оқу

rw - оқу/жазу

rem - алынбалы диск (флэш-диск) ретінде орнату. Бұл диск сипаттарын, кэштеуді және т.б. анықтайды.

fix - тұрақты, бекітілген диск ретінде орнату (rem-ге қарағанда)

cd - виртуалды CD-ROM/DVD-ROM жасау.

fd - иілгіш диск құру. 160K, 180K, 320K, 360K, 640K, 720K, 820K, 1200K, 1440K, 1680K, 1722K, 2880K, 123264K немесе 234752K үшін әдепкі.

hd - қатты бөлімді жасаңыз.

ip - прокси серверге қосылу параметрі.

comm - COM порты арқылы жад серверіне қосылу.

________________

M - диск әрпін көрсетеді. Мысалы -m B: немесе -m y: немесе -m #: - бірінші бос диск әрпі.

F - файл атауы virt. диск, мысалы -f C:\Boot.img немесе -f \\server\share\image.bin немесе -F \Device\Hddisk0\Partition1\image.bin- соңғысы, диск әрпі тағайындалмаған және анықтама қатты нөмір, бөлім нөмірі (логикалық диск), содан кейін нақты жол бойынша болған кезде.

Даму әртүрлі құрылғылармикроконтроллерлерге негізделген - бұл нағыз компьютерлік шеберге лайық кәсіп. Кез келген гаджеттің пайдалы мүмкіндігі компьютерге қосылуға арналған USB интерфейсі болатыны сөзсіз. Бірақ AVR чипінде USB аппараттық қолдауы болмаса ше?

V-USB: өлшем маңызды

Өзіңіздің гаджетіңізді жасаған кезде оны компьютерге қосу мәселесі жиі туындайды. Айта кету керек, LPT және COM порттары енді экзотикалық аналық платаларКомпьютерлер, ноутбуктарды айтпағанда, бұл интерфейстер бұрыннан жоғалып кеткен. Сондықтан заманауи компьютерлерде USB интерфейсіне балама іс жүзінде жоқ.

Егер чиптің ресурстары жүз пайызға пайдаланылса, әмбебап сериялық шинаға арналған аппараттық қолдауы бар құрылғыларға дереу қараған дұрыс (мұндай микроконтроллерлер кез келген өндірушінің желісінде бар). Басқа жағдайларда жұмсақ USB пайдалануға болады.

Atmel микроконтроллерлері үшін төмен жылдамдықты бағдарламалық қамтамасыз етуді ұсынатын тамаша V-USB жобасы бар. USB құрылғылары 1.1. V-USB коды кемінде 2 КБ Flash және 128 байт жедел жады бар кез келген AVR құрылғысында жұмыс істейді, сағаты 12; 12,8; 15; он алты; 16,8 немесе 20 МГц.

Өнімді пайдалану ашық бастапқы GPL лицензиясы бойынша да, коммерциялық негізде де мүмкін. Өзіңіздің USB құрылғыларыңызды жасау үшін әдетте лицензия сияқты нәрсені сатып алу керек. Бірақ V-USB жігіттері мұны да ойластырып, Жеткізуші идентификаторы - Өнім идентификаторын алып, кез келген адамға пайдалануға рұқсат берді.

USB шинасын микроконтроллерге қосу үшін аппараттық байланыстыру өте қарапайым. Егер құрылғы тым көп тұтынбайтын болса, онда сіз оны тікелей автобустан қуаттай аласыз (электр желісі деп саналады USB компьютеріжәне 500 мА дейін ток беруге қабілетті). Деректер желілері (D+ және D–) 3,6 В сигнал деңгейін пайдаланатындықтан, токты шектейтін резисторлардан басқа, чиптегі 5 В логикасына сәйкес келетін стабилдік диодтар қажет. Қосылу түрін көрсету үшін D– желісіне 1,5 кОм кедергі арқылы қоректену кернеуін «жоғары көтеру» керек.

USB арқылы жұптастырудың балама нұсқасы - тиісті тұрақтандыру чипін немесе жай ғана жұп диодтарды пайдаланып контроллердің қуат кернеуін азайту. Соңғы схеманы V-USB жобасының веб-сайтынан табуға болады.

USBtiny бағдарламашы

AVR микроконтроллерлері үшін көптеген әртүрлі бағдарламашылар бар. USBtiny бұл жерде ішінара айтылған, себебі оның құрамында V-USB-ге ұқсас USB бағдарламалық құралы бар. Бұл бағдарламашының схемасы қарапайым: 2-нұсқада екі микросұлба бар, ал бірінші нұсқада тек біреуі бар (ATtiny2313 чипінің өзі). Рахмет егжей-тегжейлі сипаттамасайтта және қарапайым құрамдас бөлікте құрылғыны тіпті бастаушы үшін де оңай жасауға болады. USBtiny AVR микроконтроллерлерін бағдарламалау үшін пайдаланылатын танымал avrdude бағдарламасымен үйлесімді.

Жалғыз мәселе - микробағдарламаны бағдарламашы чипіне жүктеу - бұл үшін сізге ... бағдарламашы қажет. Егер LPT порты бар компьютер болса, онда сіз FBPRG опцияларының бірін «бес сым» деп атауға болады, ол темір.

Шананы дайындау

Қарапайым USB гаджетінің микробағдарламасын іске асыру үшін қажетті бағдарламалық құралдар өте аскеттік: gcc-avr компиляторы, avr-libc кітапханасы, avrdude бағдарламашысы және AVR үшін орнатылған binutils. Debian/Ubuntu жүйесінде сізге қажет нәрсенің бәрі бір пәрменмен орнатылады:

$ sudo apt-get орнату avrdude binutils-avr gcc-avr avr-libc

Интернеттің кең ауқымында оны табу оңай егжей-тегжейлі нұсқаулық V-USB және libusb арқылы (ағылшын тілінде). Нұсқаулыққа сәйкес жобаға USB қолдауын қосу үшін V-USB соңғы нұсқасы бар мұрағаттағы usbdrv қалтасы қажет. Бұл қалтаның түбінде usbconfig-prototype.h конфигурация үлгісі орналасқан. Бұл файлдың көшірмесін usbconfig.h деп атау керек. Әрі қарай - енгізу/шығару үшін жолдары пайдаланылатын портты (D), тікелей D + (2) және D - (3) жол нөмірлерін, сондай-ақ жиілікті (12 МГц) көрсете отырып, usbconfig.h түзетіңіз. чип жұмыс істейді (ATtiny2313 ):

#USB_CFG_IOPORTNAME D анықтау #USB_CFG_DMINUS_BIT 3 анықтау #USB_CFG_DPLUS_BIT 2 анықтау #USB_CFG_CLOCK_KHZ 12000 анықтау

Құрылғыға арналған V-USB лицензиясын пайдалану үшін өндіруші мен құрылғының сандық идентификаторларын өзгерту қажет емес. Бірақ символдық атауларды өз қалауыңыз бойынша таңдауға болады (олар бір компьютерге қосылған бірнеше V-USB құрылғыларын ажыратуға мүмкіндік береді):

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

Әртүрлі гаджеттер

Құрылғы туралы идеяңыз бар ма? Дәнекерлеуге және кодтауға асықпаңыз, бірақ қараңыз, мүмкін мұны біреу жасаған шығар. Егер сіз дайын схемалар мен бастапқы кодтарды пайдалана алмасаңыз, кем дегенде бәрін нөлден бастаудың қажеті жоқ.

Мысалы, V-USB жобасы өзінің лицензиялау саясатының арқасында дайын (еркін таратылатындарды қоса алғанда) шешімдердің лайықты базасын жинады. Мұнда сіз әртүрлі пернетақталарды, джойстиктерге арналған USB адаптерлерін, геймпадтарды (соның ішінде сирек кездесетіндер, мысалы, SNES / NES, Nintendo 64, ZX Spectrum джойстик, Sony PlayStation 1/2) және т.б. таба аласыз. DMX адаптерлері, виртуалды COM және UART порттары, i2c, Servo, DCF77, IR сымсыз интерфейстері - барлығы жаңа құрылғыларды компьютерге қосуға көмектеседі. Тіркелгілер, түрлендіргіштер мен сенсор платформалары, СК адаптерлері, бағдарламашылар мен тиегіштер де фермада пайдалы болуы мүмкін.

Чипке арналған бағдарлама қарапайым!

USB шинасы арқылы байланысқан кезде компьютер басқару сұрауы туралы хабарламаларды мерзімді түрде жіберетін негізгі құрылғы болып табылады. Контроллер, сәйкесінше, құл болып табылады және сұрауларға жауап беруі керек. Басқару хабарының пішімі usbdrv.h файлындағы usbRequest_t құрылымы арқылы анықталады:

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

usbdrv қалтасымен бірдей деңгейде main.c файлын жасап, ондағы қажетті тақырып файлдарын, анықтамаларды және айнымалы мәндерді сипаттайық:

#қосу #қосу #қосу #include "usbdrv.h" #анықтау F_CPU 12000000L // MCU жиілігі #include #define DATA_OUT 1 // Жіберу пәрмені #define DATA_IN 2 // Пәрменді алу // Буфер static uchar replyBuf = "Hello World!"; статикалық uchar dataLength = 0, dataReceived = 0;

main.c ішінде біз жаңа сұрау түскенде автоматты түрде шақырылатын usbFunctionSetup функциясын қайта анықтаймыз:

USB_PUBLIC uchar usbFunctionSetup(uchar data) ( usbRequest_t *rq = (void *)data; switch(rq->bRequest) (жағдай DATA_OUT: // Деректерді жіберу пәрменін өңдеу usbMsgPtr = replyBuf; // Буферді қайтару sizeof(replyBuf) көрсетіңіз); / / DATA_IN буферінің өлшемін қайтару: // Деректерді қабылдау пәрменін өңдеу dataLength = (uchar)rq->wLength.word; // DataReceived ұзындығын алу = 0; // USBFunctionWrite шақырулары көп болады if(dataLength > sizeof(replyBuf)) // Толып кетуді тексеру dataLength = sizeof(replyBuf); қайтару USB_NO_MSG; // Қайтару 255 ) қайтару 0; )

Тізімнен көріп отырғаныңыздай, деректерді компьютерге жіберудің ең оңай жолы usbMsgPtr деректер орналасқан ЖЖҚ буферіне (replyBuf) бағыттау үшін usbFunctionSetup параметрін орнату, содан кейін оның ұзындығын қайтару. Буфер өлшемі 254 байттан аспауы керек. 128 байт жедел жады бар ATtiny2313 үшін бұл жеткілікті. Қосымша функционалды құрылғылар үшін екінші әдіс бар - usbFunctionRead функциясын қайта анықтау.

Деректерді алу үшін, біріншіден, usbFunctionSetup функциясында сұраудың wLength өрісінен хабар ұзындығын шығарып, оны dataLength жаһандық айнымалысында сақтау керек. Екіншіден, main.c ішінде алынған деректерді өңдеуге арналған және usbFunctionSetup USB_NO_MSG (255) қайтарса, автоматты түрде (және бірнеше рет) шақырылатын usbFunctionWrite функциясын қайта анықтау керек:

USB_PUBLIC uchar usbFunctionWrite(uchar *data, uchar len) ( uchar i; // Деректердің алынған бөлігін буферге сақтаңыз (i = 0; dataReceived).< dataLength && i < len; i++, dataReceived++) replyBuf = data[i]; return (dataReceived == dataLength); }

Шын мәнінде, usbFunctionWrite функциясы replyBuf буферін алынған деректермен толтырады.

Айтпақшы, бұл әдіс жұмыс істеуі үшін usbconfig.h файлына өзгертулер енгізу керек:

#USB_CFG_IMPLEMENT_FN_WRITE 1 анықтау

Микробағдарламаның соңғы функциясы негізгі болып табылады:

Int main() ( usbInit(); // USB usbDeviceConnect(); // Құрылғыны қосу sei(); // Үзілістерді қосу // Шексіз циклде, while(1) usbPoll(); қайтару 0 ;)

USART/UART қосыңыз

USB бағдарламалық құралына / аппараттық құралына жақсы балама, мысалы, FT232RL чипі негізінде орындалуы мүмкін, осы хаттаманың USB-ге үшінші тарап түрлендіргіші бар чипте танымал USART / UART интерфейсін пайдалану болып табылады.

Либусб: киінбеген де, жалаңаш та емес

Сіз сұрайсыз: USB құрылғысын қосу үшін компьютердің операциялық жүйесіне драйвер жазу керек пе? Егер сіз libusb қолдансаңыз, онда сіз толыққанды ядро ​​​​модульін қолданбай жасай аласыз. Libusb - бұл біріншіден, шинада құрылғыны іздеуге, екіншіден, онымен деректер алмасуға жылдам бағдарламалауға мүмкіндік беретін ашық бастапқы кітапхана.

Linux астында кітапхана мен қажетті тақырып файлдарын бастапқы кодтардан алуға болады. Және таратудың стандартты репозиторийін пайдаланған дұрыс. Debian/Ubuntu үшін, мысалы:

$ sudo apt-get орнату libusb-dev

Сондай-ақ libusb, libusb-win32 Windows порты бар. Жобаның атауына қарамастан, Microsoft корпорациясының 64-биттік операциялық жүйелеріне де қолдау көрсетіледі (1.2.0.0 нұсқасынан бастап).

Бірақ libusb - бұл бөлек әңгіме тақырыбы. Менің ойымша, сіз компьютерде бағдарламалаумен таныссыз және оны өзіңіз анықтай аласыз. Сондықтан мен қысқаша айтайын. Біз usbtest.c файлын жасаймыз және оны мазмұнмен толтыра бастаймыз. Біріншіден, қажетті тақырып файлдары мен анықтамалары:

#қосу [...] // Компьютер үшін пәрмендердің мағынасы керісінше, // бірақ белгілеулер өзгеріссіз қалады #ДЕРЕКТЕР_ШЫҒЫСЫН 1 анықтау #ДЕРЕКТЕР_ІШІН 2-ні анықтау

Құрылғыны инициализациялау үшін usbOpenDevice функциясы:

Usb_init(); // USB usb_find_busses(); // Шиналарды табу usb_find_devices(); // Құрылғыларды табу // Барлық шиналар арқылы цикл үшін(bus=usb_get_busses(); bus; bus=bus->келесі) ( // for(dev=bus->құрылғылар; dev; dev=) шинадағы барлық құрылғыларды айналдыру dev-> келесі) ( // Егер жеткізуші мен өнім идентификаторлары сәйкес келмесе... if(dev->descriptor.idVendor != vendor || dev->descriptor.idProduct != product) жалғастырыңыз; // ... бұл итерацияны өткізіп жіберіңіз // Құрылғының дескрипторын алуға тырысыңыз if(!(handle = usb_open(dev))) ( fprintf(stderr, "%s\n", usb_strerror()); жалғастыру; ) қайтару дескрипті; // Қайтару дескрипті ) ) // Құрылғы табылмады қайтару NULL;

Көріп отырғаныңыздай, usbOpenDevice параметрлері өндіруші мен құрылғының сандық идентификаторлары болып табылады. Құрылғы автобуста болса, оның тұтқасы қайтарылады. V-USB құрылғысында бірнеше құрылғы болса, сатушы мен өнімнің символдық атауларына чек қосу керек.

Ал usbtest консольдік утилитасының негізгі функциясы:

Int main(int argc, char **argv) ( // Құрылғының дескрипторы usb_dev_handle * дескриптор = NULL; int nBytes = 0; char буфері; // Құрылғының дескрипторы ізделуде = usbOpenDevice(0x16C0, 0x05DC); if(тұтқа == NULL) ( fprintf(stderr, "USB құрылғысын табу мүмкін болмады!\n"); exit(1); ) // Аргументті шығару - чиптен деректерді алу if(strcmp(argv, "out") == 0) ( nBytes = usb_control_msg (тұтқа, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, DATA_OUT, 0, 0, (char *)буфер, sizeof(буфер), 5000); printf("%d байт алды: %sy\n", ; // Аргументті енгізу - жолды жіберу (келесі аргумент) ) else if(strcmp(argv, "in") == 0 && argc > 2) ( nBytes = usb_control_msg(тұтқа, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_OUT0, DATA_OUT0, DATA_OUT0) , argv, strlen(argv)+1, 5000); ) if(nBytes< 0) fprintf(stderr, "%s\n", usb_strerror()); usb_close(handle); // Закрыть дескриптор return 0; }

Қосылған usb.h файлында жарияланған usb_control_msg функциясы осы жерде допты басқарады. Оның көптеген параметрлері бар және өңдеу микроконтроллердің микробағдарламасында жүзеге асырылатын басқару хабарламаларын жасайды.

Протей демалып жатыр

Танымал Proteus ISIS электр тізбегінің симуляторы USB бағдарламалық құрылғыларын жасау кезінде пайдасыз. Оның USB эмуляторы әмбебап сериялық шинаға (мысалы, AT90USB646 немесе AT90USB1286) аппараттық қолдауы бар чиптерді ғана қолдайды.

Жинаймыз, жарқылдаймыз, сынаймыз

Төменде шағын, бірақ өте пайдалы Makefile бар, main.c және usbtest.c сайттарынан make командасының көмегімен чипке арналған микробағдарламаны - main.hex және usbtest екілік утилитасын алу оңай:

CC = avr-gcc OBJCOPY = avr-objcopy CFLAGS = -Wall -Os -Iusbdrv -mmcu=attiny2313 OBJFLAGS = -j .text -j .data -O ihex ОБЪЕКТТЕР = usbdrv/usbdrv.o usbdrvsb/usbdrvsb/usbdrvd. .o main.o CMDLINE = usbtest # Мақсаты: барлығын құрастыру: main.hex $(CMDLINE) # Компьютерге арналған утилита құрастыру $(CMDLINE): usbtest.c gcc -I ./libusb/include -L ./libusb/lib /gcc -O -Wall usbtest.c -o usbtest -lusb # Жобаны екілік кодтан тазарту: $(RM) *.o *.hex *.elf usbdrv/*.o # Elf файлынан микробағдарлама файлын алу %. hex : %.elf $(OBJCOPY) $(OBJFLAGS) $< [электрондық пошта қорғалған]# main.elf elf файлын құрастырыңыз: $(OBJECTS) $(CC) $(CFLAGS) $(OBJECTS) -o [электрондық пошта қорғалған]# V-USB кітапхана файлдарын құрастыру $(OBJECTS): usbdrv/usbconfig.h # C %.o нысан кодына: %.c $(CC) $(CFLAGS) -c $< -o [электрондық пошта қорғалған]# asm нысан кодына %.o: %.S $(CC) $(CFLAGS) -x assembler-with-cpp -c $< -o [электрондық пошта қорғалған]

Микроконтроллерге микробағдарламаны usbtiny бағдарламалаушысы арқылы жүктеу үшін біз пәрменді тереміз:

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

Avrdude-де сақтандырғыштар өте анық орнатылмаған, бірақ оларды онлайн калькуляторлардың бірінде оңай есептеуге болады.


Біз құрылғыны компьютерге қосамыз және оның қалай жұмыс істейтінін тексереміз (out параметрі бар usbtest жолды оқиды, in - көрсетілген жолды чип буферіне жазады):

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

Бір қасық шайыр

Soft USB - бұл панацея емес. Бағдарламалық қамтамасыз етуді іске асыру әдетте бірқатар жеңілдетулерге ие, мысалы, бақылау сомасын тексерудің болмауы және шуға төзімділікке теріс әсер ететін арна симметриясы. Сондай-ақ, бағдарламалық құрал кітапханалары әдетте төмен жылдамдықты USB режимдерін пайдаланады. Иә, және USB кітапханасының коды чиптің кішкентай жадын «жейді».

Қарау...

Логикалық деңгейде USB протоколы негізінен көп қабатты пакеттік деректерді тасымалдау болып табылады. Мұны Wireshark желілік протокол анализаторы арқылы тексеру (және сонымен бірге USB туралы көптеген қызықты нәрселерді білу) оңай. Алдымен USB монитор драйверін жүктеп алу керек:

$ sudo modprobe usbmon

Енді Wireshark интерфейстерінің тізімінен USB автобустарын таңдауға болады. Құрылғының автобус нөмірін, мысалы, журналдарда көруге болады.

Қорытынды

Компьютер мен AVR микроконтроллері арасында деректерді тасымалдауды үйренгеннен кейін, электроникаға деген құмарлығыңыз жаңа күшпен жанып, көптеген түпнұсқа және пайдалы құрылғыларды тудырады деп үміттенемін. Сізге осы қиын, бірақ қызықты салада сәттілік тілеу ғана қалады.

11

Менде кейбір сынақтарды автоматтандырғым келетін Linux қолданбасы бар және оның күйі USB құрылғылары, WLAN құрылғылары, WAN құрылғылары сияқты белгілі бір құрылғылардың күйіне байланысты өзгеруі керек. Дегенмен, бізде бұдан былай физикалық USB, WLAN, WAN және т.б. құрылғылар жоқ, сондықтан мен бұл бағдарламаны физикалық құрылғыларды шын мәнінде жалғамай, оларды қосу/өшіру және т.б.сыз тексерудің жолын анықтауым керек.

Мен жай ғана пайдаланушы кеңістігінен басқара алатын виртуалды USB құрылғысын жасаудан бастаймын, бірақ менің білімімнің түбегейлі жетіспеушілігі осы форумдардағы ұқсас ағындардың кез келгенін алуға және оларды өз жобама қолдануға мүмкіндік бермейді. Маған виртуалды USB драйверінің қандай да бір түрін жасау керек сияқты, содан кейін оны usbf емес, пайдаланушы деңгейіндегі бағдарламамен байланыстыру керек сияқты. Дегенмен, осы виртуалды драйверді жасасам да, бұл құрылғыны пайдаланушы кеңістігінен қалай «тіркеуге» болады және бағдарламамды осы нақты драйверге тіркеуге аламын? Мен істеуге тырысатын нәрсе мүмкін бе?

  • 2 жауап
  • Сұрыптау:

    Белсенділік

0

Қолданбаны VMWare көмегімен виртуалды ортада сынай алмайсыз ба? Содан кейін құрылғыңыздағы кез келген виртуалды құрылғыны қонақтың виртуалды машинасына «тіркеуге» және қолданбаны сол жолмен тексеруге болады.

8

Ең жақсы әдіс - USB құрылғысы болуға мүмкіндік беретін Linux гаджет драйверлері мен аппараттық құралдарды пайдалану. Гаджет драйвері компьютерге өзін кез келген құрылғы ретінде «көрсетуге» мүмкіндік береді. Содан кейін тексеріліп жатқан жүйеде гаджет үшін бір USB OTG кабелі бар. Гаджетіңізде дұрыс жабдық болса, кабельді ажыратудың да қажеті жоқ. «Гаджеттік қорап» сіздің Linux жұмыс үстелі/ноутбугі (егер ол USB OTG қолдайтын болса) немесе тіпті Android телефоны немесе Raspberry Pi болуы мүмкін. (USB кабельдерінің сорып алатынын ескеріңіз. Кабельдің сәйкес келуі оның USB OTG желісіне дұрыс қосылғанын білдірмейді.).

USB OTG жабдығы дұрыс болғаннан кейін, гаджет барлық бағдарламалық құралды қорапқа салады:

1) Сынақтағы құрылғы OTG қолдайтын болса, гаджет әрекет етпейтінін және USB хосты емес екенін тексеріңіз. (Содан кейін сынақтағы құрылғыңыз USB клиентіне айналады.) Яғни. usb_storage сияқты нәрселердің автоматты түрде жүктелмейтініне көз жеткізіңіз.

2) Ядро USB хабтары, USB-Ethernet, USB-сериялық порттары және USB дискілері үшін гаджеттерді қолдайды. Гаджетіңізге қажетті модульдерді жүктеңіз және ол «жұмыс істейді». Мысалы, USB дискісін жасау үшін келесідей әрекетті орындаңыз: " insmod g_file_storage.ko file=/dev/ram0 ". Алыс жағы сіз USB дискісін қостым деп ойлайды.

Сериялық құрылғылар үшін гаджет «телефонды /dev/usbx-ке алып» және сынақтағы құрылғымен сөйлесетін пайдаланушы-кеңістік кодын іске қоса алады. (Елдік 4G модемі немесе басқасы болуы мүмкін.)

Көптеген құрылғылар шынымен «USB сериясы» болып табылады, өйткені өндіруші USB-ны түсінуге тым жалқау болды.

3) Кішкене қайта құрастыру немесе түзету арқылы сіз гаджет, идентификатор үшін сол жалпы құрылғыларды пайдалана аласыз немесе әртүрлі жеткізуші жолдарын қайтара аласыз, т.б. Бұл «нақты аппараттық құралда тестілеу» сияқты болмайды, бірақ кем дегенде сіз сынақтан өткізесіз. осы құрылғылардың стандартты нұсқасы.

4) Негізінде әлі жоқ құрылғы түрлері үшін (мысалы, Wi-Fi немесе басқалары), сіз өз бетіңізшесіз. Жеткілікті тер мен қанның көз жасымен сіз өзіңіздің гаджет түрін жаза аласыз. (Ең дұрысы, пайдаланушы кеңістігінде мүмкіндігінше пайдаланыңыз және ядродағы маңызды құрамдастарды ғана өңдеңіз..)

Кейде флэш-диск қажет болған кезде жағдай туындайды, бірақ ол қолында емес. Мысалы, кейбір есеп және есеп беру бағдарламалары сыртқы дискіні қажет етеді. Мұндай жағдайда виртуалды сақтау құрылғысын жасауға болады.

Арнайы бағдарламалық жасақтаманы пайдалану арқылы мұны бірнеше жолмен жасауға болады. Олардың әрқайсысын кезең-кезеңімен қарастырайық.

1-әдіс: OSFmount

Бұл шағын бағдарлама қолыңызда флэш-диск болмаған кезде көп көмектеседі. Ол Windows жүйесінің кез келген нұсқасында жұмыс істейді.

Бағдарламаны жүктеп алғаннан кейін келесі әрекеттерді орындаңыз:



Бұл бағдарламаны пайдалану үшін қосымша мүмкіндіктер қажет болуы мүмкін. Мұны істеу үшін элементтегі негізгі терезеге кіріңіз Drive әрекеттері. Содан кейін келесі опцияларды пайдалану мүмкін болады:

  • Dismount - дыбыс деңгейін ажырату;
  • Формат – көлемді пішімдеу;
  • Медиа тек оқуға арналған орнату - жазуға тыйым салады;
  • Extendsize - виртуалды құрылғының өлшемін кеңейтеді;
  • Savetoimagefile - қажетті форматта сақтау үшін қолданылады.

2-әдіс: Виртуалды флэш-диск

Жоғарыда аталған әдіске жақсы балама. Виртуалды флэш-дискіні жасау кезінде бұл бағдарлама ондағы ақпаратты құпия сөзбен қорғауға мүмкіндік береді. Мұның артықшылығы - оның Windows жүйесінің ескі нұсқаларында өнімділігі. Сондықтан, егер сіздің компьютеріңізде Windows XP немесе одан төменірек нұсқасы болса, бұл утилита компьютерде виртуалды жад құрылғысын жылдам дайындауға көмектеседі.

Бұл бағдарламаны пайдалану нұсқаулары келесідей:

  1. Виртуалды флэш-дискіні жүктеп алыңыз және орнатыңыз.
  2. Негізгі терезеде түймені басыңыз «Жаңа орнату».
  3. Терезе пайда болады «Жаңа том жасау», онда виртуалды медиа жасау жолын көрсетіңіз және басыңыз «ЖАРАЙДЫ МА».


Көріп отырғаныңыздай, бағдарламаны пайдалану өте оңай.

3-әдіс: ImDisk

Бұл ең бірі танымал бағдарламаларвиртуалды дискіні жасау үшін. Кескін файлын немесе компьютер жадын пайдалана отырып, ол виртуалды дискілерді жасайды. Оны жүктеу кезінде арнайы пернелерді пайдаланған кезде флэш-диск виртуалды алынбалы диск ретінде пайда болады.


4-әдіс: бұлтты сақтау

Технологияның дамуы виртуалды флэш-дискілерді жасауға және оларда ақпаратты Интернетте сақтауға мүмкіндік береді. Бұл әдісИнтернетке қосылған кез келген компьютерден белгілі бір пайдаланушыға қолжетімді файлдары бар қалта.

Мұндай деректер қоймаларына Yandex.Disk, Google Drive және Cloud Mail.ru кіреді. Бұл қызметтерді пайдалану принципі бірдей.

Яндекс дискімен қалай жұмыс істеу керектігін қарастырыңыз. Бұл ресурс ондағы ақпаратты 10 ГБ-қа дейін тегін сақтауға мүмкіндік береді.



Мұндай виртуалды сақтау ортасымен жұмыс істеу деректеріңізді толығымен басқаруға мүмкіндік береді: оларды қалталарға топтаңыз, қажетсіз деректерді жойыңыз және тіпті басқа пайдаланушылармен оларға сілтемелерді бөлісіңіз.

Бұл не және ол не үшін қажет?
Егер көліктегі радиостанцияда CD ауыстырғышына арналған кіріс болса, оған ұқсас адаптерді қосуға болады, ол радионы алдайды және ол оған ауыстырғыш қосылғанын шешеді, ал дискілердің орнына әдеттегі флэш-дискісі бар. музыка қолданылады. Адаптерді руль дөңгелегі арқылы басқаруды қоса, әдеттегі құралдармен басқаруға болады.

Muska-да мұндай адаптерлер туралы бірнеше шолулар болды, ең танымал қытайлық Yatour.

Мен стандартты емес жолмен жүруді шештім, мен ресейлік Trioma Flipper 2-ді сынап көруді шештім.
Жалпы рейтинг - тамаша, сатып алуға қанағаттандым, мен ұсынамын.

Толық ақпарат алу үшін мысықтың астына қараңыз

Алғы сөз

Қарапайым тілек бар - мен көлікте музыка тыңдағым келеді. Радиода әрқашан қолайлы нәрсе бола бермейді, ол сізбен бірге көптеген компакт-дискілерді алып жүруден және оларды үнемі жазудан шаршады.
Менің 2007 жылғы Peugeot 407-де USB, bluetooth, тіпті әдеттегі AUX кірісі жоқ, кейінірек жай радио деп аталатын GU (бас блок) бар.

Егер машинада машинаның қандай да бір функцияларын басқаруға байланысты емес қарапайым радиомагнитофон болса, ең оңай жолы - жаңа радиомагнитофон сатып алу. USB кірісі бар фирмалық радионы жүз еуроға сатып алуға болады. Ол рульдегі басқару элементтерін түсінуі үшін тағы біраз ақша жұмсау керек.

Сіз ойнауға және AUX (аудио) кірісін қосуға болады, бірақ сізге әлі де дыбыс көзі қажет болады және рульді басқаруды ұмытуға тура келеді.

Мен FM таратқыштары бар опцияларды баяғыда лақтырып тастадым - мен бірнеше түрлі таратқыштарды қолданып көрдім, дыбыс сапасы өте жақсы болмады.

CD ауыстырғышының радио кірісіне адаптерді қосудың тағы бір жолы бар, ол адаптерді радионың стандартты құралдарымен, соның ішінде руль дөңгелегінен басқара отырып, флэш-дискілерден музыка тыңдауға мүмкіндік береді. Ұқсас адаптерлерді мына жерден таба аласыз әртүрлі өндірушілерәртүрлі параметрлері бар және сапасы, сенімділігі, ыңғайлылығы немесе бағасы бойынша ерекшеленеді.
Ең танымал адаптер - Yatour. Ең кереметі, мүмкін, американдық Grom Audio, ол басқа нәрселермен қатар FLAC ойнайды. Ал, үйіндіге тағы бірнеше құрылғылар - Audiolink, Xcarlink, DMC, Dension.

Мен ең алдымен ятурға қарай бастадым. Оның бағасы 50 доллардан басталады. Бірақ интернеттегі шолулар ынта-жігерді аздап азайтты. Адаптерде сызықтан шығутұрақты деңгейде, сондықтан көптеген радиомагнитофондарда дыбыс деңгейі радиоға қарағанда айтарлықтай төмен. Кейде тұрақсыз жұмыс, қатып қалу, флэш-дисктегі бөтен файлдардың болуы сыни. Қолдау көрсетілетін каталогтар саны - радио қанша дискіні қолдайды, менің жағдайда бұл 6.

Yatour-дың ресми веб-сайты жоқ, Yatour-дың Интернеттегі веб-сайттары - сатушылардың веб-сайттары. Ақпаратты әртүрлі жерлерде біртіндеп жинау керек, негізінен оны өздері орнатқандар жазылудан бас тартады, бірақ олардың тәжірибесі әрқашан сіздің радиоңыз үшін қолайлы бола бермейді.
Бірақ менің жолым болды, мен беларусь сатушысы Сергей ака SSD-ге тап болдым, ол менің барлық сұрақтарыма, соның ішінде радиомен жұмыс істеу ерекшеліктеріне жауап берді.
Тұтастай алғанда, ол жұмыс істейді, бірақ көлемі мен тұрақсыз жұмысында проблемалар болуы мүмкін. Мен Сергейден бірінші рет Grom Audio және ол сататын Triom туралы естідім.

Android жүйесіндегі Grom Audio FLAC жүйесін қолдайды, бірақ менің көлігімнің үлгісі жоқ.

Бірақ Trioma Flipper 2 қызықтырады. Ең алдымен, шығыс деңгейін (дыбыс) реттеу мүмкіндігі. Бұған қоса, ол қалталарды әлдеқайда ыңғайлы ұйымдастыруға ие және олардың көпшілігі болуы мүмкін. Және бұл әлдеқайда аз.
По жақсы Yator vs Trioma салыстыру кестесін алды


Ятура туралы түсініктеме:
1. Бөтен файлдар ойнатуға кедергі жасамайды. Кем дегенде кейбір микробағдарламада.

Сонымен, мен өз таңдауымды жасадым. Триома!!!
Мұндай адаптерді сатып алғанда, көлігіңіздің үлгісін таңдауды ұмытпаңыз. Дәлірек айтқанда, көлігіңіздің радиостанциясының астында. Әртүрлі радиомагнитофондарда ауыстырғыштың бір-бірімен үйлеспейтін әртүрлі қосқыштары болуы мүмкін.

Триоманы қайдан сатып алуға болады?

Өндірушінің веб-сайтында Trioma өнімдерін сататындар бар. Ресейде немесе Беларусьте адаптерді сатып алуда қиындықтар жоқ. Ал Еуропада мен үшін сатып алу оңайырақ, мен кеденді рәсімдеп, ҚҚС төлеуге міндетті емеспін, баға екі есе жоғары, жеткізу ақысыз 120 евродан басталады.

Мен Ресейден немесе Беларусьтен адаптер әкелетін достар іздей бастадым. Табылды!!! Мен Ресейден дос таптым, ол маған ақпан айының басында тапсырыс беріп, адаптер әкелді! Олег, рахмет!

Міне, менің үйімде адаптер!



Жинақта адаптердің өзі, радиоға қосылуға арналған кабель және USB кабелі.
Радиоға қосылуға арналған кабельдің ұзындығы небәрі 40 см, бұл адаптердің көліктегі орналасуына бірден шектеу қояды - оны тікелей радионың артына қою керек, онымен қолғап бөліміне де жете алмайсыз. .
Адаптердің өлшемі темекі қорабындай. Қосалқы құрылғыларды немесе AUX кабельдерін қосуға арналған шығыңқы кабелі бар қарапайым пластик қорап. Дегенмен, адаптерді радиоға қосқаннан кейін оны басқа ешкім көрмейді.
Оған қоса, мен соңында миниджегі бар AUX кабелін алдым (+500r)


Тағы бірнеше сурет

Қосымша құрылғыларға арналған қосқыш, AUX кабелі немесе bluetooth адаптері


адаптердегі ана


әкем кабельде


RD4 радиосына арналған қосқыш


Ашпаңыз, кепілдік беріңіз


Орнату

RD4 радиомагнитофонында екі бұранданы алтыбұрышпен бұрап, радиомагнитофонды алыңыз.

Артқы жағында екі қолайлы қосқыш бар, олардың біреуі жұмыс істемейді - тексерілді;)
Суретте сізге қажет қосқыш көрсетілген. Ол ауыстырғышты қосу үшін қазірдің өзінде сыммен жабдықталған, біз орнатылған қосқышты шығарып, өзімізді қосамыз.


Біз кабельді адаптермен қосамыз, тұтануды қосамыз және керемет - бәрі бірден жұмыс істеді !!! Ал дыбыс деңгейі кірістірілген ықшам дискідегімен бірдей.

Бірақ содан кейін біз ойлана бастаймыз - USB кабелін қайда қою керек. Менің жағдайда ең оңай жолы - руль дөңгелегі астындағы кабельді жүргізушінің сол жағындағы кішкентай қолғап қорапшасына лақтыру.


Адаптердің өзі радионың сол жағындағы ұяға итерілген. Онда көп орын жоқ, радионы орнына орнатқаннан кейін адаптер кабельдермен бекітілді, сондықтан адаптерді қосымша бекіту қажет болмады.

Барлық форумдарда олар радио қызметтегі ауыстырғышты қосуды талап ететінін жазады. Бұл маған әлдеқайда оңай болып шықты. Қосылғаннан кейін радионың өзі оған ауыстырғыштың қосылғанын анықтады және оны кіріс қосқышы (радио / CD / ауыстырғыш) арқылы таңдауға болады.
Белгілі болғандай, белсендіру радио үшін емес, дисплей үшін қажет, сонда ол ауыстырғышқа ақпаратты көрсете алады.
Бірақ алты ай бұрын мен және қытайлықтар, барлық белсендірілген функциялары бар дисплейді жібердік. Сондықтан бәрі мен үшін қосымша белсендірусіз жұмыс істеді.

Адаптердің жұмысы

Дыбыс сапасы. CD ойнатқышымен салыстыруға болады. Көліктегі стандартты акустика өте орташа, сондықтан сіз менің көлігімдегі кәдімгі CD ойнатқышымен айырмашылықты ести алмайсыз.
Ауыстыру жылдамдығы. Бірнеше ондаған каталогтары бар флэш-дисктегі тұтануды қосқаннан кейін бірнеше секундтан аз уақыт. Форумдарда олар бірнеше жүздеген каталогтармен жылдамдық азырақ деп жазады. Адаптер өшірілгенге дейін қай жерде ойнағанын есіне алады және сол жерден ойнай бастайды. Бұл қасиет аудиокітаптарды тыңдауды ұнататындар үшін құнды. Адаптер соңғы 4 флэш-дискідегі орынды есте сақтайды /
Жолдарды ауыстыру.Секундтың бөлшектері, бірдей немесе басқа каталогта ешқандай айырмашылық жоқ трек. Ауыстыру кезінде бөгде дыбыстар болмайды.
Флэш-дискіні ауыстыру.Радио жұмыс істеп тұрған кезде біз USB флэш-дискісін шығарып, жаңасын саламыз. Ол бірнеше секунд ішінде анықталады және бірден ойнай бастайды. Ауыстыру кезінде өте тыныш қысқа триль естілуі мүмкін.

Адаптер 32 каталогты түсінеді, оларда 32 ішкі каталогтар болуы мүмкін, олардың әрқайсысында 99 файлға дейін болуы мүмкін. Бірақ көп ұзамай менің диск селекторым тек алғашқы алты дискіні ауыстыратынын түсіндім. Кездейсоқ режимде болса да, адаптер барлық каталогтарды көреді.

Мен Trioma форумында сұрақ қойдым, қолдау қызметі өте жылдам жауап берді және каталогтарды ұйымдастыру нұсқаларын ұсынды. Мәселе RD4-те, түймелер Disc + / Disk- функциясын орындағанымен, шын мәнінде олар адаптерге тікелей диск таңдау пәрмендерін 1-6 жібереді. Сондықтан бұл түймелер тек 6 түбірлік каталогты немесе 6 ішкі каталогты ауыстыра алады.
Ал менің радиомдағы 1024 каталогты басқару жұмыс істемейді. Сіз тек 32*6=192 каталогты басқара аласыз;)

Сипаттамада FF / FR түймелері қос функцияны орындайды - каталогтарды / ішкі каталогтарды өзгерту және кері айналдыру.
Бірақ RD4 Track+/Track- FF/FR-мен біріктірілген және адаптер үшін бұл түймелердің үштік функциясы бар:
1. Қысқа басу - Track+/Track-
2. 2-3сек басып, қашан босатыңыз дыбыс жоғаладыағымдағы тректен - каталогты ауыстырыңыз
3. >3 сек ұзақ басып тұрсаңыз, жылдам дыбыссыз дыбыс шығады – кері айналдыру
Уақыт шамамен, дыбысқа назар аудару керек

Сатып алудан бұрын мен жүздеген каталогтары бар бір үлкен мега-флешка жазамын деп ойладым. Бірақ қазірдің өзінде мен әртүрлі жинақтары бар бірнеше флэш-дискілердің болуы ыңғайлы екенін көріп отырмын.
Менде қазір бұл:
1. Орыс кезеңі 80-90 жж
2. Шетелдік кезең 80-90 жж
3. Аспаптар

Барлығы.Салыстырмалы түрде аз ақшаға мен жақсы дыбыс сапасы мен қарапайым, интуитивті басқару элементтері бар қатесіз адаптерді алдым. Мен сатып алғаныма өте ризамын, Триома - жарайсың!!!

Қосымша сілтемелер

Шағын жиі қойылатын сұрақтар

Кейбір сұрақтар осы шолудан тыс қалды, мен оларды бөлек шағын факқа қоюды жөн көрдім. Мұнда мен түсініктемелерде туындаған сұрақтарды қосамын.
  • Дисплейде атаулар (файл атаулары, тегтер немесе кез келген нәрсе) көрсетілуі үшін не істеу керек?
  • Триом адаптерлері, әрине, тегтерді, файл атауларын және қалта атауларын «көреді». Мүмкіндігінше олар радиомагнитофондардың стандартты дисплейлерінде мәтіндік жолдарды көрсетеді: BMW және оптикалық MOST шинасы бар барлық автомобильдер. Жақында кейбір Toyota/Lexus құрылғылары үшін мәтінді шығару енгізілетін шығар.
  • CD ауыстырғыштары жұмысты еш қиындықсыз орындайды.
  • Сіз қателесесіз деп қорқамын: біз жоғарыда аталған модельдерден басқа бұл тапсырманы орындайтын сыртқы айырбастаушыларды білмейміз. Басты блокқа орнатылған ауыстырғыштар - бұл басқа мәселе, онда мәтін тікелей дисплей контроллеріне шығарылады - бұл мүлдем басқа механизм.
  • Trioma Flipper 2 адаптеріне қосымша құрылғыларды қосуға болады ма?
  • Адаптерге AUX-minijack 3.5 еркек адаптер кабелін де қосуға болады
Мен +23 сатып алуды жоспарлап отырмын Таңдаулыларға қосыңыз Пікір ұнады +21 +46
Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!