There's two steps to going from a PBP program to a .hex file.
First the PBP program gets compiled (that's what PBP does, it's a compiler and it compiles programs). For this the compiler uses its own device specific .inc file located in the PBP folder. The output of the compiler is basically your program converted into assembly language. This then needs to be run thru an assembler and IT uses it's own device specific .inc file which is located in the MPASM folder. The output of the assembler is your final .hex file that you then program into the PIC.
If you've noticed the __CONFIG...... are "enclosed" with ASM / ENDASM meaning that it is assembly. PBP doesn't know or care about that - it's directly passed to the assembler and it's the assemblers job to interpret what to do with it.
Prior to PBP3 the compiler came with its own assembler, called PM but it has never worked for 18-series chips so you MUST have MPASM installed somewhere on your system and you MUST have your IDE (MicroCodeStudio - which is nothing more than a text editor tailored specifically for PBP code really) pointing to the install folder of MPASM - otherwise you wouldn't be able to compile and assemble anything for 18-series devices.
Don't guess. Open the .INC file in the MPASM folder, scroll down to find the options for the CONFIG1H register and it'll TELL you what it the correct names for all the options: _FOSC_INTOSC_HS_1H - if that is the correct one for your application is another question. I've never used USB so I don't know.i figured it should read _FOSC_INTHS_HS_1H but thats not right
/Henrik.
Bookmarks