Package: gputils
Version: 0.13.1
When I use gputils 0.12.4-1 to compile my program I can include a .o
file made from a .asm file which specifies the PIC18F458 configuration
locations. This produces appropriate output in the resulting .hex
file.
When I use gputils 0.13.1-1 to do the same thing, the ID location data
is simply omitted. This is a critical failure in my application - it
maes 0.13.1-1 unuseable for me.
See the transcript below.
Note that in both cases I'm using a `backport' - that is, I rebuilt
the package on a system running woody. This was trouble free and I'm
confident that isn't the problem. If you really think it is then I
could try the supplied 0.13.1-1 .deb on a system running testing.
I suspect that this bug may need to go upstream, but I'm reporting it
here first so that you can decide what to do with it.
Thanks,
Ian.
-davenant:cebpic> really dpkg -i
~/things/PIC/backports/gputils_0.12.4-1_i386.deb
(Reading database ... 108288 files and directories currently installed.)
Preparing to replace gputils 0.12.4-1 (using .../gputils_0.12.4-1_i386.deb) ...
Unpacking replacement gputils ...
Setting up gputils (0.12.4-1) ...
-davenant:cebpic> make clean
rm -f -- *~ *.new
rm -f *.hex *.cod *.lst *.o
rm -f idlocs*.asm
-davenant:cebpic> make led-flash-withcfg.hex
gpasm -p 18f458 -c led-flash.asm
gpasm -p 18f458 -c config.asm
gplink -o led-flash-withcfg.hex led-flash.o config.o
message: using default linker script "/usr/share/gputils/lkr/18f458.lkr"
-davenant:cebpic> cp led-flash-withcfg.hex worked
-davenant:cebpic> really dpkg -i
~/things/PIC/assembler/orig/gputils_0.13.1-1_i386.deb
(Reading database ... 108288 files and directories currently installed.)
Preparing to replace gputils 0.12.4-1 (using
.../orig/gputils_0.13.1-1_i386.deb) ...
Unpacking replacement gputils ...
Setting up gputils (0.13.1-1) ...
-davenant:cebpic> make clean
rm -f -- *~ *.new
rm -f *.hex *.cod *.lst *.o
rm -f idlocs*.asm
-davenant:cebpic> make led-flash-withcfg.hex
gpasm -p 18f458 -c led-flash.asm
gpasm -p 18f458 -c config.asm
gplink -o led-flash-withcfg.hex led-flash.o config.o
message: using default linker script "/usr/share/gputils/lkr/18f458.lkr"
-davenant:cebpic> diff -u worked led-flash-withcfg.hex
--- worked Wed Apr 20 18:40:05 2005
+++ led-flash-withcfg.hex Wed Apr 20 18:40:26 2005
@@ -5,6 +5,4 @@
:1000500031EC00F036EC00F015EF00F095948C8454
:1000600012009584120095948C941200F294D76A31
:08007000D66AF2A4FED71200CB
-:020000040030CA
-:0E000000FFFDF2FEFFFFFBFFFFFFFFFFFFFF14
:00000001FF
-davenant:cebpic>
-davenant:cebpic> cat config.asm
; -*- fundamental -*-
include /usr/share/gputils/header/p18f458.inc
; __config _CONFIG1L, 0xff
__config _CONFIG1H, _OSCS_OFF_1H & _ECIO_OSC_1H
__config _CONFIG2L, _BOR_ON_2L & _PWRT_ON_2L & _BORV_45_2L
__config _CONFIG2H, _WDT_OFF_2H
; __config _CONFIG3L, 0xff
; __config _CONFIG3H, 0xff
__config _CONFIG4L, _DEBUG_OFF_4L & _LVP_OFF_4L & _STVR_ON_4L
; __config _CONFIG4H, 0xff
__config _CONFIG5L, 0xff
__config _CONFIG5H, 0xff
__config _CONFIG6L, 0xff
__config _CONFIG6H, 0xff
__config _CONFIG7L, 0xff
__config _CONFIG7H, 0xff
end
-davenant:cebpic> cat led-flash.asm
; pin 21 (per-pic-led, RD2/PSP2/C1IN) states: high H = green, low L = red,
float Z = black
include /usr/share/gputils/header/p18f458.inc
code
start
; pin initial config
bcf TRISE,4,0 ; turn off PSPMODE (Data Sheet p100/101)
; timer initial config
bcf T0CON,6,0 ; p107 Timer0 -> 16bit mode
bcf T0CON,5,0 ; timer0 use internal clock
bcf T0CON,3,0 ; use prescaler
bsf T0CON,2,0 ; }
bcf T0CON,1,0 ; } prescale value 1:32 (13ms x 32)
bcf T0CON,0,0 ; }
; actually do stuff
call green
call waiting
call black
call waiting
call red
call waiting
call black
call waiting
goto start
green
bcf TRISD,2,0 ; make pin RD2 an output (DS100)
bsf LATD,2,0 ; set pin RD2 H (green)
return
black
bsf TRISD,2,0 ; make pin RD2 an input (i.e. set Z, black)
(DS100)
return
red
bcf TRISD,2,0 ; make pin RD2 an output (DS100)
bcf LATD,2,0 ; set pin RD2 L (red)
return
waiting
bcf INTCON,2,0 ; clear timer0 interrupt bit (p109)
clrf TMR0H,0 ; p107 set high bit of timer0 to 0 (buffered,
; so only actually set when write to tmr0l
occurs)
clrf TMR0L,0 ; set low bit o timer0 - timer now set to 0000h
loop
btfss INTCON,2,0 ; check whethr tiomer0 interrupt has been set -
; skip next instruction if so
bra loop
return
end
-davenant:cebpic>
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]