Ero sivun ”Padauk Programmer FW” versioiden välillä
Rivi 28: | Rivi 28: | ||
Yleisimmillä Linux jakeluilla dfu-util on ladattavissa normaaleilla ohjelmistojen asennus/päivitystoimenpiteillä. | Yleisimmillä Linux jakeluilla dfu-util on ladattavissa normaaleilla ohjelmistojen asennus/päivitystoimenpiteillä. | ||
Mahdollisesti libusb pitää myös asentaa. Joskus libusb-1.0-0-dev on tarpeen. | Mahdollisesti libusb pitää myös asentaa. Joskus libusb-1.0-0-dev on tarpeen. | ||
− | Esimerkiksi Ubuntu/Mint jakeluissa komentot ovat: | + | Esimerkiksi Ubuntu/Mint jakeluissa komentot ovat:<br /> |
<code> | <code> | ||
− | sudo apt-get install libusb-1.0-0 | + | sudo apt-get install libusb-1.0-0 |
− | #tai | + | #tai |
− | sudo apt-get install libusb-1.0-0-dev | + | sudo apt-get install libusb-1.0-0-dev |
− | # dfu-util: | + | # dfu-util: |
− | sudo apt-get install dfu-util | + | sudo apt-get install dfu-util |
</code> | </code> | ||
− | def-util vaatii sudo/root oikeuksia, mutta tämän voi ohittaa | + | def-util vaatii sudo/root oikeuksia, mutta tämän voi ohittaa. |
− | Kopioi tiedosto [https://github.com/free-pdk/easy-pdk-programmer-software/blob/master/Linux_udevrules/70-stm32vcp.rules 70-stm32vcp.rules] hakemistoon /etc/udev/rules.d ja uudelleenkäynnistä udev manager seuraavasti: | + | Kopioi tiedosto [https://github.com/free-pdk/easy-pdk-programmer-software/blob/master/Linux_udevrules/70-stm32vcp.rules 70-stm32vcp.rules] hakemistoon /etc/udev/rules.d ja uudelleenkäynnistä udev manager seuraavasti:<br /> |
<code> | <code> | ||
Rivi 55: | Rivi 55: | ||
* Valitse valikosta Options -> List All Devices | * Valitse valikosta Options -> List All Devices | ||
* Valitse ylimmästä valintalistasta "STM32 BOOTLOADER" | * Valitse ylimmästä valintalistasta "STM32 BOOTLOADER" | ||
− | * Käynnistä asennus painikkeesta "Replace Driver" | + | * Käynnistä asennus painikkeesta "Replace Driver"<br /> |
− | + | <br /> | |
[[Tiedosto:Zadic.png|none]] | [[Tiedosto:Zadic.png|none]] | ||
<br /> | <br /> | ||
==== DFU käyttöönotto MAC:llä ==== | ==== DFU käyttöönotto MAC:llä ==== | ||
Minulle ei ole MAC-ympäristöä käytössäni. | Minulle ei ole MAC-ympäristöä käytössäni. | ||
− | http://dfu-util.sourceforge.net/ ohjeistaa asennuksen seuraavasti: | + | http://dfu-util.sourceforge.net/ ohjeistaa asennuksen seuraavasti:<br /> |
Mac OS X users can also get dfu-util from Homebrew with "brew install dfu-util" or from MacPorts. | Mac OS X users can also get dfu-util from Homebrew with "brew install dfu-util" or from MacPorts. | ||
− | Ohjelman | + | Ohjelman toimivuuden voi tarkistaa esimerkiksi komennolla dfu-util -V:<br /> |
− | + | <code> | |
+ | ./dfu-util -V | ||
dfu-util 0.9 | dfu-util 0.9 | ||
− | + | ||
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. | Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. | ||
Copyright 2010-2016 Tormod Volden and Stefan Schmidt | Copyright 2010-2016 Tormod Volden and Stefan Schmidt | ||
Rivi 73: | Rivi 74: | ||
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/</code> | Please report bugs to http://sourceforge.net/p/dfu-util/tickets/</code> | ||
<br /> | <br /> | ||
+ | |||
+ | == Padauk Programmer ohjelman lataus dfu-util:lla == | ||
+ | |||
+ | * Aloita siten, että Padauk Programmer on kytketty irti USB:sta | ||
+ | * Paina boot - painiketta ja kytke USB | ||
+ | * Kun USB on kytketty, vapauta BOOT - painike | ||
+ | * Käynnistä dfu-util:<br /> | ||
+ | <code> | ||
+ | ./dfu-util -d 0483:df11 -a "@Internal Flash /0x08000000/064*0002Kg" --dfuse-address 0x08000000 -D EASYPDKPROG.dfu | ||
+ | dfu-util 0.9 | ||
+ | |||
+ | Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. | ||
+ | Copyright 2010-2016 Tormod Volden and Stefan Schmidt | ||
+ | This program is Free Software and has ABSOLUTELY NO WARRANTY | ||
+ | Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ | ||
+ | |||
+ | Opening DFU capable USB device... | ||
+ | ID 0483:df11 | ||
+ | Run-time device DFU version 011a | ||
+ | Claiming USB DFU Interface... | ||
+ | Setting Alternate Setting #0 ... | ||
+ | Determining device status: state = dfuERROR, status = 10 | ||
+ | dfuERROR, clearing status | ||
+ | Determining device status: state = dfuIDLE, status = 0 | ||
+ | dfuIDLE, continuing | ||
+ | DFU mode device DFU version 011a | ||
+ | Device returned transfer size 2048 | ||
+ | DfuSe interface name: "Internal Flash " | ||
+ | Downloading to address = 0x08000000, size = 33664 | ||
+ | Download [=========================] 100% 33664 bytes | ||
+ | Download done. | ||
+ | File downloaded successfully | ||
+ | </code> | ||
+ | * Irroita Padauk Programmer USB:sta. Ladattu koodi käynnistyy vasta USB:n uudelleenkytkennässä. | ||
== Padauk Programmer FW - lähdekoodit == | == Padauk Programmer FW - lähdekoodit == | ||
+ | === Free-PDF lähdekoodit Makefile:llä === | ||
+ | |||
Ohjelman lähdekoodit on saatavilla Free PDK sivuilta osoitteesta: | Ohjelman lähdekoodit on saatavilla Free PDK sivuilta osoitteesta: | ||
https://github.com/free-pdk/easy-pdk-programmer-software/tree/master/Firmware | https://github.com/free-pdk/easy-pdk-programmer-software/tree/master/Firmware | ||
Rivi 85: | Rivi 122: | ||
Pura paketti esim. työhakemistoosi. | Pura paketti esim. työhakemistoosi. | ||
Muokkaa makefile:ssa kääntäjän polkuun tämä hakemisto:<br /> | Muokkaa makefile:ssa kääntäjän polkuun tämä hakemisto:<br /> | ||
− | GCC_PATH = ./gcc-arm-none-eabi-9-2019-q4-major/bin<br /> | + | <code> |
− | Mikäli sinulla on make - komento käytettävissäsi, voi kääntää sillä lähdekoodit dfu-tiedostoksi. | + | GCC_PATH = ./gcc-arm-none-eabi-9-2019-q4-major/bin<br /> |
+ | </code> | ||
+ | Mikäli sinulla on make - komento käytettävissäsi, voi kääntää sillä lähdekoodit dfu-tiedostoksi.<br /> | ||
+ | |||
+ | === Free-PDF lähdekoodit STM32CubeIDE:llä === | ||
+ | Muokkasin käsin lähdekoodit STM32CubeIDE 1.4.2:lle. En takaa tälle täydellistä yhteensopivuutta alkuperäisen ohjelman kanssa. STM32CubeIDE:n uudemmat versiot edellyttivät mm. hakemistorakenteen muuttamista STM3CubeMX koodien päivittymistä.<br /> | ||
+ | |||
+ | Koodi pitää ladata ST-LINK:llä programmerin ohjelmointipinnien kautta. | ||
+ | Näin pääset paremmin tutkimaan programmerin ohjelmaa. | ||
+ | Ohjelma on mielestäni hyvä esimerkki STM32-prosessorin käytöstä, käytössä on ainakin: | ||
+ | * USB | ||
+ | * A/D muunnin | ||
+ | * D/A muunnin | ||
+ | * GPIO | ||
+ | * DMA | ||
+ | * SPI | ||
+ | * USART | ||
+ | * TIMER | ||
+ | |||
+ | Jos (kun) et ehdi perehtyä STM32-prossun konfiguraatiovaihtoehtoihin ja -riippuvuuksiin, tästä ohjelmasta voi katsoa vinkkejä miten asioita on toteutettu. | ||
+ | |||
+ | TODO: EASY20200826.zip ladattavaksi kunhan saan riittävät oikeudet HelsinkiHacklab github:iin. | ||
+ | Ohje paketin lataukseen STM32CubeIDE:een löytyy wikin Vinkit-osiosta. | ||
+ | |||
+ | |||
+ | == COPYRIGHT AND LICENSE == | ||
+ | The Padauk Programmer software is copyright of Free PDK:<br /> | ||
+ | Copyright (C) 2019-2020 freepdk https://free-pdk.github.io<br /> | ||
+ | free-pdk/easy-pdk-programmer-software is licensed under the | ||
+ | GNU General Public License v3.0 | ||
+ | |||
+ | free-pdk/easy-pdk-programmer-hardware is licensed under the | ||
+ | Creative Commons Attribution Share Alike 4.0 International | ||
+ | |||
+ | All <code>easypdkprog</code> software is unmodified copies of the original version 1.3.<br /> | ||
+ | The schematic and hardware is modified to: | ||
+ | * Enable smt production (eg. crystal) | ||
+ | * Use components available from JLCPCB for PCB and Assembly | ||
+ | |||
+ | <code>easypdkprog</code> software structure is modified to work in STM32CubeIDE 1.4.2.<br /> | ||
+ | |||
+ | The schematic and hardware is modified to: | ||
+ | * Enable smt production (eg. crystal) | ||
+ | * Use components available from JLCPCB for PCB and Assembly | ||
+ | |||
+ | The Helsinki Hacklab modified hardware is electronically and functionally compatible with the original Free PDK versions:<br /> | ||
+ | Hardware:1.2<br /> | ||
+ | Firmware:1.3<br /> | ||
+ | Protocol:1.3<br /> | ||
+ | |||
+ | ---- | ||
+ | --Matti Nummi 17. lokakuuta 2020 kello 13.57 (EEST) |
Versio 17. lokakuuta 2020 kello 12.57
Padauk Programmer FW - Padauk prosessorien ohjelmointilaitteen Firmware
{{{kuvateksti}}}
| }}Padauk Programmer FW
{{#if: | | }} {{#if: | | }}Tyyppi: | Ohjelmointilaite, USB |
Tekijät: | Martti Paalanen, Matti Nummi |
Aloitettu: | 2020 |
Tila: | valmis |
GitHub: | [{{{github}}}] |
URL: | [{{{url}}}] |
KESKENERÄINEN
Ohjelman perusversio
Padauk ohjelmoitilaitteen ohjelman (firmware/FW) perusversio on free-pdk version 1.3 suora kopio. Ohjelmasta on Device Firmware Upgrade (DFU) versio EASYPDKPROG.dfu
Padauk Programmer on ohjelmoitavissa Device Firmware Upgrade (DFU) protokollalla. DFU:lla ohjelma voidaan ladata laitteelle, joka tukee DFU:ta, suoraan USB-liitännän kautta ilman ohjelmointilaitteita. STM32 prosessorit tukevat DFU:ta bootloaderin yhteydessä.
DFU käyttöönotto
DFU:n käyttöä varten ohjelmalle dfu-util, Linux, Mac ja Win10 ympäristöissä tarvitaan omat valmistelut, jotta DFU - lataus onnistuu. Ohjeet löytyvät mm. dfu-util:n sivulta
DFU käyttöönotto Linux:lla
Yleisimmillä Linux jakeluilla dfu-util on ladattavissa normaaleilla ohjelmistojen asennus/päivitystoimenpiteillä.
Mahdollisesti libusb pitää myös asentaa. Joskus libusb-1.0-0-dev on tarpeen.
Esimerkiksi Ubuntu/Mint jakeluissa komentot ovat:
sudo apt-get install libusb-1.0-0
#tai
sudo apt-get install libusb-1.0-0-dev
# dfu-util:
sudo apt-get install dfu-util
def-util vaatii sudo/root oikeuksia, mutta tämän voi ohittaa.
Kopioi tiedosto 70-stm32vcp.rules hakemistoon /etc/udev/rules.d ja uudelleenkäynnistä udev manager seuraavasti:
sudo bash -c 'cp 70-stm32vcp.rules /etc/udev/rules.d/ ; udevadm control --reload'
DFU käyttöönotto Win10:llä
Käyttöönotosta löytyy ohjeita netistä, esimerkiksi Scott Hanselman http://dfu-util.sourceforge.net/releases/dfu-util-0.9-win64.zip Käyttöönotto vaatinee seuraavat askeleet:
- Asenna dfu-util ohjelma purkamalla paketin dfu-util-0.9-win64.zip dfu-util.
- Asenna ohjelma zadig-2.5.exe tallentamalla tiedosto zadic-2.5.exe.
- Kytke Padauk Programmer usb-kaapelilla ja paina samanaikaisesti boot-painiketta.
- Kun olet kytkenyt usb-kaapelin, vapauta boot-painike.
- Käynnista Zadic - ohjelma.
- Valitse valikosta Options -> List All Devices
- Valitse ylimmästä valintalistasta "STM32 BOOTLOADER"
- Käynnistä asennus painikkeesta "Replace Driver"
DFU käyttöönotto MAC:llä
Minulle ei ole MAC-ympäristöä käytössäni.
http://dfu-util.sourceforge.net/ ohjeistaa asennuksen seuraavasti:
Mac OS X users can also get dfu-util from Homebrew with "brew install dfu-util" or from MacPorts.
Ohjelman toimivuuden voi tarkistaa esimerkiksi komennolla dfu-util -V:
./dfu-util -V
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Padauk Programmer ohjelman lataus dfu-util:lla
- Aloita siten, että Padauk Programmer on kytketty irti USB:sta
- Paina boot - painiketta ja kytke USB
- Kun USB on kytketty, vapauta BOOT - painike
- Käynnistä dfu-util:
./dfu-util -d 0483:df11 -a "@Internal Flash /0x08000000/064*0002Kg" --dfuse-address 0x08000000 -D EASYPDKPROG.dfu
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
Opening DFU capable USB device...
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08000000, size = 33664
Download [=========================] 100% 33664 bytes
Download done.
File downloaded successfully
- Irroita Padauk Programmer USB:sta. Ladattu koodi käynnistyy vasta USB:n uudelleenkytkennässä.
Padauk Programmer FW - lähdekoodit
Free-PDF lähdekoodit Makefile:llä
Ohjelman lähdekoodit on saatavilla Free PDK sivuilta osoitteesta: https://github.com/free-pdk/easy-pdk-programmer-software/tree/master/Firmware
Lähdekoodit perustuvat STM32CubeMX kirjastoille. Free PDK lähdekoodi sisältää makefile:n kääntämistä varten.
Asenna GNU Arm Embedded Toolchain kääntämistä varten:
Lataa käyttistäsi vastaava paketti osoitteesta: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
Pura paketti esim. työhakemistoosi.
Muokkaa makefile:ssa kääntäjän polkuun tämä hakemisto:
GCC_PATH = ./gcc-arm-none-eabi-9-2019-q4-major/bin
Mikäli sinulla on make - komento käytettävissäsi, voi kääntää sillä lähdekoodit dfu-tiedostoksi.
Free-PDF lähdekoodit STM32CubeIDE:llä
Muokkasin käsin lähdekoodit STM32CubeIDE 1.4.2:lle. En takaa tälle täydellistä yhteensopivuutta alkuperäisen ohjelman kanssa. STM32CubeIDE:n uudemmat versiot edellyttivät mm. hakemistorakenteen muuttamista STM3CubeMX koodien päivittymistä.
Koodi pitää ladata ST-LINK:llä programmerin ohjelmointipinnien kautta. Näin pääset paremmin tutkimaan programmerin ohjelmaa. Ohjelma on mielestäni hyvä esimerkki STM32-prosessorin käytöstä, käytössä on ainakin:
- USB
- A/D muunnin
- D/A muunnin
- GPIO
- DMA
- SPI
- USART
- TIMER
Jos (kun) et ehdi perehtyä STM32-prossun konfiguraatiovaihtoehtoihin ja -riippuvuuksiin, tästä ohjelmasta voi katsoa vinkkejä miten asioita on toteutettu.
TODO: EASY20200826.zip ladattavaksi kunhan saan riittävät oikeudet HelsinkiHacklab github:iin. Ohje paketin lataukseen STM32CubeIDE:een löytyy wikin Vinkit-osiosta.
COPYRIGHT AND LICENSE
The Padauk Programmer software is copyright of Free PDK:
Copyright (C) 2019-2020 freepdk https://free-pdk.github.io
free-pdk/easy-pdk-programmer-software is licensed under the
GNU General Public License v3.0
free-pdk/easy-pdk-programmer-hardware is licensed under the Creative Commons Attribution Share Alike 4.0 International
All easypdkprog
software is unmodified copies of the original version 1.3.
The schematic and hardware is modified to:
- Enable smt production (eg. crystal)
- Use components available from JLCPCB for PCB and Assembly
easypdkprog
software structure is modified to work in STM32CubeIDE 1.4.2.
The schematic and hardware is modified to:
- Enable smt production (eg. crystal)
- Use components available from JLCPCB for PCB and Assembly
The Helsinki Hacklab modified hardware is electronically and functionally compatible with the original Free PDK versions:
Hardware:1.2
Firmware:1.3
Protocol:1.3
--Matti Nummi 17. lokakuuta 2020 kello 13.57 (EEST)