Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Disassembler for PIC?

Status
Not open for further replies.

winterhunter

New Member
Hi,

I'm trying to get a bootloader to work with some sourceboost programs I've wrote, but I can't seem to get it right. My poor PIC16F877A will end up with all the pins sheared if I continue to change it several times per day between the programmer and the board.

First I've tried the bootloader that is pointed out in sourceboost's homepage (at the end of this page) but it is for the 877, and even though I have a hard time seen the difference between the 877 and the 877A, it does not work with my processor.


So I've said "what the heck" and decided to try another one that has even been ported to PIC18Fs, so it could be a neat solution (Bootloader )

In order to work, this bootloader needs the following :
+ That the program does not write over it; since my program is short(a blinking LED), it stays way out of the bootloader's memory (which is located at the top).
+ That the program has a long jump before address 0x04 (the interrupt vector is there)

Is there any way to view the Hex files as opcodes and operands instead of seeing them as "numbers" (I've tried reading them and trying to figure out the relationship between the numbers in the hex file and the instructions, but with little luck!

Any ideas?

http://www.microchipc.com/PIC16bootload/#DownloadWindows
 
winterhunter said:
Is there any way to view the Hex files as opcodes and operands instead of seeing them as "numbers" (I've tried reading them and trying to figure out the relationship between the numbers in the hex file and the instructions, but with little luck!

Any ideas?

https://www.microchipc.com/PIC16bootload/#DownloadWindows

Assemble the bootloader inside MPLAB with your compiler. Then do View>Disassembly Listing inside MPLAB.

There are both A and non A versions of the bootloader at the link you posted. Use the right one.
 
Last edited:
winterhunter said:
... and even though I have a hard time seen the difference between the 877 and the 877A, it does not work with my processor.

The reason the F877 bootloader doesn't work with F887A is the fact that F877A requires user to write four 14-bit words together instead of one at a time for F877.

The original bootloader software requires to be modified for it to work on F877A.

Why don't try the following bootloader which I've recommended in the Sticky of this forum:



Regarding to your question of seeing the assembly instructions of HEX file, you can load the HEX file into MPLAB IDE or into Nigel Goodwin's WinPicProg and there are options to display it as human readable instructions.
 
@3v0:
I'm using the A version of the bootloader, and works fine with programs that use a long jump at the beginning.

@eblc1388:
Using MPLAB I've found that BoostC does not do a long jump. The bootloader that you suggested also needs a long jump (and that the Status register be zeroed).
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top