You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
(6) |
Mar
(41) |
Apr
(23) |
May
(11) |
Jun
(2) |
Jul
|
Aug
|
Sep
(9) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2008 |
Jan
(6) |
Feb
(1) |
Mar
(23) |
Apr
(18) |
May
(21) |
Jun
(13) |
Jul
(34) |
Aug
(5) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
(4) |
2009 |
Jan
|
Feb
(5) |
Mar
(5) |
Apr
(10) |
May
(1) |
Jun
(11) |
Jul
(1) |
Aug
|
Sep
|
Oct
(2) |
Nov
(3) |
Dec
(13) |
2010 |
Jan
(10) |
Feb
(4) |
Mar
(28) |
Apr
(3) |
May
(38) |
Jun
(22) |
Jul
(92) |
Aug
(154) |
Sep
(218) |
Oct
(45) |
Nov
(20) |
Dec
(1) |
2011 |
Jan
(33) |
Feb
(15) |
Mar
(32) |
Apr
(33) |
May
(48) |
Jun
(35) |
Jul
(7) |
Aug
|
Sep
(11) |
Oct
(5) |
Nov
|
Dec
(7) |
2012 |
Jan
(56) |
Feb
(11) |
Mar
(6) |
Apr
|
May
(128) |
Jun
(59) |
Jul
(21) |
Aug
(16) |
Sep
(24) |
Oct
(39) |
Nov
(12) |
Dec
(12) |
2013 |
Jan
(14) |
Feb
(61) |
Mar
(97) |
Apr
(46) |
May
(13) |
Jun
(23) |
Jul
(12) |
Aug
(25) |
Sep
(9) |
Oct
(81) |
Nov
(73) |
Dec
(45) |
2014 |
Jan
(36) |
Feb
(57) |
Mar
(20) |
Apr
(41) |
May
(43) |
Jun
(11) |
Jul
(14) |
Aug
(32) |
Sep
(9) |
Oct
(27) |
Nov
(21) |
Dec
(6) |
2015 |
Jan
(14) |
Feb
(23) |
Mar
(1) |
Apr
(19) |
May
(40) |
Jun
(11) |
Jul
(1) |
Aug
(2) |
Sep
(14) |
Oct
(10) |
Nov
(9) |
Dec
(13) |
2016 |
Jan
(4) |
Feb
(3) |
Mar
(7) |
Apr
|
May
(4) |
Jun
(13) |
Jul
(8) |
Aug
(3) |
Sep
(4) |
Oct
(1) |
Nov
|
Dec
|
2017 |
Jan
(6) |
Feb
(1) |
Mar
(1) |
Apr
(7) |
May
(10) |
Jun
(5) |
Jul
(7) |
Aug
(9) |
Sep
|
Oct
(1) |
Nov
(5) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
(5) |
Apr
|
May
|
Jun
(3) |
Jul
(6) |
Aug
|
Sep
(2) |
Oct
(54) |
Nov
(47) |
Dec
(53) |
2019 |
Jan
(23) |
Feb
(24) |
Mar
(19) |
Apr
(15) |
May
(5) |
Jun
(34) |
Jul
(9) |
Aug
(9) |
Sep
(3) |
Oct
(2) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
(7) |
Apr
(7) |
May
(5) |
Jun
(15) |
Jul
(22) |
Aug
(28) |
Sep
(13) |
Oct
(9) |
Nov
(17) |
Dec
(13) |
2021 |
Jan
(5) |
Feb
(1) |
Mar
(1) |
Apr
(9) |
May
(21) |
Jun
(9) |
Jul
|
Aug
(6) |
Sep
(16) |
Oct
|
Nov
(1) |
Dec
(6) |
2022 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
(6) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(11) |
Sep
(21) |
Oct
(5) |
Nov
(1) |
Dec
(1) |
2024 |
Jan
(1) |
Feb
(4) |
Mar
|
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <dev...@de...> - 2013-10-12 10:24:43
|
Now it comes up again - i don't know what happened before ... amforth 5.1 ATmega32 > 24 42 + . 66 ok > 36 30 - . 6 ok Thank You! Now i must spend time to read the manual and expreiment with forth. In a week i have holidays and this will be interesting ... Cheers Karsten |
From: Erich W. <ew....@na...> - 2013-10-12 10:24:15
|
Hello David, On 10/12/2013 11:13 AM, David Wallis wrote: > Hi all, > > I'm trying to use the watchdog timer on an ATMega324P for power saving by > sleeping for 8 seconds, and then having the watchdog wake the device. > However, I'm struggling to set the prescaler flags in WDTCSR. > > According to the datasheet, the 'Change Enable' flag (WDCE) must be set to > change the prescaler bits, but this clears after 4 clock cycles*. I'm > thinking that perhaps, this can't be done in forth because changing the > bits will take more than 4 clock cycles (I don't know, I'm guessing). > > Has anyone done this before and have a solution? If not, I guess I have to > write the word in assembler, which I haven't done before. Any pointers on > how to do this? > Are you sure, you want to do this with the watchdog timer? Isn't the watchdog timer only able to generate a reset? I have a system which sleeps for 8 seconds, then wakes up to do a little work, and then go back to sleep. This requires the sleep function (trunk/core/devices/atmega328p/words/sleep.asm) to be included. It also needs a 32kHz crystal connected to Pins C6,C7. Timer2 is then initialized to a. have the external crystal as clock source (ASSR) b. have a prescaler of 1024 (TCCR2) my code examples are from atmega32! 2variable uptime : .uptime_sec uptime 2@ d.i [char] s emit ; : .uptime uptime 2@ 2dup decimal d.i [char] s emit space &60 ud/mod &60 ud/mod &24 ud/mod d.i [char] d emit space \ days 2 u0.r [char] : emit \ hours 2 u0.r [char] : emit \ minutes 2 u0.r \ seconds ; : ++uptime 1 s>d uptime 2@ d+ uptime 2! ; : tick_isr_uptime 1 ticks +! 8 s>d uptime 2@ d+ uptime 2! ; : +ticks-uptime $07 TCCR2 c! \ clock_ts2/1024 $08 ASSR c! \ source: 32 kiHz crystal \ register interupt service routine ['] tick_isr_uptime TIMER2_OVFAddr int! \ enable timer2 interupt TIMSK c@ $40 or TIMSK c! ; The main loop in my Forth programm looks somewhat like this: : run \ <== initialize everything ... 0 s>d uptime 2! idle.ticks 1+ ticks ! \ run job immediately +ticks-uptime begin \ <== do work only every idle.ticks rounds \ <== e.g. 4 rounds of 8 seconds each ticks @ idle.ticks > if 1 ticks ! \ run job once \ <== here is where the work is done then \ back to power down mode $03 sleep \ <== here we go back to sleep repeat ; I know, I'm not answering your question directly, but hopefully the above can serve as inspiration. Cheers, Erich |
From: <dev...@de...> - 2013-10-12 10:20:36
|
Hello Erich, Am 12.10.2013 12:01, schrieb Erich Waelde: > Hello Karsten, > > On 10/12/2013 10:53 AM, dev...@de... wrote: > > Well, attaching .hex files does not really help, imho. > If you need to attach code, use the .asm or the .lst file(s). Done this time. > > > If amForth does not display the ok prompt on the serial > interface, then check the following: > > 1. > you are aware, that you need to program _2_ files onto the > controller > template.hex > and > template.eep.hex > without the .eep.hex file, nothing will work. It contains > the start positions of the dictionary among other things. ARRGH - that's an DAU problem. :-) Of course i don't program the EEPROM. This time the forth send me the start message! :-) But only one time. :-( After the next reset nothing works ...? Even powerdown and powerup - nothing helps. > > 2. > is the frequency of the crystal correct in the temlate.asm? > Look for the line > .equ F_CPU = 8000000 Yes - set to 16000000 > > 3. > is the baud rate in template.asm the same as with your > terminal program? > .equ BAUD = 9600 Yes - i use 19200 > > 4. > it the terminal program correctly set to > 8 data bits > No parity bit > 1 stop bit > NO hw flow control > NO sw flow control > If any of these are wrong, it won't work. > > 5. > If none of the above get you closer, can you attach an > LED (or scope) to the tx pin? If it does not blink a little > just after reset, then your controller does not write anything > to the pin and the problem is within your software setup. I checked it with an oscilloscope. When it's dead i can't see anything. > > Be sure to check the users guide on the web page > http://amforth.sourceforge.net/UG/linux.html Yes - RTFM. :-) Now the question is why it only works one time? > > Good luck! Keep going! > Erich > > Thank You for your help! Karsten |
From: Erich W. <ew....@na...> - 2013-10-12 10:01:28
|
Hello Karsten, On 10/12/2013 10:53 AM, dev...@de... wrote: > Hello, > > i am not as fast as i want, but today i could setup my > Test-system with an ATMega32 developement board and AMForth. It > does not run. :-( There is nothing transmitted over the RS232. > > First thing i wonder about is when i convert the template.hex > to a binary file: > > $ hex2bin template.hex hex2bin v1.0.9, Copyright (C) 2012 > Jacques Pelletier checksum extensions Copyright (C) 2004 > Rockwell Automation improved P.G. 2007, modified Danny > Schneider,2012 > > Overlapped record detected Overlapped record detected Lowest > address = 00000000 Highest address = 0000777F Pad Byte > = FF 8-bit Checksum = 78 > > After that i programmed successfully the compiled hex-file with > an USBASP and avrdude. > > I could readback the binary and compared it with the converted > file (flash.xxx) It's binary identical. I attached the original > files also (ATMega32.hex). Well, attaching .hex files does not really help, imho. If you need to attach code, use the .asm or the .lst file(s). If amForth does not display the ok prompt on the serial interface, then check the following: 1. you are aware, that you need to program _2_ files onto the controller template.hex and template.eep.hex without the .eep.hex file, nothing will work. It contains the start positions of the dictionary among other things. 2. is the frequency of the crystal correct in the temlate.asm? Look for the line .equ F_CPU = 8000000 3. is the baud rate in template.asm the same as with your terminal program? .equ BAUD = 9600 4. it the terminal program correctly set to 8 data bits No parity bit 1 stop bit NO hw flow control NO sw flow control If any of these are wrong, it won't work. 5. If none of the above get you closer, can you attach an LED (or scope) to the tx pin? If it does not blink a little just after reset, then your controller does not write anything to the pin and the problem is within your software setup. Be sure to check the users guide on the web page http://amforth.sourceforge.net/UG/linux.html Good luck! Keep going! Erich |
From: <dev...@de...> - 2013-10-12 09:45:11
|
Hello, for hardware security i tested that the communication with the UART works. I wrote the attached "Hello world" with an additional counter output that works perfect. But when i program the Forth there comes nothing over the UART. :-( I have no idea how to proceed? Best regards Karsten |
From: David W. <ins...@gm...> - 2013-10-12 09:14:05
|
Hi all, I'm trying to use the watchdog timer on an ATMega324P for power saving by sleeping for 8 seconds, and then having the watchdog wake the device. However, I'm struggling to set the prescaler flags in WDTCSR. According to the datasheet, the 'Change Enable' flag (WDCE) must be set to change the prescaler bits, but this clears after 4 clock cycles*. I'm thinking that perhaps, this can't be done in forth because changing the bits will take more than 4 clock cycles (I don't know, I'm guessing). Has anyone done this before and have a solution? If not, I guess I have to write the word in assembler, which I haven't done before. Any pointers on how to do this? Many thanks for any help, David Wallis * From datasheet: • Bit 4 - WDCE: Watchdog Change Enable This bit is used in timed sequences for changing WDE and prescaler bits. To clear the WDE bit, and/or change the prescaler bits, WDCE must be set. Once written to one, hardware will clear WDCE after four clock cycles. |
From: <dev...@de...> - 2013-10-12 08:53:56
|
Hello, i am not as fast as i want, but today i could setup my Test-system with an ATMega32 developement board and AMForth. It does not run. :-( There is nothing transmitted over the RS232. First thing i wonder about is when i convert the template.hex to a binary file: $ hex2bin template.hex hex2bin v1.0.9, Copyright (C) 2012 Jacques Pelletier checksum extensions Copyright (C) 2004 Rockwell Automation improved P.G. 2007, modified Danny Schneider,2012 Overlapped record detected Overlapped record detected Lowest address = 00000000 Highest address = 0000777F Pad Byte = FF 8-bit Checksum = 78 After that i programmed successfully the compiled hex-file with an USBASP and avrdude. I could readback the binary and compared it with the converted file (flash.xxx) It's binary identical. I attached the original files also (ATMega32.hex). I have no idea how to proceed? Best regards Karsten |
From: Matthias T. <mt...@we...> - 2013-10-11 19:03:00
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Vladimir, > Hi. Some 1-wire code you can find here > http://roboforum.ru/forum58/topic4406-75.html And much more. I just had a quick lock around and found random numbers, an OLED display. some PS/2 code snippets. Cool site, I should polish my Russian quickly ;) Thanks for the link Matthias -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlJYS1gACgkQ9bEHdGEMFjPUAACg2Sj9Ngq+sFJkt8TVHJ4IhsbK A1AAniWC2u5Vw3adGjcJ+rJWqjMGM+yx =YL1/ -----END PGP SIGNATURE----- |
From: <vu...@em...> - 2013-10-11 05:43:31
|
> Message: 6 > Date: Thu, 10 Oct 2013 11:16:06 -0700 >From: Michael Picco <mp...@rc...> > Subject: Re: [Amforth] Where to include a file in Atmel >Studio? > To: amf...@li... > Message-ID: <525...@rc...> > Content-Type: text/plain; charset=ISO-8859-1 > > > I inserted the two equates into the project master file >and followed > that with the include for 1wire.asm. Now the new words >1w.reset and > 1w.slot are appearing on my Uno! > > Now for some 1-wire development! > > > Michael > Hi. Some 1-wire code you can find here http://roboforum.ru/forum58/topic4406-75.html Made by russians. Vladimir |
From: Michael P. <mp...@rc...> - 2013-10-10 20:16:16
|
Thanks Erich! That wasn't quite clear in the write-up. Having made that change, it's now working. Regards, Michael On 10/10/2013 1:02 PM, Erich Waelde wrote: > Hello, > > On 10/10/2013 09:48 PM, Michael Picco wrote: > > I noticed that the documentation regarding "Un-Doing > > Definitions" is in error. > > > The two forth source files referred to have different paths: > > > The current paths appear to be: > > > lib/ans94/core/postpone.frt > > > and lib/ans94/core-ext/marker.frt > > > Having said that, when trying to compile 'marker.frt', it tells > > me 'set-current' isn't defined. > > > Where do I find it? > grep is your friend. > You will find that you need to include > .include "dict_wl.inc" > into the dict_appl.inc file of your project. > > Cheers, > Erich > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel |
From: Erich W. <ew....@na...> - 2013-10-10 20:02:15
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, On 10/10/2013 09:48 PM, Michael Picco wrote: > I noticed that the documentation regarding "Un-Doing > Definitions" is in error. > > The two forth source files referred to have different paths: > > The current paths appear to be: > > lib/ans94/core/postpone.frt > > and lib/ans94/core-ext/marker.frt > > Having said that, when trying to compile 'marker.frt', it tells > me 'set-current' isn't defined. > > Where do I find it? grep is your friend. You will find that you need to include .include "dict_wl.inc" into the dict_appl.inc file of your project. Cheers, Erich -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.15 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iQIcBAEBAgAGBQJSVwerAAoJEHx024vXVRNQItIP/i9NdAHPcpAigDODrttP2D3T 2g8nlF/IFY2hda6EewwvZIpIz8sX9ufSUZJQWd/Y0f579B55OY5KgMhW94bKXNFs e3E+RJk5GQwr/CkjLQf1CJ9rA+cLTSFvnA8ABcNcDridEEB3oGjVJuoKTGkbukMD zdavRv2Vi+9A7kpG7nhQmxKYOxRIDm8yCsKNeXGAve2/pnF4THbfbMCUsAiWblDl l+h2u7VkZr6+ZS2hpWE9jA4dhRuDuXD8XXU0GhB1NX6Xx7s2qLOMhdHSHyV7whyh CirWvesJPjeggHYie0sXc7qF4Vi1JTYLJFPQQRTEivDiTPQ+1y//ntCi5WFAwwQn NAs/M3j0f/HoCz+sh0JH4qA30dcHtzZayhhofBgGNr6f8DFx18oJeTqDCJBGY0P/ XZAMi6TfvPt5wWUY6QfoU2hNRtzXR3PDzyjnLchawJyvWsSYL9YbLhRVzooB2VD3 hJOPEGisL5ODoaAaeveDhIVyOjjZxOjtyPKabJgYoFvhPRSt14sKLROH/mMoGF2h 7DIhq/HblsUrWMuJKOXic/fgPoJuyi3loiME3xPpWXdVriFEcb2behTmqoXpah6x T781L6obZILtmH0n2pmVIdBEt3Q5ZXJakFA+yTbSgkAx7BIQfY1DNiOLn6nzUfrZ nc86a16tYngXORsdMjqd =oYa/ -----END PGP SIGNATURE----- |
From: Michael P. <mp...@rc...> - 2013-10-10 19:48:41
|
I noticed that the documentation regarding "Un-Doing Definitions" is in error. The two forth source files referred to have different paths: The current paths appear to be: lib/ans94/core/postpone.frt and lib/ans94/core-ext/marker.frt Having said that, when trying to compile 'marker.frt', it tells me 'set-current' isn't defined. Where do I find it? Thanks, Michael |
From: Michael P. <mp...@rc...> - 2013-10-10 18:16:08
|
Perhaps I've figured it out! I inserted the two equates into the project master file and followed that with the include for 1wire.asm. Now the new words 1w.reset and 1w.slot are appearing on my Uno! Now for some 1-wire development! Thanks again! Michael On 10/10/2013 11:00 AM, Michael Picco wrote: > Hi Matthias, > > Thank you for both replies. I'll take another look at the cookbook > reference. My final question still remains: > > at what point in my project template file does 1wire.asm get included? > > > Thanks again! > > Michael > > > > On 10/10/2013 10:57 AM, Matthias Trute wrote: >> Hi Michael, >> >>> Now that I have a repeatable process worked out that will yield a >>> programmed part, I'd like to give the part more functionality. >>> For starters, I'd like to add 1-wire capability to the Uno. >> Just look at the cookbook, there is a recipe what to do. >> http://amforth.sourceforge.net/TG/recipes/1wire.html >> >> There is no need to change the 1wire.asm file, really. All is >> done in your application file. >> >>> to .equ OW_BIT=4 (not sure if this is the best pin to use?) >> All pins are created equal, at least wrt to 1-wire communication. >> >> Matthias >> >> >> > ------------------------------------------------------------------------------ >> October Webinars: Code for Performance >> Free Intel webinars can help you accelerate application performance. >> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the > most from >> the latest Intel processors and coprocessors. See abstracts and register > >> > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk >> _______________________________________________ >> Amforth-devel mailing list for http://amforth.sf.net/ >> Amf...@li... >> https://lists.sourceforge.net/lists/listinfo/amforth-devel > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel |
From: Michael P. <mp...@rc...> - 2013-10-10 18:00:19
|
Hi Matthias, Thank you for both replies. I'll take another look at the cookbook reference. My final question still remains: at what point in my project template file does 1wire.asm get included? Thanks again! Michael On 10/10/2013 10:57 AM, Matthias Trute wrote: > Hi Michael, > > > Now that I have a repeatable process worked out that will yield a > > programmed part, I'd like to give the part more functionality. > > > For starters, I'd like to add 1-wire capability to the Uno. > > Just look at the cookbook, there is a recipe what to do. > http://amforth.sourceforge.net/TG/recipes/1wire.html > > There is no need to change the 1wire.asm file, really. All is > done in your application file. > > > to .equ OW_BIT=4 (not sure if this is the best pin to use?) > > All pins are created equal, at least wrt to 1-wire communication. > > Matthias > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel |
From: Matthias T. <mt...@we...> - 2013-10-10 17:57:24
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Michael, > Now that I have a repeatable process worked out that will yield a > programmed part, I'd like to give the part more functionality. > > For starters, I'd like to add 1-wire capability to the Uno. Just look at the cookbook, there is a recipe what to do. http://amforth.sourceforge.net/TG/recipes/1wire.html There is no need to change the 1wire.asm file, really. All is done in your application file. > to .equ OW_BIT=4 (not sure if this is the best pin to use?) All pins are created equal, at least wrt to 1-wire communication. Matthias -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlJW6noACgkQ9bEHdGEMFjM6fwCg90kZivVlj8ffpfXocYQSVxj2 Vh0AoJ54yo5XpH8v4VX/nLyaOAo3i2jN =40je -----END PGP SIGNATURE----- |
From: Matthias T. <mt...@we...> - 2013-10-10 17:54:35
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Michael, > On 10/9/2013 3:01 PM, Michael Picco wrote: >> Hello, >> >> I keep getting the following warning when compiling amforth for >> an Arduino Uno: >> >> "Use of undefined or forward referenced symbol 'XT_NOOP' in >> .equ/.set" The warning points to line 28 in the file >> "usart_common.asm. >> >> I've gone through the compilation process, double-checking my >> work several times. >> >> Any idea what might be causing this? You could use a line like .set WANT_ISR_TX = 1 somewhere above the include "drivers/usartxxx" in your application file. >> Is it a warning that could prevent successful running on the >> target device? If you read the file core/drivers/usart_common.asm the line 28 looks as follows: .set XT_USART_INIT_TX = XT_NOOP The warning tells you, that the symbol XT_NOOP is not known to the assembler (yet). This will change in a later step during assembly thus the warning is basically a cosmetic thing. The definition of the WANT-Option as described above changes what the assembler will process in the core/drivers/usart_common.asm. The conditional assembly works just like the c preprocessor works, only the synatx is different. The details, including what the other words may change, I leave to you ;) Matthias -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlJW6c8ACgkQ9bEHdGEMFjOh0wCg9E3t4rYsvuAWgVPSsHgbp4s0 4L0AoIsFdAHmenP3Qt823rEpkedYviMO =L8bS -----END PGP SIGNATURE----- |
From: Michael P. <mp...@rc...> - 2013-10-10 17:38:09
|
Now that I have a repeatable process worked out that will yield a programmed part, I'd like to give the part more functionality. For starters, I'd like to add 1-wire capability to the Uno. It appears that I need to modify the 1wire.asm file prior to including it. This seems to include the following changes: ;.EQU OW_BIT=4 ;.equ OW_PORT=PORTE to .equ OW_BIT=4 (not sure if this is the best pin to use?) and .equ OW_PORT=PORTx (the 'x' depends upon the pin used for OW_BIT, correct?) Having made these changes, where do I include 1wire.asm? I've tried putting it into the project template (mine is called amForth-5.asm) at a point just after the line: .include "drivers/usart_0.asm" This gave me a bucket of errors! Can anyone help me over this minor hump? Thanks, Michael |
From: Michael P. <mp...@rc...> - 2013-10-10 17:17:32
|
Programmed the resulting hex/eep files into the Uno and version 5.1 comes up just fine. Still not sure why the warning came up, but amForth appears to be working as expected. Michael On 10/9/2013 3:01 PM, Michael Picco wrote: > Hello, > > I keep getting the following warning when compiling amforth for an > Arduino Uno: > > "Use of undefined or forward referenced symbol 'XT_NOOP' in .equ/.set" > The warning points to line 28 in the file "usart_common.asm. > > I've gone through the compilation process, double-checking my work > several times. > > Any idea what might be causing this? > Is it a warning that could prevent successful running on the target device? > > Thanks, > > Michael > > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel |
From: Michael P. <mp...@rc...> - 2013-10-09 22:17:05
|
Hello, I keep getting the following warning when compiling amforth for an Arduino Uno: "Use of undefined or forward referenced symbol 'XT_NOOP' in .equ/.set" The warning points to line 28 in the file "usart_common.asm. I've gone through the compilation process, double-checking my work several times. Any idea what might be causing this? Is it a warning that could prevent successful running on the target device? Thanks, Michael |
From: <dev...@de...> - 2013-10-09 18:28:23
|
Am 09.10.2013 19:51, schrieb Matthias Trute: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hello, > >> What i can found within the assembler is this License.rtf for the >> assembler. >> >> "Redistribution and use in source and binary forms, with or >> without >> >> modification, are permitted provided that the following conditions >> are met: 1. Redistributions of source code must retain the above >> copyright notice, this list of conditions and the following >> disclaimer... " > Top4 in this file states that "This software may only be redistributed > and used in connection with an Atmel AVR product". amforth is not an > Atmel AVR product and it is distributed independently from any Atmel > product. > >> So please DO IT! > Nope. Wont do. > > Matthias > Oooops - not studied up to the end - sorry. That's a pity! Maybe Atmel will made an exception when you ask them via email? At least all this software will help to sell Atmel products! One more usable speech for theyre controllers is just an advantage. Cheers Karsten |
From: <dev...@de...> - 2013-10-09 18:24:44
|
Am 09.10.2013 19:31, schrieb Matthias Trute: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hello, > >> At this moment i am sceptical about the produced code, because >> after converting hex to bin i get 30447 bytes with a big block of >> FF in the middle ? > That's right. You may want to study the differences between the NRWW > and RWW address regions of the atmega microcontroller flash. How they > relate to amforth and what code is in which segment I've described in > the technical user guide at amforth.sf.net, I wont repeat it here. The > padding of FFFF words is only necessary for stupid hex file formats, > smarter ones (like elf) can address the segments directly and are > smaller wrt file size. Not that this really matters for a few KB of > file size however.. > > Smart flash programs (like the current avrdude) can skip those blocks > and work significantly faster. > >> When i disassemble the bin there are much invalide opcodes. > Most of them are opcodes of the forth VM, so called execution > tokens, and not opcodes for the atmega controller. The remaining > numbers are... numbers or addresses. If you want to study the > internals, I'd recommend the LST file from the assembler. It contains > the sources and the generated code in one single text file. > > Matthias > Now I understand - Thank You! |
From: Matthias T. <mt...@we...> - 2013-10-09 17:51:41
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, > > What i can found within the assembler is this License.rtf for the > assembler. > > "Redistribution and use in source and binary forms, with or > without > > modification, are permitted provided that the following conditions > are met: 1. Redistributions of source code must retain the above > copyright notice, this list of conditions and the following > disclaimer... " Top4 in this file states that "This software may only be redistributed and used in connection with an Atmel AVR product". amforth is not an Atmel AVR product and it is distributed independently from any Atmel product. > So please DO IT! Nope. Wont do. Matthias -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlJVl6UACgkQ9bEHdGEMFjNk+ACg8RrNlN75j8Lb6gOvnqPRTOZq NlYAniOvCa45kL+9ZK0vzBPvxJTNCW8U =5LRn -----END PGP SIGNATURE----- |
From: Matthias T. <mt...@we...> - 2013-10-09 17:32:07
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, > At this moment i am sceptical about the produced code, because > after converting hex to bin i get 30447 bytes with a big block of > FF in the middle ? That's right. You may want to study the differences between the NRWW and RWW address regions of the atmega microcontroller flash. How they relate to amforth and what code is in which segment I've described in the technical user guide at amforth.sf.net, I wont repeat it here. The padding of FFFF words is only necessary for stupid hex file formats, smarter ones (like elf) can address the segments directly and are smaller wrt file size. Not that this really matters for a few KB of file size however.. Smart flash programs (like the current avrdude) can skip those blocks and work significantly faster. > When i disassemble the bin there are much invalide opcodes. Most of them are opcodes of the forth VM, so called execution tokens, and not opcodes for the atmega controller. The remaining numbers are... numbers or addresses. If you want to study the internals, I'd recommend the LST file from the assembler. It contains the sources and the generated code in one single text file. Matthias -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlJVkwkACgkQ9bEHdGEMFjNZzQCdH2+2wNpTIPGJ1449vSlzaJZ6 7oAAnjvlPeUi78n3DdQLwkFjMiQeHzkR =IPsw -----END PGP SIGNATURE----- |
From: <dev...@de...> - 2013-10-09 08:06:46
|
Hello Erich, Am 09.10.2013 07:43, schrieb Erich Waelde: > Hello, > >> But there are much errors for the ATMega32: >> >> @/srv/test/amforth-5.1/appl/template$ make template.hex >> wine ../../Atmel/avrasm2.exe -I ../../Atmel/Appnotes -I ../../core >> -I ../../core/devices/atmega32 -fI -v0 -e template.eep.hex -l >> template.lst template.asm >> err:winedevice:ServiceMain driver L"IOPort" failed to load >> ../../core\drivers/usart_0.asm(1): error: Undefined symbol: UBRR0L >> ../../core\drivers/usart_0.asm(2): error: Undefined symbol: UBRR0H >> ../../core\drivers/usart_0.asm(3): error: Undefined symbol: UCSR0C >> ../../core\drivers/usart_0.asm(4): error: Undefined symbol: UCSR0B >> ../../core\drivers/usart_0.asm(5): error: Undefined symbol: UCSR0A >> ../../core\drivers/usart_0.asm(12): error: Undefined symbol: RXC0 >> ../../core\drivers/usart_0.asm(13): error: Undefined symbol: UDRE0 >> ../../core\drivers/usart_0.asm(14): error: Undefined symbol: TXEN0 >> ../../core\drivers/usart_0.asm(15): error: Undefined symbol: RXEN0 >> ../../core\drivers/usart_0.asm(16): error: Undefined symbol: RXCIE0 >> ../../core\drivers/usart_0.asm(17): error: Undefined symbol: UDRIE0 >> >> Assembly failed, 11 errors, 12 warnings >> make: *** [template.hex] Fehler 1 > For the atmega32 you need to edit one line > in template.asm > > ; define which usart to use. > -.include "drivers/usart_0.asm" > +.include "drivers/usart.asm" > > I assume you use the latest amForth (5.1 or trunk). In older versions > the following lines were added: > ; Baud settings > .equ BAUD = 115200 > ; additional .equs for "old fashioned" mcu with usart, not usart0 > +.equ TXEN0 = TXEN > +.equ RXEN0 = RXEN > +.equ RXCIE0 = RXCIE > +.equ UCSZ00 = UCSZ0 > > atmega32 is a member of the older atmega family, there are more, which > need this change (usart instead of usart_0). > > Good luck, > Erich > this works - thank you! :-) At this moment i am sceptical about the produced code, because after converting hex to bin i get 30447 bytes with a big block of FF in the middle ? When i disassemble the bin there are much invalide opcodes. ; Referenced from offset 0x34 by jmp Label1: 64: [2 ] af 93 push r26 66: [1 ] af b7 in r26, SREG 68: [2 ] af 93 push r26 6a: [2 ] bf 93 push r27 6c: [2 ] ef 93 push r30 6e: [2 ] ff 93 push r31 70: [2 ] b0 91 2c 00 lds 0x002c, r27 74: [2 ] a0 91 60 00 lds 0x0060, r26 78: [1 ] e2 e6 ldi r30, 0x62 ; 98 7a: [1 ] f0 e0 ldi r31, 0x00 ; 0 7c: [1 ] ea 0f add r30, r26 7e: [1 ] f3 1d adc r31, r3 80: [2 ] b0 83 st Z, r27 82: [1 ] a3 95 inc r26 84: [1 ] af 70 cbr r26, 0xf0 ; 240 86: [2 ] a0 93 60 00 sts 0x0060, r26 8a: [2 ] ff 91 pop r31 8c: [2 ] ef 91 pop r30 8e: [2 ] bf 91 pop r27 90: [2 ] af 91 pop r26 92: [1 ] af bf out SREG, r26 94: [2 ] af 91 pop r26 96: [4 ] 18 95 reti 98: [1 ] 00 38 cpi r16, 0x80 ; 128 9a: [1 ] 39 39 cpi r19, 0x99 ; 153 9c: [1 ] 37 38 cpi r19, 0x87 ; 135 .word 0x0060 ; Invalid opcode at 0x009e (158). Disassembler skipped two bytes. a0: [1 ] 78 38 cpi r23, 0x88 ; 136 a2: [1 ] 1a 38 cpi r17, 0x8a ; 138 a4: [1-3] 06 ff sbrs r16, 6 ; 0x40 = 64 a6: [1 ] 72 78 andi r23, 0x82 ; 130 a8: [1 ] 2d 69 ori r18, 0x9d ; 157 aa: [1 ] 73 72 andi r23, 0x23 ; 35 ac: [1 ] 00 00 nop ae: [1 ] 00 38 cpi r16, 0x80 ; 128 .word 0x0071 ; Invalid opcode at 0x00b0 (176). Disassembler skipped two bytes. b2: [1 ] 30 38 cpi r19, 0x80 ; 128 .word 0x0058 ; Invalid opcode at 0x00b4 (180). Disassembler skipped two bytes. b6: [1 ] 37 38 cpi r19, 0x87 ; 135 .word 0x0061 ; Invalid opcode at 0x00b8 (184). Disassembler skipped two bytes. ba: [1 ] 8f 38 cpi r24, 0x8f ; 143 bc: [1 ] a8 38 cpi r26, 0x88 ; 136 be: [1 ] 32 3a cpi r19, 0xa2 ; 162 c0: [1 ] 37 38 cpi r19, 0x87 ; 135 .word 0x000f ; Invalid opcode at 0x00c2 (194). Disassembler skipped two bytes. c4: [1 ] 16 3a cpi r17, 0xa6 ; 166 c6: [1 ] 37 38 cpi r19, 0x87 ; 135 .word 0x0061 ; Invalid opcode at 0x00c8 (200). Disassembler skipped two bytes. ca: [1 ] 84 38 cpi r24, 0x84 ; 132 cc: [1 ] 37 38 cpi r19, 0x87 ; 135 .word 0x0062 ; Invalid opcode at 0x00ce (206). Disassembler skipped two bytes. d0: [1 ] a0 39 cpi r26, 0x90 ; 144 d2: [1 ] 8f 38 cpi r24, 0x8f ; 143 d4: [1 ] 1a 38 cpi r17, 0x8a ; 138 d6: [1-3] 07 ff sbrs r16, 7 ; 0x80 = 128 d8: [1 ] 72 78 andi r23, 0x82 ; 130 da: [1 ] 3f 2d mov r19, r15 dc: [1 ] 69 73 cbr r22, 0xc6 ; 198 .word 0x0072 ; Invalid opcode at 0x00de (222). Disassembler skipped two bytes. .word 0x0052 ; Invalid opcode at 0x00e0 (224). Disassembler skipped two bytes. e2: [1 ] 00 38 cpi r16, 0x80 ; 128 e4: [1 ] ac 06 cpc r10, r28 e6: [1 ] 37 38 cpi r19, 0x87 ; 135 .word 0x0061 ; Invalid opcode at 0x00e8 (232). Disassembler skipped two bytes. ea: [1 ] 8f 38 cpi r24, 0x8f ; 143 ec: [1 ] 37 38 cpi r19, 0x87 ; 135 .word 0x0060 ; Invalid opcode at 0x00ee (238). Disassembler skipped two bytes. f0: [1 ] 8f 38 cpi r24, 0x8f ; 143 f2: [1 ] 03 39 cpi r16, 0x93 ; 147 f4: [1 ] 1a 38 cpi r17, 0x8a ; 138 f6: [1-3] 07 ff sbrs r16, 7 ; 0x80 = 128 f8: [1 ] 74 78 andi r23, 0x84 ; 132 fa: [1 ] 2d 70 andi r18, 0x0d ; 13 fc: [1 ] 6f 6c ori r22, 0xcf ; 207 ... But i will program it and will see if it works ... Best regards Karsten |
From: Erich W. <ew....@na...> - 2013-10-09 05:43:39
|
Hello, > But there are much errors for the ATMega32: > > @/srv/test/amforth-5.1/appl/template$ make template.hex > wine ../../Atmel/avrasm2.exe -I ../../Atmel/Appnotes -I ../../core > -I ../../core/devices/atmega32 -fI -v0 -e template.eep.hex -l > template.lst template.asm > err:winedevice:ServiceMain driver L"IOPort" failed to load > ../../core\drivers/usart_0.asm(1): error: Undefined symbol: UBRR0L > ../../core\drivers/usart_0.asm(2): error: Undefined symbol: UBRR0H > ../../core\drivers/usart_0.asm(3): error: Undefined symbol: UCSR0C > ../../core\drivers/usart_0.asm(4): error: Undefined symbol: UCSR0B > ../../core\drivers/usart_0.asm(5): error: Undefined symbol: UCSR0A > ../../core\drivers/usart_0.asm(12): error: Undefined symbol: RXC0 > ../../core\drivers/usart_0.asm(13): error: Undefined symbol: UDRE0 > ../../core\drivers/usart_0.asm(14): error: Undefined symbol: TXEN0 > ../../core\drivers/usart_0.asm(15): error: Undefined symbol: RXEN0 > ../../core\drivers/usart_0.asm(16): error: Undefined symbol: RXCIE0 > ../../core\drivers/usart_0.asm(17): error: Undefined symbol: UDRIE0 > > Assembly failed, 11 errors, 12 warnings > make: *** [template.hex] Fehler 1 For the atmega32 you need to edit one line in template.asm ; define which usart to use. -.include "drivers/usart_0.asm" +.include "drivers/usart.asm" I assume you use the latest amForth (5.1 or trunk). In older versions the following lines were added: ; Baud settings .equ BAUD = 115200 ; additional .equs for "old fashioned" mcu with usart, not usart0 +.equ TXEN0 = TXEN +.equ RXEN0 = RXEN +.equ RXCIE0 = RXCIE +.equ UCSZ00 = UCSZ0 atmega32 is a member of the older atmega family, there are more, which need this change (usart instead of usart_0). Good luck, Erich |