Ero sivun ”Padauk Programmer FW” versioiden välillä

Kohteesta Helsinki Hacklabin wiki
Loikkaa: valikkoon, hakuun
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 seuraavasti:
+
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 toimivuden voi tarkistaa esimerkiksi komennolla dfu-util -V:<br />
+
Ohjelman toimivuuden voi tarkistaa esimerkiksi komennolla dfu-util -V:<br />
  <code>root@lm20:~# dfu-util -V
+
<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 10.57

Padauk Programmer FW - Padauk prosessorien ohjelmointilaitteen Firmware

Padauk Programmer FW

Tyyppi: Ohjelmointilaite, USB
Tekijät: Martti Paalanen, Matti Nummi
Aloitettu: 2020
Tila: valmis



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"


Zadic.png


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)