• Stars
    star
    107
  • Rank 323,587 (Top 7 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created over 9 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Flash programming utility for Microchip PIC32 microcontrollers
Pic32prog is a utility for loading data into a flash memory of Microchip PIC32
microcontrollers.  Supported adapters and bootloaders:
 * Microchip PICkit2
 * Microchip PICkit3 with scripting firmware
 * Olimex ARM-USB-Tiny (not finished yet)
 * Olimex ARM-USB-Tiny, ARM-USB-Tiny-H and ARM-USB-OCH-H JTAG adapters
 * Olimex MIPS-USB-OCH-H JTAG adapter
 * Bus Blaster v2 JTAG adapter from Dangerous Prototypes
 * Flyswatter JTAG adapter from TinCanTools
 * AN1388 HID bootloader
 * Legacy FS_USB HID bootloader


=== Usage ===

When called without parameters, pic32prog utility detects a type of microcontroller
and device configuration.  For example:

    % pic32prog
    Programmer for Microchip PIC32 microcontrollers, Version 1.0
        Copyright: (C) 2011 Serge Vakulenko
          Adapter: PICkit2 Version 2.32.0
        Processor: 795F512L (id 04307053)
     Flash memory: 512 kbytes
    Configuration:
        DEVCFG0 = 7ffffffd
                         1 Debugger enabled
                         8 Use PGC2/PGD2
        DEVCFG1 = ff6afd5b
                         3 Primary oscillator with PLL
                       1   Primary oscillator: XT
                       4   CLKO output active
                      3    Peripheral bus clock: SYSCLK / 8
                      4    Fail-safe clock monitor disable
                      8    Clock switching disable
                     a     Watchdog postscale: 1/1024
        DEVCFG2 = fff8f9d9
                         1 PLL divider: 1/2
                        5  PLL multiplier: 20x
                       1   USB PLL divider: 1/2
                      8    Disable USB PLL
                           Enable USB PLL
                     0     PLL postscaler: 1/1
        DEVCFG3 = 3affffff
                     7     Assign irq priority 7 to shadow set
                           Ethernet RMII enabled
                   2       Default Ethernet i/o pins
                           Alternate CAN i/o pins
                           USBID pin: controlled by port
                           VBuson pin: controlled by port

Writing to flash memory:

    pic32prog [-v] file.srec
    pic32prog [-v] file.hex

Reading memory to file:

    pic32prog -r file.bin address length

Parameters:

    file.srec   - file with firmware in SREC format
    file.srec   - file with firmware in Intel HEX format
    file.bin    - binary file
    address     - address in memory
    -v          - verify only (no write)
    -r          - read mode

Input file should have format SREC or Intel HEX.
You can convert ELF format (also COFF or A.OUT) to SREC using objcopy utility,
for example:

    objcopy -O srec firmware.elf firmware.srec


=== Sources ===

Sources are distributed under the terms of GPL.
You can download sources using Git:

    git clone https://github.com/sergev/pic32prog.git

To build it on Ubuntu, a few additional packages need
to be installed:

    sudo apt-get install libusb-dev libusb-1.0-0-dev libudev-dev

___
Regards,
Serge Vakulenko

More Repositories

1

4.4BSD-Lite2

4.4BSD Lite Release 2: last Unix operating system from Berkeley
C
352
star
2

LiteBSD

Variant of 4.4BSD Unix for microcontrollers
C
305
star
3

bkunix

Unix V6 operating system for Soviet personal computer BK-0010/0011M
C
71
star
4

baoclone

A command-line utility for saving, restoring and modifying the configuration of Baofeng handheld radios.
C
64
star
5

vak-opensource

Public sources and various open projects of my collection
C
45
star
6

bash-commander

Version of the GNU Bourne Again shell extended with two-panel file manager.
C
43
star
7

mk-61

Replica of MK-61 programmable calculator is based on a cycle-accurate model of legacy ICs running on a modern microcontroller.
C
35
star
8

b-compiler

B language compiler
C
28
star
9

Unix-Network-Programming-1st-Edition

Source code from W. Richard Stevens's book "UNIX Network Programming", 1st edition.
C
25
star
10

ejtagproxy

GDB interface utility for MIPS processors, including PIC32
C
23
star
11

gost-russian-standards

GOST: Russian standards related to computers
17
star
12

pic32sim

Simulator of pic32 microcontroller, based on OVPsim
C
14
star
13

morse-beacon

Morse CW beacon for LoRa board
C++
13
star
14

SDL_bgi

Graphics library (GRAPHICS.H) for C, C++, WebAssembly, and Python, from https://sourceforge.net/projects/sdl-bgi/
C
12
star
15

Guide-to-FPGA-Implementation-of-Arithmetic-Functions

Examples from the book by Deschamps et al. https://www.amazon.com/Implementation-Arithmetic-Functions-Electrical-Engineering/dp/9400729863
HTML
11
star
16

deco

Demos Commander, dual-pane orthodox file manager
C
10
star
17

bk0012

FPGA-based board with pdp11 architecture, compatible with famous Soviet BK-0011M personal computer.
C
10
star
18

mfmdisk

Utility to handle MFM images of floppy disks
C
9
star
19

elftoolchain

ELF toolchain
C
9
star
20

sdwriter

A command line tool for writing images to SD cards
C
8
star
21

Usenix_Tapes

Usenix Software Distribution tapes from 198x
C
7
star
22

plan9-4e-latest

Final version of Plan 9 4th Edition from Bell Labs
C
7
star
23

pic32-usb-bootloader

USB HID bootloader for PIC32MX microcontroller
C
7
star
24

lemon-parser-generator

LALR parser generator for C and D languages
C
7
star
25

zpu-avalanche

Implementation of ZPU processor in Verilog
SystemVerilog
7
star
26

picosim

Simulator of RP2040 microcontroller
C
6
star
27

klauslang

Klaus programming language (backup of https://gitflic.ru/project/czaerlag/klauslang)
Pascal
6
star
28

usb-rom

RP2040 as read-only USB drive
C
5
star
29

colossal-cave-adventure-ru

Implementation of text game Colossal Cave Adventure in Russian
C
5
star
30

systemc-tlm-demo

C++
5
star
31

g21k

GCC port for Analog Devices's SHARC architecture
C
5
star
32

Pytest-Actions-Demo

Demo of Python application testing with Pytest and automation with Github Actions
Python
5
star
33

yaesutool

A command-line utility for configuring Yaesu handheld radios
C
5
star
34

dhrystone

Classical computing benchmark program
C
4
star
35

milprog

Flash programming utility for Milandr ARM microcontrollers (1986Π’Πœ9x family)
C
4
star
36

grafor

Grafor: a library of 2D graphics for Fortran
Fortran
4
star
37

sc

C
4
star
38

deIPcK

Digilent Embedded IP Stack and drivers for MRF24WG0MA Wi-Fi and pic32mx Ethernet controllers
C
4
star
39

ti-2500-datamath

Simulator of TI-2500 calculator
C++
3
star
40

red

Visual text editor for Unix
C
3
star
41

b-n-strugatsky

Software written by Boris Strugatsky
Pascal
3
star
42

sv-30h

Scientific calculator, based on HP-30b hardware, tailored for the needs of programmers and software engineers. A fork of WP-34s project.
C
3
star
43

ache-editor

WYSIWYG text editor for Unix
C
2
star
44

basic-mk85

C
2
star
45

SiCortex-sc1

Simulator of SiCortex SC1 processor, based on SIMH
C
2
star
46

ieee754-test-suite

Test Suite for IEEE 754R Compliance, from https://research.ibm.com/haifa/projects/verification/fpgen/test_suite_download.shtml
2
star
47

svs-cpu

Experimental model of SVS processor
C
2
star
48

prolog-am

Simple Prolog interpreter by Alan Mycroft
C++
2
star
49

raw-floppy-images

Raw floppy images for Supercard Pro
2
star
50

simulation-with-coroutines

Discrete-event simulation framework based on coroutines
C++
2
star
51

x1-algol-compiler

Algol 60 compiler for Electrologica X1, restored
C++
2
star
52

algol-w-compiler

Algol W compiler by Glyn Webster, from https://tiddly-pom.com/~glyn/
OCaml
1
star
53

besmsim

A simple besm6 simulator written in Rust
Rust
1
star
54

adventure-ru-inform

Russian version of game Colossal Cave Adventure for Inform6 platform
C
1
star
55

mcprog

A utility for programming the flash memory of Elvees Multicore processors.
C
1
star
56

gpio-pic32

Command-line access to GPIO on PIC32 under Linux
C
1
star
57

iced-demo

Simple application with Iced GUI, in Rust
Rust
1
star
58

wavedrompy

WaveDrom compatible python command line
Python
1
star
59

vasic

Experimental scripting language similar to Lua and JavaScript
Shell
1
star
60

linkit-cube-demo

Demo for LED cube 8x8x8 and Linkit Smart 7688 board
C
1
star
61

stkboot

Bootloader with stk500 protocol for AVR microcontrollers
C
1
star
62

deco-binaries

Makefile
1
star
63

deas

C
1
star
64

refal2-legacy

Refal-2 implementation from http://www.refal.net/~belous/
C
1
star
65

xpl-compiler

XPL to C translator
C
1
star
66

FG085-Firmware

Firmware sources for FG085 function generator
C
1
star
67

cxx-command-line-skeleton

Skeleton of a C++ command line application
C++
1
star
68

ttgo-lora32-fonts

Fonts for 128x64 LED displays
C
1
star