MicroChip PIC30F Assembler

This is the place for any magazine-related discussions that don't fit in any of the column discussion boards below.
Post Reply
markp
Posts: 33
Joined: Thu Jan 24, 2002 1:01 am
Location: Florida
Contact:

MicroChip PIC30F Assembler

Post by markp »

I've done a lot of development with the PIC16F87x processors
using the MPASM assembler and would like to change to the
PIB30F family. What I'm looking for is a ASM30 Assembler that
will run on a DOS machine. I have no need for the full ICE
package and like using "old" laptops for dedicated development
systems. MicroChip says ASM30, although a command line
program, will not run on a DOS machine.
Any ideas?
User avatar
haklesup
Posts: 3136
Joined: Thu Aug 01, 2002 1:01 am
Location: San Jose CA
Contact:

Post by haklesup »

I don't have time to find a spec sheet but if the programming interface is JTAG (or similar serial port) then you can probably write your file to disk (on the windows machine) from the compiler then copy that file through a JTAG programmer on the DOS machine.

Though if your intention was to do it all on a DOS machine, I think the answer is no. If the software provider does not make a DOS version, that's all there is to it unless there are other compatible compilers from other vendors.
markp
Posts: 33
Joined: Thu Jan 24, 2002 1:01 am
Location: Florida
Contact:

Post by markp »

What I hope to find is a cross-assembler to run on a DOS
machine and generate a HEX file. I have no need for a
Linker.
User avatar
philba
Posts: 2050
Joined: Tue Nov 30, 2004 1:01 am
Location: Seattle
Contact:

Post by philba »

not much call these days for DOS based tools. I'm skeptical that one exists but you should try PICLIST - if there is one, some one there should know.

good luck. I think you'll need it!
markp
Posts: 33
Joined: Thu Jan 24, 2002 1:01 am
Location: Florida
Contact:

Post by markp »

I've given up on trying to find an existing PIC30F
DOS based assembler.

The instruction set seems too complicated to use
one of the configurable "generic" assemblers. That
leaves (1) writing my own or (2) giving up.

Being retired and having 45 years programming
experience, option (2) may be possible.

My PIC development platforms are "old" IBM
DOS laptop ( 120MHZ+) with a parallel port PIC
programmer ( the Nuts & Volts 2-Bit Flash
Programmer by Ron Ross ) and a large
solderless breadoard. The PIC's I develop usually
have a COM port ( RS485 or RS232 ) and this is
also commected to the PC. This package is cheap
and powerful for quick assembly language
development. If the programs are developed in
a modular fashion ( and tested at each stage ),
the ICE functions ae not necessary. The cost is
so low, multiple platforms can be used as
hardware/software testing evolves.

If anyone is inteested a DOS assembler, please
ket me know.

P.S. A few years ago, I was in a large IS meeting
with over twenty people. I was going over my
design for a large PIC based machine monitoring
network. Someone asked "how much programming
experience do you have?" When I said 40 years,
there was a dead silence.

It took a few hours for me to figure out, aside from
me, there was no one in the room over 40 years old !
Scott Olson
Posts: 2
Joined: Mon Oct 30, 2006 8:04 am
Location: Sunny south Florida
Contact:

Post by Scott Olson »

markp wrote: My PIC development platforms are "old" IBM DOS laptop ( 120MHZ+) with a parallel port PIC programmer ( the Nuts & Volts 2-Bit Flash
Programmer by Ron Ross ) and a large solderless breadoard. The PIC's I develop usually have a COM port ( RS485 or RS232 ) and this is also commected to the PC. This package is cheap and powerful for quick assembly language development. If the programs are developed in a modular fashion ( and tested at each stage ), the ICE functions ae not necessary. The cost is so low, multiple platforms can be used as
hardware/software testing evolves.
Sorry I can't help; I can only feel your pain. I too like the simple command line approach. I wired up the Microchip parallel port app note programmer years ago (one for work, one for home). I would rather type the code in a windows editor, but then compile with MPASM and burn. At work, I no longer have the "right" to boot into DOS, or use an OS which lets me talk to the parallel port directly (at home I use Win98 for this reason). So now, at work I use a PicSTART plus that Microchip "loaned" to me. Also, for the life of me, I don't understand all the STAMP interest. It's so simple and cheap to use plain PICs. My latest home project is a two channel EEG system. The entire digital section is a single 8 pin 12F675 (less than $2), not even a single pull up resistor. With the internal 4 MHz oscillator and A/Ds, there's nothing else needed except for RS232 level conversion. (I didn't actually spend any money on the PIC, I've got plenty of samples.)
redrocker
Posts: 87
Joined: Fri Oct 29, 2004 1:01 am
Location: Pennsylvania
Contact:

Post by redrocker »

There are two gross over-simplifications in markp's desires. The first is the notion that it is possible to create an executable without a linker. The second is the underestimation of how much more complex the programming specification is for the newer, 16-bit PICs, such as the 30F series.

The 16-bit PICs have brought about a paradigm shift in these areas. You must use both the assembler and the linker to create an executable. No exception. Secondly, the programming specification is so arduous that it is impractical to manufacture your own parallel port programmer and associated software unless you want to dedicate some real time to it.

Complicating all of this further by the desire to perform these functions in DOS is likely a non-starter.
markp
Posts: 33
Joined: Thu Jan 24, 2002 1:01 am
Location: Florida
Contact:

Post by markp »

The PIC30 hardware is no more complex than the 80386 and that
can be programmed to produce a hex file without a Linker. Most
dedicated real-time PDP-11 based systems were done this way. Linkers
allow modular code construction but are not really necessary. When
you're pushing the memory or realtime speed limits of a processor
with a dedicated allpication, I prefer to do the memory allocation
myself.
redrocker
Posts: 87
Joined: Fri Oct 29, 2004 1:01 am
Location: Pennsylvania
Contact:

Post by redrocker »

Here is an excerpt from a 30F document:

Unlike the MPASM™ assembler (for use with PICmicro® MCU’s), MPLAB ASM30 does not generate error files, hex files, or symbol and debug files. MPLAB ASM30 is capable of creating a listing file and a relocatable object file (that may or may not contain debugging information). MPLAB LINK30, the linker, is used with MPLAB ASM30 to produce the final object files, map files and final executable file for debugging with MPLAB IDE (see Figure 1-1).
User avatar
philba
Posts: 2050
Joined: Tue Nov 30, 2004 1:01 am
Location: Seattle
Contact:

Post by philba »

if your point is it's not possible to create an assembler or compiler that directly creates a hex file, then I must disagree. If your point is none exist, that's a different story.

the bottom line is that for better or worse, graphical environments are the tool maker's target platforms. I doubt any one who builds tools would focus on DOS. Linux is a bit different as programs are wrappable by graphical tools.
redrocker
Posts: 87
Joined: Fri Oct 29, 2004 1:01 am
Location: Pennsylvania
Contact:

Post by redrocker »

Point taken. I became too focused on Microchip's tools due to the reference to ASM30 in the original post.
Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests