cs:jtagft2232v
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Předchozí verze | |||
— | cs:jtagft2232v [2020/01/22 18:26] (aktuální) – [SPI programátor] kaklik | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
+ | ====== J-tag programátor JTAGFT2232V02A ====== | ||
+ | |||
+ | [[http:// | ||
+ | [[http:// | ||
+ | |||
+ | Jedná se o J-TAG programátor vhodný pro programování procesorů ARM osazených v modulu [[cs: | ||
+ | |||
+ | |||
+ | ===== Konstrukce modulu ===== | ||
+ | |||
+ | Modul obsahuje USB interface s čipem FTDI a FPGA Xilinx. FTDI čip je připojován k hradlovému poli přes spínače HC4066. A hradlové pole proto může pracovat samostatně a nebo v kombinaci s FTDI čipem. Interni komunikacni signaly jsou 3.3 V proto, protože spicac HC4066 nepracuje spolehlive se signaly mensimi, nez 2 V. | ||
+ | |||
+ | |||
+ | ===== Oživení modulu ===== | ||
+ | |||
+ | Protože modul komunikuje s programovanou periferií přes hradlové pole, tak je potřeba hradlové pole nejdříve naplnit schématem. To lze udělat programem [[http:// | ||
+ | |||
+ | svn co https:// | ||
+ | cd xc3sprog | ||
+ | cmake . | ||
+ | make | ||
+ | make package | ||
+ | |||
+ | Chybu o nedostupnosti programu // RPM package requires rpmbuild executable// | ||
+ | |||
+ | Pro nahrání schéma je potřeba mín na madolu JTAGFT2232V02A Jumper MODE v poloze JTAG, která umožňuje JTAG spojení s interním CPLD. Pomocí příkazu pak již do modulu nahrajeme schéma: | ||
+ | sudo xc3sprog -c bbv2_2 jtagkey.bit | ||
+ | |||
+ | Bitfile od schéma je v dokumentační složce // | ||
+ | ===== Využití modulu ===== | ||
+ | |||
+ | Modul může být díky svojí univerzální konstrukci, kdy je jeho funkce dána obsahem CPLD využit pro různé účely. | ||
+ | |||
+ | ==== SPI programátor ==== | ||
+ | |||
+ | Modul může být použit k naprogramování schéma do SPI flash paměti. | ||
+ | |||
+ | ==== J-tag programátor ==== | ||
+ | |||
+ | === ARM === | ||
+ | |||
+ | Procesory ARM lze přes tento modul programovat pomocí programu OpenOCD. Podrobnosti najdete na stránce [[cs: | ||
+ | |||
+ | OpenOCD má v Ubuntu sice dostupné balíčky, ale jejich verze je zatím značně opožděna za současným vývojem. Proto je lepší si zkompilovat aktuální verzi. To provedeme následujícím postupem: | ||
+ | |||
+ | sudo apt-get install libtool git gcc automake libftdi-dev texinfo | ||
+ | git clone git:// | ||
+ | cd openocd-code/ | ||
+ | ./bootstrap | ||
+ | ./configure --enable-maintainer-mode --disable-werror --enable-ft2232_libftdi | ||
+ | make | ||
+ | sudo make install | ||
+ | | ||
+ | Tím máme v systému naistalováno OpenOCD. Pokud jej budeme chtít odinstalovat, | ||
+ | |||
+ | sudo make uninstall | ||
+ | |||
+ | Pokud máme k počítači připojený modul [[cs: | ||
+ | |||
+ | sudo openocd -f " | ||
+ | | ||
+ | Open On-Chip Debugger 0.7.0-rc1-dev-00011-gd9ba56c (2013-04-28-11: | ||
+ | Licensed under GNU GPL v2 | ||
+ | For bug reports, read | ||
+ | http:// | ||
+ | Info : only one transport option; autoselect ' | ||
+ | adapter speed: 1000 kHz | ||
+ | adapter_nsrst_delay: | ||
+ | jtag_ntrst_delay: | ||
+ | cortex_m3 reset_config sysresetreq | ||
+ | Info : max TCK change to: 30000 kHz | ||
+ | Info : clock speed 1000 kHz | ||
+ | Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) | ||
+ | Info : JTAG tap: stm32f1x.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1) | ||
+ | Info : stm32f1x.cpu: | ||
+ | |||
+ | OpenOCD teď vytvořilo server ke kterému se můžeme přípojit přes telnet | ||
+ | |||
+ | telnet localhost 4444 | ||
+ | | ||
+ | Trying 127.0.0.1... | ||
+ | Connected to localhost. | ||
+ | Escape character is ' | ||
+ | Open On-Chip Debugger | ||
+ | > | ||
+ | |||
+ | === FPGA hradlová pole === | ||
+ | |||
+ | Modul může být dále využit k programování hradlových polí. Tedy například i vývojové desky [[cs: | ||
+ | |||
+ | K tomu co je k JTAG modulu připojeno se dostaneme příkazem: | ||
+ | |||
+ | xc3sprog -c bbv2 | ||
+ | |||
+ | ==== Vývojová deska FPGA ==== | ||
+ | |||
+ | Hradlové pole v modulu lze využívat i samostatně v aplikacích, | ||
+ | |||
+ | ====== JTAGFT2232V01A ====== | ||
+ | |||
+ | Je již zastaralá verze modulu, která není nadále podporována. | ||
+ | |||
+ | ==== TODO ==== | ||
+ | |||
+ | Seznam změn: | ||
+ | přidat tranzistor na (NRST nebo JNTRST - musím zjistit, nemám u sebe zdrojáky) | ||
+ | odebrat piníky J9 , J5 ,J6, J7, J13 - jsou nepotřebné a zabírají místo | ||
+ | přidat pojistku na USB | ||
+ | přidat sériové odpory 22Ohm na JTCK ,JTDI, JTDO, JTMS | ||
+ | dodělat nap. translátor? | ||
+ | |||
+ | === Napsal MIJA === | ||
+ | |||
+ | Chtěl jsem udělat JTAG i s napěťovým translátorem ( 1,8 - 3,3 V), proto jsou tam ty tranzistory na reset. Nemusí se řešit napěťová úroveň. Pro datové signály jsem pořídil od TI sn74avc4t774 na převod úrovně. | ||
+ | |||
+ | Toto byla první verze, kde jsem chtěl otestovat samotnou funkčnost JTAG. Verze po úpravě ve zdrojáku v OPENOCD fungovala, a mezi tím KAHO přišel na ST-link, který umí pohodlněji naprogramovat STM32Fxxx. Já už se na úpravu nedostal. | ||
+ | |||
+ | Pokud bys chtěl FTDI 2232D tak mám ještě dvě (ať mi tu neleží). FTDI dodává už FT2232H, který komunikuje s USB přes High-speed. Bohužel je jiné pouzdro. Určitě dokáže rychleji naprogramovat, | ||
cs/jtagft2232v.txt · Poslední úprava: 2020/01/22 18:26 autor: kaklik