flashforth-devel Mailing List for FlashForth: for PIC and Atmega (Page 29)
Brought to you by:
oh2aun
You can subscribe to this list here.
2011 |
Jan
|
Feb
(22) |
Mar
(3) |
Apr
(4) |
May
(6) |
Jun
(8) |
Jul
|
Aug
(6) |
Sep
|
Oct
(20) |
Nov
(9) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2012 |
Jan
(4) |
Feb
|
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
(14) |
Nov
(1) |
Dec
|
2013 |
Jan
(4) |
Feb
(5) |
Mar
(4) |
Apr
(2) |
May
|
Jun
(29) |
Jul
(7) |
Aug
|
Sep
(20) |
Oct
(9) |
Nov
(2) |
Dec
(7) |
2014 |
Jan
|
Feb
(23) |
Mar
(113) |
Apr
(25) |
May
(31) |
Jun
(9) |
Jul
(47) |
Aug
(15) |
Sep
(1) |
Oct
(4) |
Nov
(8) |
Dec
(3) |
2015 |
Jan
(21) |
Feb
(1) |
Mar
(18) |
Apr
(16) |
May
(100) |
Jun
(33) |
Jul
|
Aug
(10) |
Sep
(8) |
Oct
(7) |
Nov
(5) |
Dec
|
2016 |
Jan
(12) |
Feb
(9) |
Mar
|
Apr
(7) |
May
(5) |
Jun
(9) |
Jul
(1) |
Aug
(2) |
Sep
(17) |
Oct
(3) |
Nov
|
Dec
|
2017 |
Jan
(6) |
Feb
(12) |
Mar
(9) |
Apr
(3) |
May
(7) |
Jun
|
Jul
(12) |
Aug
|
Sep
(13) |
Oct
|
Nov
|
Dec
(10) |
2018 |
Jan
(1) |
Feb
|
Mar
(7) |
Apr
(4) |
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(21) |
Oct
(3) |
Nov
|
Dec
|
2019 |
Jan
(5) |
Feb
(4) |
Mar
|
Apr
|
May
(3) |
Jun
(11) |
Jul
(4) |
Aug
(6) |
Sep
(3) |
Oct
|
Nov
(9) |
Dec
(7) |
2020 |
Jan
(2) |
Feb
(3) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(4) |
Dec
|
2021 |
Jan
|
Feb
|
Mar
(8) |
Apr
(40) |
May
(12) |
Jun
|
Jul
|
Aug
(3) |
Sep
(3) |
Oct
(4) |
Nov
(10) |
Dec
(4) |
2022 |
Jan
(29) |
Feb
(7) |
Mar
(10) |
Apr
|
May
(3) |
Jun
(3) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(6) |
2023 |
Jan
(8) |
Feb
|
Mar
(5) |
Apr
(9) |
May
(6) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
(9) |
Aug
(7) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: Mikael N. <mik...@pp...> - 2014-07-12 15:53:30
|
<div style="font-size:10pt;"><p style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;">Just increase the tibsize in the config file.</p><p style="margin-top:0;margin-bottom:0;">Mike</p><div><signature_tag><p style="margin-top:0;margin-bottom:0;">Sent from my LG Mobile</p></signature_tag></div><p id="last_enter" style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;">------ Original message------</p> <p style="margin-top:0;margin-bottom:0;"><b>From: </b>pito<pi...@vo...></p><p style="margin-top:0;margin-bottom:0;"><b>Date: </b>Sat, 12/07/2014 16:29</p><p style="margin-top:0;margin-bottom:0;"><b>To: </b>flashforth-devel;</p><p style="margin-top:0;margin-bottom:0;"><b>Subject:</b>[Flashforth-devel] FF50 dspic33 - some missing words for fp</p><p style="margin-top:0;margin-bottom:0;"> </p><pre>I am trying to load the Leon's fp library, which may work "as-is". We do not need recogniser for the initial experiments, as we can enter the fp numbers as doubles. I missed a few words there ie. ?dup 2>r 2r> which I added, still need the equivalents for @i i !i compile not sp0 size number BTW where I can set the number of chars the FF50 reads from input?? It seems it does 75 only (even the rx buffer is 80 now)? How can I increase the number to at least 80? P. ------------------------------------------------------------------------------ _______________________________________________ Flashforth-devel mailing list Fla...@li... https://lists.sourceforge.net/lists/listinfo/flashforth-devel </pre></div> |
From: pito <pi...@vo...> - 2014-07-12 15:50:35
|
Yea, I've tried it with : : fconstant 2constant ; : fvariable 2variable ; : fliteral literal literal ; I missed the swap.. Now it seems the "number" and sp0 is what I miss.. (among others I already found).. P. ______________________________________________________________ > Od: Mikael Nordman <mik...@pp...> > Komu: <fla...@li...> > Datum: 12.07.2014 17:40 > Předmět: Re: [Flashforth-devel] FF50 dspic33 - some missing words for fp > >: fconstant 2constant ; > >: fliteral swap literal literal ; > >Simple :-) > >Mike > >Sent from my LG Mobile > >------ Original message------ > >From: pito > >Date: Sat, 12/07/2014 17:05 > >To: flashforth-devel; > >Subject:Re: [Flashforth-devel] FF50 dspic33 - some missing words for fp > >The !i and @i are used in: : fconstant ( f -- ) create , , does> dup @i swap 1+ @i swap ; : (fliteral) ( -- f ) r@ 1+ @i r@ @i r> 2 + >r ; : fliteral ( f -- ) compile (fliteral) , , ; immediate : set-precision ( u -- ) abs [ ' precision 1+ ] literal !i ; The nop could be: : nop 0= ; What I miss is "compile" used in fliteral above, and sp0 and number. Maybe there is a workaround.. P. ______________________________________________________________ > Od: "pito" > Komu: "flashforth-devel" > Datum: 12.07.2014 15:05 > Předmět: FF50 dspic33 - some missing words for fp > >I am trying to load the Leon's fp library, which may work "as-is". We do not need recogniser for the initial experiments, as we can enter the fp numbers as doubles. >I missed a few words there ie. ?dup 2>r 2r> which I added, still need the equivalents for >@i i !i compile not sp0 size number > >BTW where I can set the number of chars the FF50 reads from input?? It seems it does 75 only (even the rx buffer is 80 no w)? >How can I increase the number to at least 80? >P. > ------------------------------------------------------------------------------ _______________________________________________ Flashforth-devel mailing list Fla...@li... https://lists.sourceforge.net/lists/listinfo/flashforth-devel > >---------- > >------------------------------------------------------------------------------ > > >---------- > >_______________________________________________ >Flashforth-devel mailing list >Fla...@li... >https://lists.sourceforge.net/lists/listinfo/flashforth-devel > |
From: Mikael N. <mik...@pp...> - 2014-07-12 15:40:32
|
<div style="font-size:10pt;"><p style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;">: fconstant 2constant ;</p><p style="margin-top:0;margin-bottom:0;">: fliteral swap literal literal ;</p><p style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;">Simple :-)</p><p style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;">Mike</p><p style="margin-top:0;margin-bottom:0;"> </p><div><signature_tag><p style="margin-top:0;margin-bottom:0;">Sent from my LG Mobile</p></signature_tag></div><p id="last_enter" style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;">------ Original message------</p> <p style="margin-top:0;margin-bottom:0;"><b>From: </b>pito<pi...@vo...></p><p style="margin-top:0;margin-bottom:0;"><b>Date: </b>Sat, 12/07/2014 17:05</p><p style="margin-top:0;margin-bottom:0;"><b>To: </b>flashforth-devel;</p><p style="margin-top:0;margin-bottom:0;"><b>Subject:</b>Re: [Flashforth-devel] FF50 dspic33 - some missing words for fp</p><p style="margin-top:0;margin-bottom:0;"> </p><pre>The !i and @i are used in: : fconstant ( f -- ) create , , does> dup @i swap 1+ @i swap ; : (fliteral) ( -- f ) r@ 1+ @i r@ @i r> 2 + >r ; : fliteral ( f -- ) compile (fliteral) , , ; immediate : set-precision ( u -- ) abs [ ' precision 1+ ] literal !i ; The nop could be: : nop 0= ; What I miss is "compile" used in fliteral above, and sp0 and number. Maybe there is a workaround.. P. ______________________________________________________________ > Od: "pito" <pi...@vo...> > Komu: "flashforth-devel" <fla...@li...> > Datum: 12.07.2014 15:05 > Předmět: FF50 dspic33 - some missing words for fp > >I am trying to load the Leon's fp library, which may work "as-is". We do not need recogniser for the initial experiments, as we can enter the fp numbers as doubles. >I missed a few words there ie. ?dup 2>r 2r> which I added, still need the equivalents for >@i i !i compile not sp0 size number > >BTW where I can set the number of chars the FF50 reads from input?? It seems it does 75 only (even the rx buffer is 80 now)? >How can I increase the number to at least 80? >P. > ------------------------------------------------------------------------------ _______________________________________________ Flashforth-devel mailing list Fla...@li... https://lists.sourceforge.net/lists/listinfo/flashforth-devel </pre></div> |
From: pito <pi...@vo...> - 2014-07-12 14:08:17
|
ups, the not could be: : not 0= ; ______________________________________________________________ > Od: "pito" <pi...@vo...> > Komu: "flashforth-devel" <fla...@li...> > Datum: 12.07.2014 16:05 > Předmět: Re: FF50 dspic33 - some missing words for fp > >The !i and @i are used in: > >: fconstant ( f -- ) > create , , > does> > dup @i swap 1+ @i swap >; > >: (fliteral) ( -- f ) > r@ 1+ @i r@ @i r> 2 + >r ; > >: fliteral ( f -- ) > compile (fliteral) , , ; immediate > > >: set-precision ( u -- ) > abs [ ' precision 1+ ] literal !i ; > >The nop could be: > >: nop 0= ; > >What I miss is "compile" used in fliteral above, and sp0 and number. >Maybe there is a workaround.. >P. > > > >______________________________________________________________ >> Od: "pito" <pi...@vo...> >> Komu: "flashforth-devel" <fla...@li...> >> Datum: 12.07.2014 15:05 >> Předmět: FF50 dspic33 - some missing words for fp >> >>I am trying to load the Leon's fp library, which may work "as-is". We do not need recogniser for the initial experiments, as we can enter the fp numbers as doubles. >>I missed a few words there ie. ?dup 2>r 2r> which I added, still need the equivalents for >>@i i !i compile not sp0 size number >> >>BTW where I can set the number of chars the FF50 reads from input?? It seems it does 75 only (even the rx buffer is 80 now)? >>How can I increase the number to at least 80? >>P. >> > |
From: pito <pi...@vo...> - 2014-07-12 14:05:41
|
The !i and @i are used in: : fconstant ( f -- ) create , , does> dup @i swap 1+ @i swap ; : (fliteral) ( -- f ) r@ 1+ @i r@ @i r> 2 + >r ; : fliteral ( f -- ) compile (fliteral) , , ; immediate : set-precision ( u -- ) abs [ ' precision 1+ ] literal !i ; The nop could be: : nop 0= ; What I miss is "compile" used in fliteral above, and sp0 and number. Maybe there is a workaround.. P. ______________________________________________________________ > Od: "pito" <pi...@vo...> > Komu: "flashforth-devel" <fla...@li...> > Datum: 12.07.2014 15:05 > Předmět: FF50 dspic33 - some missing words for fp > >I am trying to load the Leon's fp library, which may work "as-is". We do not need recogniser for the initial experiments, as we can enter the fp numbers as doubles. >I missed a few words there ie. ?dup 2>r 2r> which I added, still need the equivalents for >@i i !i compile not sp0 size number > >BTW where I can set the number of chars the FF50 reads from input?? It seems it does 75 only (even the rx buffer is 80 now)? >How can I increase the number to at least 80? >P. > |
From: pito <pi...@vo...> - 2014-07-12 13:29:11
|
I am trying to load the Leon's fp library, which may work "as-is". We do not need recogniser for the initial experiments, as we can enter the fp numbers as doubles. I missed a few words there ie. ?dup 2>r 2r> which I added, still need the equivalents for @i i !i compile not sp0 size number BTW where I can set the number of chars the FF50 reads from input?? It seems it does 75 only (even the rx buffer is 80 now)? How can I increase the number to at least 80? P. |
From: Mikael N. <mik...@pp...> - 2014-07-11 14:47:07
|
Here is example for bitbanging 16 bits on a spi interface. It uses the FSR1L(=Tp) and FSR1H(=Tp 1 +) temporary registers which are always free to be used in any assembly word. Note that FSR1H is only 4 bits wide. FSR1L is 8 bits wide. Srw and Sminus words are accessing the parameter stack indirectly. There are also other registers that can safely be used as variables in assembler words. FSR2L FSR2H TBLPTRL TBLPTRH TABLAT PRODL PRODH The registers are located in access ram so no bank bits need to be set. : spi! ( u -- ) [ #2 movlw, ] [ Tp a, movwf, ] [ begin, ] [ #8 movlw, ] [ Tp 1+ a, movwf, ] [ begin, ] [ Srw f, a, rlcf, ] [ cc, if, lata sdata a, bsf, else, lata sdata a, bcf, then, ] [ lata sclk a, btg, ] [ lata sclk a, btg, ] [ Tp 1+ f, a, decf, ] [ z, until, ] [ Sminus w, a, movf, ] [ Tp f, a, decf, ] [ z, until, ] ; Mike |
From: Mikael N. <mik...@pp...> - 2014-07-11 14:43:46
|
Here is another example for bitbanging 8 bits on a spi interface. It uses the FSR1L(=Tp) and FSR1H(=Tp 1 +) temporary registers which are always free to be used in any assembly word. Note that FSR1H is only 4 bits wide. FSR1L is 8 bits wide. Srw and Sminus words are accessing the parameter stack directly. There are also other registers that can be used as variables in assembler words. FSR2L FSR2H TBLPTRL TBLPTRH TABLAT PRODL PRODH These registers are located in access ram so no bank bits need to be set. : spi! ( c -- ) [ #2 movlw, ] [ Tp a, movwf, ] [ begin, ] [ #8 movlw, ] [ Tp 1+ a, movwf, ] [ begin, ] [ Srw f, a, rlcf, ] [ cc, if, lata sdata a, bsf, else, lata sdata a, bcf, then, ] [ lata sclk a, btg, ] [ lata sclk a, btg, ] [ Tp 1+ f, a, decf, ] [ z, until, ] [ Sminus w, a, movf, ] [ Tp f, a, decf, ] [ z, until, ] ; Mike |
From: Peter J. <pe...@me...> - 2014-07-11 11:49:19
|
Mike, Thanks for looking. The flash write codes are different; I found a pair of tables in the migration guide. The gains that I thought I would be receiving with the larger SRAM may be lost because I think that not all of that memory can be addressed with a 16-bit address (may have to set RAM_SIZE to 28k rather than the physically implemented 32k). I expect that the buffers needed to deal with the larger erase blocks for the flash will be another loss (although I have not looked at how the flash self writing routines function). On the aspects of the processor speed, the longer instruction execution pipeline on this MCU seems to suffer bigger penalties for branching than the dsPIC33FJ. And without true EEPROM, it's looking not that much better a processor to spend much time on porting FF to it. Regards, Peter J. On 11/07/14 19:39, Mikael Nordman wrote: > Peter, > I shortly looked at the datasheet. > > The dsPIC33EP256GP502 does not have any alternate interrupt vector table. > > The change you have to do in FF is to revector the standard > /_default_/ interrupts to the interrupt table in ram which is managed > by FF, and there handle the interrupt vectoring. > > Another difference is that the flash erase block is 1024 instructions > (3072 bytes). That should be reflected in the configuration file. > Also the flash write codes may be different. I have not checked. > > The eeprom emulation code for storing the dictionary pointers and the > turnkey may be affected. It is now written for a flash block erase > size of 1536 bytes. > > Good luck ! > > BR Mike > |
From: Mikael N. <mik...@pp...> - 2014-07-11 09:39:58
|
Peter, I shortly looked at the datasheet. The dsPIC33EP256GP502 does not have any alternate interrupt vector table. The change you have to do in FF is to revector the standard /_default_/ interrupts to the interrupt table in ram which is managed by FF, and there handle the interrupt vectoring. Another difference is that the flash erase block is 1024 instructions (3072 bytes). That should be reflected in the configuration file. Also the flash write codes may be different. I have not checked. The eeprom emulation code for storing the dictionary pointers and the turnkey may be affected. It is now written for a flash block erase size of 1536 bytes. Good luck ! BR Mike |
From: Mikael N. <mik...@pp...> - 2014-07-11 09:23:53
|
Hello Thomas, The Forth variables are in banked ram. Not in access ram. Below I tried to fix your code. I have not tested it. Below it I put another variant that uses the top of the return stack as temporary varibles in access ram. I hope this clarifies things for you. BR Mike |: banksel ( addr -- ) #8 rshift $f and movlb, ; variable seqz \ forth variable in banked ram variable counter \ forth variable in banked ram [ seqz banksel #32 movlw seqz b, movwf, begin, latb0 a, bsf, counter banksel #13 movlw, counter b, movwf, begin, counterf, b, decfsz, again, latb0 a, bcf, #20 movlw, counter b, movwf, begin, counterf, b, decfsz, again, seqz banksel seqzf, b, decfsz, again, ] \ ****************************************** $fffd constant seqz \ tosl register in acccess ram $fffe constant counter \ tosh register in access ram [ push, ||#32 movlw seqz a, movwf, begin, latb0 a, bsf, #13 movlw, counter a, movwf, begin, counterf, a, decfsz, again, latb0 a, bcf, #20 movlw, counter a, movwf, begin, counterf, a, decfsz, again, seqzf, a, decfsz, again, pop, ]| |
From: Thomas B. <bus...@gm...> - 2014-07-11 06:26:04
|
Hallo, I try nested loops in Flashforth incl. Assembler, but I get no success. In the code I want a outer loop (32 times) and two inner loops (13 times and 20 times). Maybe a watchdogtimer kill the process? Here is my listing: variable seqz variable counter [#32 movlw seqz a, movwf,begin, latb 0 0 bsf, #13 movlw, counter a, movwf, begin, counter 1 a, decfsz, again, latb 0 0 bcf, #20 movlw, counter a, movwf, begin, counter 1 a, decfsz, again, seqz 1 a, decfsz, again, ] Bye Thomas |
From: Mikael N. <mik...@pp...> - 2014-07-10 19:49:40
|
<div style="font-size:10pt;"><p style="margin-top:0;margin-bottom:0;">I guess you need to check how the interrupts and the flash memory interface works on the 33e series.</p><p style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;">I cannot remember how much ram FF can address. At least 32 kbyte.</p><p style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;">Was it so that the e series has eeprom?</p><p style="margin-top:0;margin-bottom:0;">If so, it could be used for the dictionary pointers like on the 30f.</p><p style="margin-top:0;margin-bottom:0;"> </p><div><signature_tag><p style="margin-top:0;margin-bottom:0;">Sent from my LG Mobile</p></signature_tag></div><p id="last_enter" style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;">------ Original message------</p> <p style="margin-top:0;margin-bottom:0;"><b>From: </b>Peter Jacobs<pe...@me...></p><p style="margin-top:0;margin-bottom:0;"><b>Date: </b>Thu, 10/07/2014 17:45</p><p style="margin-top:0;margin-bottom:0;"><b>To: </b>flashforth-devel;</p><p style="margin-top:0;margin-bottom:0;"><b>Subject:</b>[Flashforth-devel] building FF5 for dsPIC33EP256GP502</p><p style="margin-top:0;margin-bottom:0;"> </p><pre>Mike, I was attempting to build the 16-bit FF for a dsPIC33EP256GP502-I/SP because I was keen to have more SRAM than the dsPIC33FJ128GP802 offered. I think that I've got the correct header files included by adding an entry to ff30.inc but have just copied the p33f_config.inc as a starting point for a new p33e_config file. Presently I have the following errors from the assembler. make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf make[1]: Entering directory `/home/peterj/pic_work/flash-forth/ff5p0-dsPIC33EP-july-2014/FF5-for_dsPIC33EP.X' make -f nbproject/Makefile-default.mk dist/default/production/FF5-for_dsPIC33EP.X.production.hex make[2]: Entering directory '/home/peterj/pic_work/flash-forth/ff5p0-dsPIC33EP-july-2014/FF5-for_dsPIC33EP.X' "/opt/microchip/xc16/v1.21/bin/xc16-gcc" ../src/ff-pic24-30-33.s -o build/default/production/_ext/1360937237/ff-pic24-30-33.o -c -mcpu=33EP256GP502 -omf=elf -I"../src" -Wa,-MD,"build/default/production/_ext/1360937237/ff-pic24-30-33.o.d",--defsym=__MPLAB_BUILD=1,-g,--no-relax .../src/ff-pic24-30-33.s: Assembler messages: .../src/ff-pic24-30-33.s:468: Error: Invalid operands specified ('btss INTCON2,#ALTIVT'). .../src/ff-pic24-30-33.s:468: Check operand #2. Operand must be between 0 and 15, inclusive. .../src/ff-pic24-30-33.s:1126: Error: Invalid operands specified ('bclr INTCON2,#ALTIVT'). .../src/ff-pic24-30-33.s:1126: Check operand #2. Operand must be between 0 and 15, inclusive. .../src/ff-pic24-30-33.s:1136: Error: Invalid operands specified ('bset INTCON2,#ALTIVT'). .../src/ff-pic24-30-33.s:1136: Check operand #2. Operand must be between 0 and 15, inclusive. make[2]: *** [build/default/production/_ext/1360937237/ff-pic24-30-33.o] Error 255 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 nbproject/Makefile-default.mk:97: recipe for target 'build/default/production/_ext/1360937237/ff-pic24-30-33.o' failed make[2]: Leaving directory '/home/peterj/pic_work/flash-forth/ff5p0-dsPIC33EP-july-2014/FF5-for_dsPIC33EP.X' make[1]: Leaving directory `/home/peterj/pic_work/flash-forth/ff5p0-dsPIC33EP-july-2014/FF5-for_dsPIC33EP.X' BUILD FAILED (exit value 2, total time: 158ms) It seems that the interrupt vector tables are a bit different. Any suggestions? Also, this MCU has more static RAM than will fit within the first 32k address range. I guess that I need to set appropriate boundaries. Of course, these might also be just the start of many changes that might be needed. Could you hazard a guess as to how many? I will accept an answer of "too many", but I thought that I would just try my luck and see if it was easy to get FF running on this chip. Regards, Peter Jacobs ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ Flashforth-devel mailing list Fla...@li... https://lists.sourceforge.net/lists/listinfo/flashforth-devel </pre></div> |
From: Peter J. <pe...@me...> - 2014-07-10 14:45:31
|
Mike, I was attempting to build the 16-bit FF for a dsPIC33EP256GP502-I/SP because I was keen to have more SRAM than the dsPIC33FJ128GP802 offered. I think that I've got the correct header files included by adding an entry to ff30.inc but have just copied the p33f_config.inc as a starting point for a new p33e_config file. Presently I have the following errors from the assembler. make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf make[1]: Entering directory `/home/peterj/pic_work/flash-forth/ff5p0-dsPIC33EP-july-2014/FF5-for_dsPIC33EP.X' make -f nbproject/Makefile-default.mk dist/default/production/FF5-for_dsPIC33EP.X.production.hex make[2]: Entering directory '/home/peterj/pic_work/flash-forth/ff5p0-dsPIC33EP-july-2014/FF5-for_dsPIC33EP.X' "/opt/microchip/xc16/v1.21/bin/xc16-gcc" ../src/ff-pic24-30-33.s -o build/default/production/_ext/1360937237/ff-pic24-30-33.o -c -mcpu=33EP256GP502 -omf=elf -I"../src" -Wa,-MD,"build/default/production/_ext/1360937237/ff-pic24-30-33.o.d",--defsym=__MPLAB_BUILD=1,-g,--no-relax ../src/ff-pic24-30-33.s: Assembler messages: ../src/ff-pic24-30-33.s:468: Error: Invalid operands specified ('btss INTCON2,#ALTIVT'). ../src/ff-pic24-30-33.s:468: Check operand #2. Operand must be between 0 and 15, inclusive. ../src/ff-pic24-30-33.s:1126: Error: Invalid operands specified ('bclr INTCON2,#ALTIVT'). ../src/ff-pic24-30-33.s:1126: Check operand #2. Operand must be between 0 and 15, inclusive. ../src/ff-pic24-30-33.s:1136: Error: Invalid operands specified ('bset INTCON2,#ALTIVT'). ../src/ff-pic24-30-33.s:1136: Check operand #2. Operand must be between 0 and 15, inclusive. make[2]: *** [build/default/production/_ext/1360937237/ff-pic24-30-33.o] Error 255 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 nbproject/Makefile-default.mk:97: recipe for target 'build/default/production/_ext/1360937237/ff-pic24-30-33.o' failed make[2]: Leaving directory '/home/peterj/pic_work/flash-forth/ff5p0-dsPIC33EP-july-2014/FF5-for_dsPIC33EP.X' make[1]: Leaving directory `/home/peterj/pic_work/flash-forth/ff5p0-dsPIC33EP-july-2014/FF5-for_dsPIC33EP.X' BUILD FAILED (exit value 2, total time: 158ms) It seems that the interrupt vector tables are a bit different. Any suggestions? Also, this MCU has more static RAM than will fit within the first 32k address range. I guess that I need to set appropriate boundaries. Of course, these might also be just the start of many changes that might be needed. Could you hazard a guess as to how many? I will accept an answer of "too many", but I thought that I would just try my luck and see if it was easy to get FF running on this chip. Regards, Peter Jacobs |
From: pito <pi...@vo...> - 2014-07-08 19:37:42
|
Hi! Long time back I had a discussion with Mike on floating point math inclusion into FF. My motivation at that time was because I was helping Leon with his floating point forth words development with amforth, after a lot of work we finally got it working. The floating point written in forth works, but it is slow (in amforth at least), therefore I implemented so called "5primitives" (f+ f- f* f/ fsqrt) in asm. That boosted the stuff such it is perfectly usable. I also created a small forth lib for sin/cos/tan. At that time as we discussed with Mike we had no "for loop", "double integer" and "a recogniser". It seems the community forced the for-loop, not sure we can rocognize a float yet. A possible step by step scenarion is: 1. to get a recogniser working 2. to import Leon's FP words for floating point 3. when everything works we can start to think how to replace the 5primitives with asm code. We can include any fp function when we know the interface from external asm, or a C, though.. (see the 5 primitives source). The floating point libs in amforth (with Leon's fp forth lib and my 5primitives): http://sourceforge.net/p/amforth/community/HEAD/tree/floatingpoint/ P. |
From: Thomas B. <bus...@gm...> - 2014-07-08 11:25:48
|
Hallo, what you think of a irc-channel? I create one on freenode #flashforth. Please drop a mail and I add you as OP. Bye Thomas |
From: Thomas B. <bus...@gm...> - 2014-07-08 07:14:35
|
Hallo, my knowledge about assembler is low, but I need a snippet. How can I do a loop with a certain number of interations do? : function13loop [ latb 0 0 bsf, \ switch PIN 0 on 13 movlw, begin, do 13 iterations?? nop, \ no operation ??? 1 a, decfsz, \ decrement the counter (wreg?) and jump to the next again, latb 0 0 bcf, \ switch PIN 0 off ] ; Sorry for sourcecode. Bye Thomas |
From: Peter J. <pe...@me...> - 2014-07-04 22:39:00
|
Thomas, In your init-ds1621 word, you send a zero as the control protocol byte immediately after the ds1621 acknowledges the correct address for a write. Looking at the data sheet on pages there are no valid command protocols with a value of zero so the ds1621 does not acknowledge, just as your logic trace shows. The PIC waits indefinitely for that ACK, until the watchdog resets the MCU. The example in the datasheet on page 12 sends the byte $AC as the "Access Config" command, followed by other bytes. Maybe you should do the same. Doing that whole example and checking the trace with the logic analyzer will probably be enlightening. Those logic analyzers are amazingly good tools. Cheers, Peter J. On 05/07/14 00:49, Thomas Buschhardt wrote: > Hallo, > > I receive an Logic analyzer to solve my I2C problem, but I cant find a > error. > I import successfully asm.txt and i2cbase.txt. The PIC reboot fast > after a short timeperiode (maybe the watchdog). > The two I2C-Ports are electrical in good condition (I test a LED-Flash > Script on both). > > Here my files: > http://www.buschhardt.de/flashforth/ > - Schematic > - Logic-Sessionfile > - Logic Output as Picture > - My Flashforth File (I used a copy of that from the wounderfull tutorial) > > Link <http://datasheets.maximintegrated.com/en/ds/DS1621.pdf> to > DS1621-Datasheet > > Thank you very much. > Thomas |
From: Thomas B. <bus...@gm...> - 2014-07-04 14:50:04
|
Hallo, I receive an Logic analyzer to solve my I2C problem, but I cant find a error. I import successfully asm.txt and i2cbase.txt. The PIC reboot fast after a short timeperiode (maybe the watchdog). The two I2C-Ports are electrical in good condition (I test a LED-Flash Script on both). Here my files: http://www.buschhardt.de/flashforth/ - Schematic - Logic-Sessionfile - Logic Output as Picture - My Flashforth File (I used a copy of that from the wounderfull tutorial) Link <http://datasheets.maximintegrated.com/en/ds/DS1621.pdf> to DS1621-Datasheet Thank you very much. Thomas |
From: Peter J. <pe...@me...> - 2014-07-01 12:08:10
|
I've given the PDF documents an alternative and permanent home as well... Elements of FlashForth https://espace.library.uq.edu.au/view/UQ:321883 Tutorial Guide https://espace.library.uq.edu.au/view/UQ:330707 Hitchhiker's guide (ref sheet) https://espace.library.uq.edu.au/view/UQ:330706 Note that this last one is the same date 17-May-2014 as the document on the FlashForth site. I just forgot to append the date to the file name as I uploaded it to the UQ library. Regards, Peter J. On 28/06/14 05:56, Mikael Nordman wrote: > Fixed ! > > Thanks /Mike > > On 06/27/2014 10:42 PM, Thomas Buschhardt wrote: >> Hallo, the refrence-sheet link on the homepage gave an error: > > ------------------------------------------------------------------------------ > Open source business process management suite built on Java and Eclipse > Turn processes into business applications with Bonita BPM Community Edition > Quickly connect people, data, and systems into organized workflows > Winner of BOSSIE, CODIE, OW2 and Gartner awards > http://p.sf.net/sfu/Bonitasoft > _______________________________________________ > Flashforth-devel mailing list > Fla...@li... > https://lists.sourceforge.net/lists/listinfo/flashforth-devel |
From: Mikael N. <mik...@pp...> - 2014-06-27 19:57:04
|
Fixed ! Thanks /Mike On 06/27/2014 10:42 PM, Thomas Buschhardt wrote: > Hallo, the refrence-sheet link on the homepage gave an error: |
From: Thomas B. <bus...@gm...> - 2014-06-27 19:42:15
|
Hallo, the refrence-sheet link on the homepage gave an error: 1. *Server:* flashforth.sourceforge.net 2. *URL path:* /flash-forth-sheet-5-sheet-2014-05-17.pdf 3. *Error notes:* NONE 4. *Error type:* 404 5. *Request method:* GET 6. *Request query string:* NONE 7. *Time:* 2014-06-27 19:39:22 UTC (1403897962) Bye thomas |
From: Mikael N. <mik...@pp...> - 2014-06-21 16:33:35
|
<div style="font-size:10pt;"><p style="margin-top:0;margin-bottom:0;">Did you read the Atmega datasheet SPI chapters ?</p><p style="margin-top:0;margin-bottom:0;"> </p><p style="margin-top:0;margin-bottom:0;">BR Mike</p><p style="margin-top:0;margin-bottom:0;"> </p><div><signature_tag><p style="margin-top:0;margin-bottom:0;">Sent from my LG Mobile</p></signature_tag></div><p style="margin-top:0;margin-bottom:0;"> </p> </div> |
From: Guy F. <g.f...@gm...> - 2014-06-21 15:12:41
|
Hi Mikael, Unless I haven't read correctly, I don't know how to use SPI communication facility of Atmega's chips. Is this something that has to be released in the future ? In the meantime, what can be the turnaround ? Thanks for your help, Guy |
From: Mikael N. <mik...@pp...> - 2014-06-04 14:08:31
|
It's the one stored in git. http://sourceforge.net/p/flashforth/code/ci/master/tree/PIC18/src/p18f2525-2620-4525-4620.cfg http://sourceforge.net/p/flashforth/code/ci/master/tree/PIC18/src/p18f-main.cfg There is no special configuration needed to make FF secure, it is that by default. BR Mike On 06/04/2014 09:03 AM, Thomas Buschhardt wrote: > Hallo Mikael, > > can you send me your (secure) configuration of the pic18f2620 board - > because I think about to allow this function also over my website. > > Thank You > Thomas > |