92 lines
2.9 KiB
Plaintext
92 lines
2.9 KiB
Plaintext
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
|