Hi Erich,

thank you for your help. After a few goes I successfully got the compiling
to work. For those readers looking for a step by step process this is what
I did:

1. Extract AMforth6-5.
2. Create a project directory (I used myproj in this instance) under
amforth6-5\appl
3. Copy the contents of a relevant example or the contents of the template
folder. I tried both with success.
4. Copy the relevant device.asm file into the myproj folder. Since I was
using a board with an atmega328p chip, I used the device.asm file from
E:\amforth-6.5\avr8\devices\atmega328p
5. Put avrasm2.exe into the amforth6-5 folder.
6. There is no "include" directory in the ATMEL assembler download
mentioned in  http://amforth.sourceforge.net/UG/quick-windows.html There is
an Appnotes2 folder which I copied under AMforth6-5 though not having it
generated no error messages.
7. In the myproj folder I created make.bat with the following command
..\..\avrasm2.exe -fI -o myproj.hex -e myproj.eep -l myproj.lst -I ..\..\
-I ..\..\common -I ..\..\avr8 -I ..\..\appnotes2 -v0 myproj.asm

I tried this twice for two projects and no errors in the assembly were
noted. Once again thanks for putting me on the right track.

Kind regards
Richard

On Mon, Jul 24, 2017 at 12:06 AM, Erich Wälde <ew.fo...@nassur.net> wrote:

> Hello Richard,
>
> disclaimer: I do not use Windows myself ...
>
> > I create a batch file, make.bat, containing the following line:
> > avrasm2.exe -fI -o myproj.hex -e myproj.eep -l myproj.lst -I .\ -I
> > amforth\common -I amforth\avr8 -I include  -v0 myproj.asm
> >
> > My project structure now looks like
> > Directory of E:\amforth
> >
> > 21/07/2017  01:40 PM    <DIR>          .
> > 21/07/2017  01:40 PM    <DIR>          ..
> > 01/05/2017  02:09 AM    <DIR>          appl
> > 21/07/2017  12:41 PM    <DIR>          Appnotes2
> > 01/05/2017  02:13 AM    <DIR>          avr8
> > 18/06/2012  09:47 PM           410,112 avrasm2.exe
> > 01/05/2017  02:09 AM    <DIR>          common
> > 26/07/2012  02:50 AM             2,233 device.asm
> > 26/07/2012  02:50 AM            15,724 device.inc
> > 06/12/2014  02:56 AM               197 dict_appl.inc
> > 19/05/2014  11:47 PM                60 dict_appl_core.inc
> > 01/05/2017  02:12 AM    <DIR>          doc
> > 01/05/2017  02:09 AM    <DIR>          examples
> > 29/10/2014  04:17 AM            35,147 LICENSE.txt
> > 21/07/2017  01:39 PM               124 make.bat
> > 21/07/2017  01:15 PM               577 Myproj.asm
> > 21/07/2017  01:40 PM             1,200 myproj.lst
> > 27/06/2016  02:46 AM             1,944 readme.txt
> > 01/05/2017  02:09 AM    <DIR>          tests
> > 01/05/2017  02:12 AM    <DIR>          tools
> > 19/05/2014  02:29 AM               361 uno.asm
> > 21/07/2017  01:33 PM    <DIR>          words
> >
> > When I run make.bat from the command prompt I get:
> > E:\amforth>make
> >
> > E:\amforth>avrasm2.exe -fI -o myproj.hex -e myproj.eep -l myproj.lst -I
> .\
> > -I amforth\common -I amforth\avr8 -I include -v0 myproj.asm
> > avr8\preamble.inc(2): error: Cannot find include file: macros.asm
> > myproj.asm(16): error: Cannot find include file: words\usart_0.asm
> > avr8\amforth.asm(9): error: jmp_: Unknown instruction or macro
> > avr8\amforth.asm(9): error: PFA_COLD: Unknown instruction or macro
> > avr8\amforth.asm(12): error: Cannot find include file:
> > drivers/generic-isr.asm
> > avr8\amforth.asm(14): error: Cannot find include file: dict/rww.inc
> > dict_appl.inc(4): error: Cannot find include file: dict/compiler2.inc
> > avr8\amforth.asm(23): error: Cannot find include file:
> > amforth-interpreter.asm
> > avr8\amforth.asm(24): error: Cannot find include file: dict/nrww.inc
> > avr8\amforth.asm(36): error: Cannot find include file: amforth-eeprom.inc
> >
>
> avrasm2.exe does not find macros.asm.
>
> macros.asm lives in ".../avr8/".
>
> According to your structure that should be
> "e:/amforth/avr8/macros.asm"
>
> However, the -I (include) directives in your batch file do not
> reflect this location. Since make.bat is located in "e:/amforth"
> the include paths should probably read
>
> > avrasm2.exe -fI -o myproj.hex -e myproj.eep -l myproj.lst -I .\ -I>
> .\common -I .\avr8 -I .\include  -v0 myproj.asm
>
>
> That being said, I do not see any advantage in rearranging the
> tree. If you checkout amforth (or extract it from a tar ball)
> the you should have this tree
>
> +-- e:/amforth
>     +-- LICENSE.txt
>     +-- appl/
>     |   +-- arduino/
>     |   +-- ...
>     |   +-- template/
>     |   +-- my_project <-- copy of arduino
>     +-- avr8/
>     +-- common/
>     +-- doc/
>     +-- examples/
>     +-- msp430/
>     +-- readme.txt
>     +-- tests/
>     +-- tools/
>
> I would highly recommend to create a copy of "arduino" or
> "template" called my_project_1 (or whichever name seems
> appropriate) and then change things in this new directory. The
> -I directives should then read similar to
>
> > avrasm2.exe ... -I ../../avr8/ -I ../../common/
>
> because your project directory is two levels below "e:/amforth"
>
>
> Hope this helps.
>
> Cheers,
> and welcome to AmForth!
>
> Erich
>
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Amforth-devel mailing list for http://amforth.sf.net/
> Amforth-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/amforth-devel
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Amforth-devel mailing list for http://amforth.sf.net/
Amforth-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amforth-devel

Reply via email to