Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:mork [2015/03/22 18:29]
darron [Set up]
projects:mork [2017/01/12 22:44] (current)
Line 1: Line 1:
 ==== Mork Microchip PIC32MX ICSP ==== ==== Mork Microchip PIC32MX ICSP ====
 <wrap right> <wrap right>
-{{:projects:mork2.jpg?200|ICSP APE65 MX150}}+{{:projects:mork2.jpg?200|vcc-gnd}}
 \\ \\ \\ \\
 {{:projects:stmvcp.jpg?200|Windows 7}} {{:projects:stmvcp.jpg?200|Windows 7}}
 +\\ \\
 +{{:projects:mmmork.jpg?200|Maple mini}}
 </wrap> </wrap>
  
-Mork is adaptation of [[:projects:nanu-nanu|Nanu nanu]] Microchip PIC ICSP for the STM32 based [[:boards:vcc-gnd|vcc-gnd]] or [[:boards:maple|Maple mini]].+This is a Microchip PIC32 ICSP (in circuit serial programmer) for STM32 micro-controllers. Mork allows an STM32 to program the flash on a PIC32. 
 + 
 +Mork is adaptation of [[:projects:nanu-nanu|Nanu nanu]] Microchip PIC ICSP for the STM32 based [[:boards:vcc-gnd|vcc-gnd]] or [[:boards:maple|Maple mini]] (the stm32 F4 discovery is also supported in the build but not documented here).
  
 Both STM32 boards are inexpensive boards which don't cost much more than the [[:boards:nano|Nano 3.0]] yet they are far more powerful. Both STM32 boards are inexpensive boards which don't cost much more than the [[:boards:nano|Nano 3.0]] yet they are far more powerful.
  
-One complication though for the [[:boards:vcc-gnd|vcc-gnd]], is that it comes with a serial boot loader which is not accessible via it'USB port. This means that another device is required to program the [[:boards:vcc-gnd|vcc-gnd]] which can be an [[:tools:stlink|STLink]] compatible device or, if using a 3V3 UART, [[:tools:stm32flash|STM32Flash]].+One complication though for the [[:boards:vcc-gnd|vcc-gnd]], is that it comes with a serial boot loader which is not accessible via its USB port. This means that another device is required to program the [[:boards:vcc-gnd|vcc-gnd]] which can be an [[:tools:stlink|STLink]] compatible device or, if using a 3V3 UART, [[:tools:stm32flash|STM32Flash]].
  
 The [[:boards:vcc-gnd|vcc-gnd]] page shows both examples of programming the board. The [[:boards:vcc-gnd|vcc-gnd]] page shows both examples of programming the board.
  
-The [[:boards:maple|Maple mini]] comes with a USB boot loader which is programmed using [[:tools:dfu-util|dfu-util]] and doesn't need any other hardware, this is an easier option than the [[:boards:vcc-gnd|vcc-gnd]].+The [[:boards:maple|Maple mini]] comes with a USB boot loader which is compatible with [[:tools:dfu-util|dfu-util]]. This doesn't need any other hardware and is an easier option for running this application than the [[:boards:vcc-gnd|vcc-gnd]].
  
 === Licence === === Licence ===
Line 20: Line 24:
 Mork is licensed under same terms as [[:projects:pickle|Pickle Microchip PIC ICSP]] which is the source of the software used to create this project. The Pickle [[:projects:pickle:licence|LICENCE]] is found here. This licence details the rights and liabilities of using  the  application and it should be especially understood that I, the  author,  will not accept any responsibility for any side effects of  running it.  Do not download and use this firmware unless you are willing  to accept  the consequences of it failing for any reason. Mork is licensed under same terms as [[:projects:pickle|Pickle Microchip PIC ICSP]] which is the source of the software used to create this project. The Pickle [[:projects:pickle:licence|LICENCE]] is found here. This licence details the rights and liabilities of using  the  application and it should be especially understood that I, the  author,  will not accept any responsibility for any side effects of  running it.  Do not download and use this firmware unless you are willing  to accept  the consequences of it failing for any reason.
  
-=== Credits ===+=== Credits and thanks ===
  
 This software was written by Darron M Broad and is an adaptation of [[:projects:pickle|Pickle Microchip PIC ICSP]]. This software was written by Darron M Broad and is an adaptation of [[:projects:pickle|Pickle Microchip PIC ICSP]].
  
 +Thanks go to the libopencm3 developers for providing this library. This is used for a number of functions but most importantly,  the USB driver.
  
 === Install === === Install ===
Line 29: Line 34:
 Mork utilises [[:tools:libopencm3|OpenCM3]] and this must be installed first. Installation of this will require [[:tools:gccarm|gccarm]] and Mork depends on that also. Mork utilises [[:tools:libopencm3|OpenCM3]] and this must be installed first. Installation of this will require [[:tools:gccarm|gccarm]] and Mork depends on that also.
  
-When prepared we can build and install Mork. In this example I am using [[:tools:stlink|STLink]] with a [[:boards:stm32f4|STM32 F4 discovery]] to program the [[:boards:vcc-gnd|vcc-gnd]]. +When prepared we can fetch and build Mork.
 <code> <code>
 hg clone http://hg.kewl.org/pub/Mork hg clone http://hg.kewl.org/pub/Mork
 cd Mork cd Mork
 make make
 +</code>
 +
 +Now we can install the firmware. In this example I am using [[:tools:stlink|STLink]] with a [[:boards:stm32f4|STM32 F4 discovery]] to program the [[:boards:vcc-gnd|vcc-gnd]].
 +<code>
 make -f Makefile.vcc-gnd st-flash make -f Makefile.vcc-gnd st-flash
 </code> </code>
  
 If you need to use [[:tools:stm32flash|STM32Flash]], then program like this. If you need to use [[:tools:stm32flash|STM32Flash]], then program like this.
- 
 <code> <code>
 make -f Makefile.vcc-gnd stm32flash make -f Makefile.vcc-gnd stm32flash
Line 46: Line 53:
 You should follow the advice on the [[:boards:vcc-gnd|vcc-gnd]] page regarding wiring for [[:tools:stm32flash|STM32Flash]] and remember not to connect USB simultaneously when programming. You should follow the advice on the [[:boards:vcc-gnd|vcc-gnd]] page regarding wiring for [[:tools:stm32flash|STM32Flash]] and remember not to connect USB simultaneously when programming.
  
-For the [[:boards:maple|Maple mini]] the programming process is simpler. Checkout the source code and build as above the install [[:tools:dfu-util|dfu-util]]. Press reset on the board and one second later, enter the following.+For the [[:boards:maple|Maple mini]] the programming process is simpler. Install [[:tools:dfu-util|dfu-util]] and press reset on the board and then one second later, enter the following.
 <code> <code>
 make -f Makefile.maple_mini dfu-util make -f Makefile.maple_mini dfu-util
Line 94: Line 101:
  
 Later versions of Windows are not available to test. Later versions of Windows are not available to test.
 +