cs:arm_programming
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
cs:arm_programming [2013/11/08 12:56] – kaklik | cs:arm_programming [Unknown date] (aktuální) – upraveno mimo DokuWiki (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Řádek 12: | Řádek 12: | ||
Jako volně dostupný kompilátor se může použít GNU C Compiler, dostupný v git repositáři [[https:// | Jako volně dostupný kompilátor se může použít GNU C Compiler, dostupný v git repositáři [[https:// | ||
- | Pro instalaci do Ubuntu je možné využít před připravené [[https:// | + | == Rychlá instalace pomocí |
- | + | ||
- | == Rychlá instalace pomocí | + | |
sudo add-apt-repository ppa: | sudo add-apt-repository ppa: | ||
sudo apt-get update | sudo apt-get update | ||
- | sudo apt-get install gcc-arm-none-eabisudo | + | sudo apt-get install gcc-arm-none-eabi libnewlib-arm-none-eabi |
+ | |||
+ | Pokud si nechcete do systému přidávat nový PPA repozitář, | ||
+ | | ||
| | ||
== Postup kompilace == | == Postup kompilace == | ||
- | V terminálu je potřeba se nacházet ve složce, kde se nachází soubory potřebné pro kompilaci a následně stačí zadat příkaz MAKE | ||
- | | ||
- | ===== Programovací GUI ===== | ||
- | Programovací prostředí v kterém | + | V terminálu |
- | + | ||
- | ==== Sublime text ==== | + | |
- | + | ||
- | Je placený editor pro linux mezi jeho vyjímečné vlastnosti patří například náhled celého zdrojového kódu. | + | |
- | + | ||
- | [[http:// | + | |
- | + | ||
- | ==== Code:: | + | |
- | + | ||
- | Jde o velmi rozřířený editor, jehož výhodou je, že běží na více platformách a mohou ho tedy používat i uživatelé windows. | + | |
- | + | ||
- | [[http:// | + | |
- | + | ||
- | sudo apt-get install codeblocks | + | |
- | + | ||
- | | + | |
===== Knihovny periférií ===== | ===== Knihovny periférií ===== | ||
Řádek 65: | Řádek 48: | ||
=== Sériový bootloader === | === Sériový bootloader === | ||
+ | |||
+ | Booloader může být použit na rozhraních USART1, USART2, CAN2 nebo USB. Všechny typy ARM ale nepodporují všechny typy. Dále může být bootloader použit pouze v případě užití konkrétních frekvencí krystalů. | ||
+ | |||
+ | * USART pracuje s interním 8 MHz oscilátorem | ||
+ | * CAN a USB OTG FS funguje pouze s externími oscilátory 8 MHz, 14.7456 MHz nebo 25 MHz | ||
+ | |||
Užití bootloaderu je výhodné v případech, | Užití bootloaderu je výhodné v případech, | ||
Řádek 131: | Řádek 120: | ||
=== USB bootloader === | === USB bootloader === | ||
- | [[http://dfu-util.gnumonks.org/ | + | [[https:// |
- | Pro aktivaci bootloaderu přes USB musíte připojit +3,3 V na nožičku PA9. Spuštění bootloaderu se provádí tlačítky: stiskni RESET, stiskni BOOT, pusť RESET, pusť BOOT. | + | == Zapojení == |
- | Dávka pro volání dfu-util pro platformu Windows a přeložená verze dfu-util bez potřeby dalších knihoven je zde uložena v dokumentační složce modulu [[cs: | + | Pro aktivaci bootloaderu přes USB musíte připojit Vcc (+3,3 V) na nožičku PA9. Spuštění bootloaderu se provádí sekvencí tlačítek: stiskni RESET, stiskni BOOT, pusť RESET, pusť BOOT. Že je mikroprocesor přepnutý do DFU módu lze zkontrolovat přikazem lsusb: |
+ | |||
+ | $ lsusb | ||
+ | Bus 003 Device 007: ID 0483:df11 STMicroelectronics STM Device in DFU Mode | ||
+ | |||
+ | Dále je dobré si zkontrolovat, | ||
+ | |||
+ | |||
+ | Dávka pro volání dfu-util pro platformu Windows a přeložená verze dfu-util bez potřeby dalších knihoven je uložena v dokumentační složce modulu [[cs: | ||
Příklad volání dfu-util: | Příklad volání dfu-util: | ||
Řádek 147: | Řádek 144: | ||
Nahrání firmware si můžete vyzkoušet pomocí tohoto vzorového bináru, který z procesoru STM32F107 udělá USB HID myš, která opisuje kolečko: [[http:// | Nahrání firmware si můžete vyzkoušet pomocí tohoto vzorového bináru, který z procesoru STM32F107 udělá USB HID myš, která opisuje kolečko: [[http:// | ||
+ | |||
+ | Přímo z klonu MLAB svn repozitáře se nahrání přeloženého bináru // | ||
+ | |||
+ | $ sudo ./dfu-util -d 0483:df11 -a 0 -D ../ | ||
+ | | ||
+ | je však potřeba v terminálu být na správné cestě. tj. například // | ||
| | ||
==== J-TAG ==== | ==== J-TAG ==== | ||
Řádek 152: | Řádek 155: | ||
Jtag lze použít téměř s libovolným ARM mikroprocesorem. | Jtag lze použít téměř s libovolným ARM mikroprocesorem. | ||
- | K programování přes JTAG se potřebuje externí programátor. Na modulu [[cs: | + | K programování přes JTAG je potřeba externí programátor. Na modulu [[cs: |
- | Programovat | + | Modul JTAGFT2232V02A |
- | OpenOCD má v Ubuntu sice nativně podporované balíčky, ale jejich verze je obvykle značně opožděna za současným vývojem. Proto je lepší si zkompilovat aktualní verzi.. | ||
- | |||
- | 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 | ||
- | > | ||
===== RTOS operační systém ===== | ===== RTOS operační systém ===== |
cs/arm_programming.1383915397.txt.gz · Poslední úprava: 2013/11/08 12:56 (upraveno mimo DokuWiki) · Právě zamknuto: 65.108.99.55