Hi all,
I'm trying to build amforth-6.5 by following the instructions under
*http://amforth.sourceforge.net/UG/quick-windows.html*
<http://amforth.sourceforge.net/UG/quick-windows.html> but with no success.
It seems too much has changed in the last four years. After a few hours I
just seem to be getting further into trouble. I'm ready to give up but as a
last resort thought I'd ask for help.
What I did was extract amforth in a e:\amforth and added the avrasm2.exe
file and the appnotes2 folder which holds all the definition files for the
avr family. This gives me a starting directory structure like this:
Directory of E:\amforth
21/07/2017 01:27 PM <DIR> .
21/07/2017 01:27 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
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
01/05/2017 02:09 AM <DIR> msp430
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
Since I am not using the msp430 chip I delete that folder completely. I now
copy from amforth\appl\arduino the following into the project directory:
uno.asm,
dict_appl_code.inc,
dict_appl.inc, and the
words directory
I then navigate to E:\amforth\avr8\devices\atmega328p and copy device.asm
and device.inc into the amforth directory.I edit uno.asm and save as
myproj.asm.
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
Assembly failed, 10 errors, 0 warnings
E:\amforth>
So let's look at the errors one by one.
avr8\preamble.inc(2): error: Cannot find include file: macros.asm
preamble.inc(2) has the instruction .include "macros.asm"
Could this be working for anyone when this file sits in the AVR8 folder? I
assume the command should read .include "avr8\macros.asm"
myproj.asm(16): error: Cannot find include file: words\usart_0.asm
I used uno.asm as a template for myproj.asm. I had already worked out that
some changes were need in the template i.e.
.include "preamble.inc" had to change to be .include "avr8\preamble.inc"
.include "amforth.asm" had to change to be .include "avr8\amforth.asm"
So I also change .include "words\usart_0.asm" to be .include
"avr8\drivers\usart_0.asm"
With just these changes I re-run make.bat and 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\macros.asm(6): error: Cannot find include file: user.inc
avr8\drivers\usart_0.asm(32): error: Cannot find include file:
drivers/usart_common.asm
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
Assembly failed, 8 errors, 0 warnings
E:\amforth>
Once again plenty of errors caused by an incorrect? path for the file being
called. Either there is something wrong with my approach or the
distribution has fundamental flaws. It would be a shame to see such a lot
of hard work get thrown out but the distribution is starting to look like
it does not match whatever the authors used.
Over to you..
Kind regards
Richard
------------------------------------------------------------------------------
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/
[email protected]
https://lists.sourceforge.net/lists/listinfo/amforth-devel