gnupic: Re: [gnupic] How do I set configuration bits for 18f252 in gpasm?


Previous by date: 9 Jun 2006 06:03:07 +0100 Re: [gnupic] How do I set configuration bits for 18f252 in gpasm?, George M. Gallant, Jr.
Next by date: 9 Jun 2006 06:03:07 +0100 first attempt flops, Maxim Wexler
Previous in thread: 9 Jun 2006 06:03:07 +0100 Re: [gnupic] How do I set configuration bits for 18f252 in gpasm?, George M. Gallant, Jr.
Next in thread:

Subject: Re: [gnupic] How do I set configuration bits for 18f252 in gpasm?
From: David Froseth ####@####.####
Date: 9 Jun 2006 06:03:07 +0100
Message-Id: <448900FD.6040300@umich.edu>

George,

Thanks to you, I found my include files at: 
/sw/share/gputils/header/p18f252.inc
Since I am on a Mac, I am using Fink, which puts everything in '/sw'.
Gpasm's use of __CONFIG and the RETFIE FAST command are now working 
perfectly.
Thanks again!

George M. Gallant, Jr. wrote:
> David,
> 
> FAST is defined on my system
> in /usr/local/share/gputils/header/p18f252.inc. As the file
> is not stock gputils and the years have not been kind to my little gray
> cells, I don't know
> if this is supplied by the gputils team or not.
> 
> George
> 
> On Thu, 2006-06-08 at 16:48 -0400, David Froseth wrote:
> 
> 
>>Thanks George for the reply.  In the gputils documentation, I could not 
>>find anything about how to do a settup like you have. Am I missing an 
>>include file?  Maybe this is common knowledge.
>>
>>Here is what I did to get __config working. At least to me, it looks 
>>like it is working. Here is some of the gpasm output:
>>
>>                00021         list            p=18f252
>>                00022
>>   00300001     00023 _config1h               equ     0x300001
>>   00300002     00024 _config2l               equ     0x300002
>>   00300003     00025 _config2h               equ     0x300003
>>   00300005     00026 _config3h               equ     0x300005
>>   00300006     00027 _config4l               equ     0x300006
>>                00028
>>                00029
>>300000 FAFF    00030         __config        _config1h, b'11111010'  ;HS 
>>oscillator
>>                00031         __config        _config2l, b'11111110' 
>>;enable power-up timer
>>300002 FEFE    00032         __config        _config2h, b'11111110' 
>>;watchdog timer disabled
>>300004 FFFF    00033         __config        _config3h, b'11111111'  ;
>>300006 FFFB    00034         __config        _config4l, b'11111011' 
>>;Disable LVP
>>                00035
>>
>>The program address and the program data is where it should be.  Since I 
>>did not define a config1l at 0x300000, the assembler automatically 
>>writes all 1's with the lower byte of the 0x300000 address being 'FF'. 
>>0x300001 is 'FA' as it should be.  So, it also seems that my original 
>>numbers were wrong - unused bits should be written as '1', correct?
>>
>>I also fixed problems with the 'retfie FAST' instruction.
>>I was getting an error:
>>
>>Error [113] : Symbol not previously defined (FAST).
>>001C 0010      00183                 retfie          FAST
>>
>>In the PIC18FXX2 documentation (pg. 217) the retfie instruction word is 
>>defined as - 0000 0000 0001 000s, where s=1, if you want certain 
>>registers restored from shadow registers when returning from an 
>>interrupt (pg. 214).
>>So I defined FAST as '1':
>>
>>FAST     equ  0x01
>>
>>Now I get this output from gpasm:
>>
>>001C 0011      00183                 retfie          FAST
>>                00184
>>
>>
>>This seems right since the op-code word is now '0011'h, which equals 
>>'0000 0000 0001 0001'.  Do I have this right?
>>
>>One last question - Does the '&' symbol in '_OSCS_OFF_1H & _HS_OSC_1H' 
>>cause gpasm to do an AND logic function on the two bits represented by 
>>the mnemonics?
>>
>>Thanks.
>>
>>George M. Gallant, Jr. wrote:
>>
>>>gpasm does a fine job with the 18f252.  Here is my current setup.
>>>
>>>George
>>>
>>>;               __CONFIG  _CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H
>>>                __CONFIG  _CONFIG1H, _OSCS_OFF_1H & _HSPLL_OSC_1H
>>>
>>>                __CONFIG  _CONFIG2L, _PWRT_ON_2L & _BOR_OFF_2L &
>>>_BORV_20_2L
>>>                __CONFIG  _CONFIG2H, _WDT_OFF_2H
>>>
>>>                __CONFIG  _CONFIG4L, _DEBUG_OFF_4L & _LVP_OFF_4L &
>>>_STVR_ON_4L
>>>
>>>                __CONFIG  _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L
>>>                __CONFIG  _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H
>>>
>>>                __CONFIG  _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L
>>>                __CONFIG  _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H &
>>>_WRTD_OFF_6H
>>>
>>>                __CONFIG  _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L
>>>                __CONFIG  _CONFIG7H, _EBTRB_OFF_7H
>>>
>>>
>>>
>>>
>>>On Thu, 2006-06-08 at 14:24 -0400, David Froseth wrote:
>>>
>>>
>>>
>>>>I would like to use gpasm to make a hex file for a 18f252 pic.  However, 
>>>>I am unsure of how to write the code, which sets up the configuration 
>>>>bits.  The 18f parts have several config files located in 0x300001 - 
>>>>0x30000d of the program memory.  How do I write my assembly program so 
>>>>that gpasm knows what to do?
>>>>
>>>>I would like to have these values in the various config files:
>>>>
>>>>config1h = b'00100010'
>>>>config2l = b'00001110'
>>>>config2h = b'00001110'
>>>>config3h = b'00000001'
>>>>config4l = b'10000001'
>>>>
>>>>Thanks for any advice.
>>>>
>>>>p.s. Does gpasm support all of the additional instructions of the 
>>>>enhanced 18f parts - i.e. bra, movlb, movff, etc?
>>>>
>>>>
>>>>---------------------------------------------------------------------
>>>>To unsubscribe, e-mail: ####@####.####
>>>>For additional commands, e-mail: ####@####.####
>>>>
>>>
>>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: ####@####.####
>>For additional commands, e-mail: ####@####.####
>>
> 
> 

Previous by date: 9 Jun 2006 06:03:07 +0100 Re: [gnupic] How do I set configuration bits for 18f252 in gpasm?, George M. Gallant, Jr.
Next by date: 9 Jun 2006 06:03:07 +0100 first attempt flops, Maxim Wexler
Previous in thread: 9 Jun 2006 06:03:07 +0100 Re: [gnupic] How do I set configuration bits for 18f252 in gpasm?, George M. Gallant, Jr.
Next in thread:


Powered by ezmlm-browse 0.20.