User Tools

Site Tools

Translations of this page?:

Action disabled: register
cs:jtagft2232v

J-tag programátor JTAGFT2232V02A

Dokumentace k modulu E-shop UST

Jedná se o J-TAG programátor vhodný pro programování procesorů ARM osazených v modulu 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 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 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 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 S3AN01A. Výhodou tohoto programátoru oproti řešení 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

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? (budeme zatím programovat jen 3,3V aplikace?)

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, ale po prostudování STM je rychlost JTAG omezena a na to stačí FTDI2232D (full-speed).

cs/jtagft2232v.txt · Last modified: 2020/01/22 18:26 by kaklik