gnupic: [gnupic] Different hex file generated by gpasm and mpasm


Previous by date: 23 Sep 2005 09:46:48 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Craig Franklin
Next by date: 23 Sep 2005 09:46:48 +0100 Xwisp2 1.7.2 released, Rob Hamerling
Previous in thread: 23 Sep 2005 09:46:48 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Craig Franklin
Next in thread:

Subject: RE: [gnupic] Different hex file generated by gpasm and mpasm
From: Chen Xiao Fan ####@####.####
Date: 23 Sep 2005 09:46:48 +0100
Message-Id: <3B8AEFFADD3DD4118F8100508BACEC2C0A28924F@spex>

Next time I will check the map file and list file more
carefully.

Answering my own questions in the previous post.
1) gputils deal with PIC12/14 EEProm the same way as MPASM/MPLINK.
2) gputils deal with the configuration bits the same way
as MPASM/MPLINK. The unused bits (unimplemented, read as 0)
and the unknown bits (bandgap bits BG1 BG0) will be "1".
3) It seems to me that there are no difference between the
linker scripts.

Therefore programmer software should take care of the EEProm
and Configuration bits according to 1) and 2) since both
assemblers are consistent in the behaviors.

Regards,
Xiaofan

Test hex file generated by gputils:

	list      p=12f675       
	#include <p12f675.inc>        

	__CONFIG   _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF 
      & _WDT_OFF &  _PWRTE_ON & _INTRC_OSC_NOCLKOUT  

mydata UDATA_SHR 0x20
COUNTER RES 1

EEPromData	CODE	H'2100'
	DE	"Test GPASM GPLINK",0
           
Reset	CODE	H'0000'
	...skipped...

:020000040000FA
:06000000831690000528A4
:0800080009003E3085009F0154
:1000100099018312073099008316C830810083123A
...skipped...
:10010000850083120430850008008316F8308500CE
:08011000831202308500080093
:02400E00843FED                (Configuration word : 3F84)
:104200005400650073007400200047005000410016 (Test GPA)
:1042100053004D002000470050004C0049004E0064 (SM GPLIN)
:044220004B0000004F                         (K0)
:0442FC00A500000019  (.org_0 ??? what does this mean?)
:00000001FF

One new question:
According to the map file, the line :0442FC00A500000019 
(Map file: .org_0       code   0x00217e    program   0x000004)
belongs to the .org_o section, what is the function of this one?

Regards,
Xiaofan


-----Original Message-----
From: Craig Franklin 
Sent: Friday, September 23, 2005 8:42 AM

mplink always reserves space for .cinit even if no initialized data 
sections exist.  Run mplink with the /m option and you will see it.  
gplink only creates the symbol if an initialized section is present.

The lesson here is map files are your friend.  If anything looks strange 
look there.

-----Original Message-----
From: Chen Xiao Fan 
Sent: Tuesday, September 20, 2005 6:57 PM

To be more specific, I have some questions.

1) EEPROM handling of the PIC12/14 architecture.
MPLAB produces/exports of hex file of "00 xx". How about gputils?

2) Unimplemented bits in the configuration word:
Some of them are supposed to be read as 0 and some of
them are supposed to be read as 1. It seems to me that
MPASM/MPLINK will generate "1" no matter it should 
read as 0 or 1.

3) Linker script
Any significant difference between the linker script used
in gputils and MPASM/MPLINK?


Previous by date: 23 Sep 2005 09:46:48 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Craig Franklin
Next by date: 23 Sep 2005 09:46:48 +0100 Xwisp2 1.7.2 released, Rob Hamerling
Previous in thread: 23 Sep 2005 09:46:48 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Craig Franklin
Next in thread:


Powered by ezmlm-browse 0.20.