Uživatelské nástroje

Nástroje pro tento web


cs:jtagft2232v

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
cs:jtagft2232v [2013/07/24 11:49] – [JTAGFT2232V01A] kaklikcs:jtagft2232v [2020/01/22 18:26] (aktuální) – [SPI programátor] kaklik
Řádek 1: Řádek 1:
 ====== J-tag programátor JTAGFT2232V02A ====== ====== J-tag programátor JTAGFT2232V02A ======
  
-Interni komunikacni signaly jsou 3.3 V proto, protože spicac HC4066 nepracuje spolehlive se signaly mensimi, nez 2 V. +[[http://www.mlab.cz/Modules/CommSerial/JTAGFT2232V02A/DOC/JTAGFT2232V02A.cs.pdf|Dokumentace k modulu]] 
- +[[http://www.ust.cz/shop/product_info.php?products_id=236&osCsid=knud68e99fjvmuruh74pk48hj3|E-shop UST]] 
 + 
 +Jedná se o J-TAG programátor vhodný pro programování procesorů ARM osazených v modulu [[cs:stm32f10xrxt|STM32F10xRxT01A]]. Tento modul programátoru je softwarově i hardwarově kompatibilní se známou konstrukcí BusBlaster V4.  
 + 
 + 
 +===== 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://xc3sprog.sourceforge.net/guide.php|xc3sprog]]. Tento program zatím nemá .deb balíček. Proto je potřeba jej zkompilovat a nainstalovat klasickým postupem: 
 + 
 +  svn co https://xc3sprog.svn.sourceforge.net/svnroot/xc3sprog/trunk xc3sprog 
 +  cd xc3sprog 
 +  cmake .  
 +  make  
 +  make package 
 + 
 +Chybu o nedostupnosti programu //  RPM package requires rpmbuild executable// můžeme ignorovat, protože RPM balíček v Ubuntu nepotřěbujeme. Měl by ale vzniknout deb balíček //xc3sprog-0.0-svn752.x86_64.deb//. Který můžeme již nainstalovat standardním instalačním procesem.  
 + 
 +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 //svnMLAB/Modules/CommSerial/JTAGFT2232V02A/HDL/JTAGkey//
 +===== 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:arm_programming#j-tag|o programování procesorů ARM]]. 
 + 
 +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://git.code.sf.net/p/openocd/code openocd-code 
 +  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, použije se příkaz  
 + 
 +  sudo make uninstall 
 + 
 +Pokud máme k počítači připojený modul [[cs:jtagft2232v|JTAGFT2232V02A]] s nahraným schématem v FPGA, tak se můžeme připojit k nějakému ARMu. 
 + 
 +  sudo openocd -f "interface/busblaster.cfg" -f "target/stm32f1x.cfg" 
 +   
 +  Open On-Chip Debugger 0.7.0-rc1-dev-00011-gd9ba56c (2013-04-28-11:46) 
 +  Licensed under GNU GPL v2 
 +  For bug reports, read 
 +  http://openocd.sourceforge.net/doc/doxygen/bugs.html 
 +  Info : only one transport option; autoselect 'jtag' 
 +  adapter speed: 1000 kHz 
 +  adapter_nsrst_delay: 100 
 +  jtag_ntrst_delay: 100 
 +  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: hardware has 6 breakpoints, 4 watchpoints 
 + 
 +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:s3an|S3AN01A]]. Výhodou tohoto programátoru oproti řešení [[cs:xvc_ft220x|Xilinx Virtual Cable s obvodem FTDI FT220X]] je že takto lze schéma nahrát i do interní FLASH paměti, takže v FPGA zůstane i po vypnutí napájení. 
 + 
 +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, kde je jeho rychlost a rozměr dostačující. Modul tak může být v některých případech použit, jako USB interfaece mezi PC a aplikací.  
 ====== JTAGFT2232V01A ====== ====== JTAGFT2232V01A ======
  
cs/jtagft2232v.1374666594.txt.gz · Poslední úprava: 2013/07/24 11:49 (upraveno mimo DokuWiki)