Re: [Amforth] Gory Details: How to properly create a release?
Hello Brian, after the stunt getting leonardo to build a similar stunt makes the butterfly building again :-) > Erich Wälde writes: >> Brian writes: >> I am running the latest version of amforth on an avrbutterfly. > > Oh, cool! You made me curious. This is a atmega169 controller > featuring 16k flash, so it is possible. I still have such a > thing in a box, so I should be able to recreate it. In my /outdated/ version of the Atmel files, there is the file "m169def.inc". In the /new/ version of the Atmel files from the archive found here https://sourceforge.net/projects/amforth/files/Atmel-AVR8-Assembler/Atmel-Assembler.tgz/download this file is unfortunately missing! So I just copied m169def.inc (note there is no A P PA in this game!) over to the new tree and the file for the butterfly can be built! Yay! I have not yet tried to run it on the board. If it works, I'm going to - add "m169def.inc" to Atmel-Assembler.tgz (provided I can figure out how to place this file in the correct location) - add avr-butterfly back to appl/ - fix the Makefile in there This still applies: > > Would you care to share your application? Something like a > nametag maybe??? I'm aware that there is a description, how to use the LCDisplay in Vierte Dimension 2007/1 (german text) https://forth-ev.de/wiki/res/lib/exe/fetch.php/vd-archiv:4d2007-01.pdf Thank you very much for pointing this out! Cheers, Erich >snip< -- May the Forth be with you ... ___ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel
Re: [Amforth] Gory Details: How to properly create a release?
I am running the latest version of amforth on an avrbutterfly. Brian On 8/30/20 1:09 PM, Erich =?utf-8?Q?W=C3=A4lde?= wrote: More details on Point 4 (see below). Cheers, Erich Erich Wälde writes: Dear AmForthers, I asked: - How do I actually create a new release? Copying the files is one thing, but where do I need to change the version? There is more than one place, I'm afraid. I also happen to know that after 6.9 there cannot be 6.10 due to a limitation created very early. Matthias told me that, otherwise I would be clueless. see https://sourceforge.net/p/amforth/mailman/message/37048278/ How to create an official release? I spent some time to do some code archeology. I still do not know, how to properly make a release. This is, what I currently see/expect: 1. check all version numbers in trunk - doc/Makefile being one place. This seems to be used in all generated documentation, which is nice. - common/words/env-forthversion.asm is another place with different syntax! Judging by commit r2271, these are all places indeed. Yay! 2. update doc/source/index.rst and optionally history.rst in trunk and commit 3. "svn copy" trunk to releases/$VERSION; commit message collects the accumulated one line change descriptions This is the most visible change in the source tree e.g. see commit r2244 (rel 6.5) 4. create all .hex files for target boards in appl/ arduino,atmega2561,eval-pollin,hifive1,launchpad-arm,launchpad430, template I had forgotten that these exsisted. They are in the release archive only, not in the source tree. Now I understand, why people sometimes ask about them. This step is detailed in a few .xml files. Matthias used ant to build them. I have not built these before, but this looks doable, provided I get all relevant toolchains up and running. Digging through the ./appl/ subdirectory I think I understand the following: - There are currently 8 target directories. - all of them have either build.xml or Makefile files - of the AVR8 targets all can be build with the exception of "arduino/leonardo" --- this runs into the "8k is too small" limitation. There used to be an avr-butterfly target (up to 6.4), which suffers from the same limitation, iirc. AVR needs the wine/avrasm2.exe toolchain. - the remaining targets need different toolchains, which I have not installed at this moment. - hifive1 riscv64-linux-gnu-as In the download section Matthias has provided a toolchain, see: https://sourceforge.net/projects/amforth/files/Risc-V-Tools/ However, this toolchain is very hip today, so it is available at den Debian repositories as well: gcc-riscv64-linux-gnu/stable I actually have such a board collecting dust in the corner :-/ - launchpad-arm arm-none-eabi-as This toolchain is available at the debian repositories as well: gcc-arm-none-eabi/stable - launchpad430naken_asm This tool is available, maintained and probably quite mature: http://www.mikekohn.net/micro/naken_asm.php In 2015 I have made experiments with this toolchain, so this part is probably doable. - inux-armarm-linux-gnueabi-as This toolchain is available at the debian repositories as well: gcc-arm-linux-gnueabi/stable I do not have any msp430 or arm boards any more. I have given them away. So all in all, the toolchains are available. Matthias has probably built a bunch of docker containers to run them :-) A little while later: Installing the missing toolchains on Debian turns out to be fairly simple (thank you, Debianistas!): # apt install binutils-riscv64-linux-gnu \ binutils-arm-linux-gnueabi \ binutils-arm-none-eabi I had a copy of naken_asm (from 201(5) in some corner and with that executable on the PATH, I could build launchpad430 So with the exception of arduino/leonardo.* I managed to build everything that shows up in the release archive. ew@ceres:~/Forth/amforth/trunk/appl 119 > ls -l */*.hex */amforth -rw-r- 1 ew ew 239 2020-08-30 11:28 arduino/duemilanove.eep.hex -rw-r- 1 ew ew 26843 2020-08-30 11:28 arduino/duemilanove.hex -rw-r- 1 ew ew 239 2020-08-30 11:28 arduino/mega128.eep.hex -rw-r- 1 ew ew 27959 2020-08-30 11:28 arduino/mega128.hex -rw-r- 1 ew ew 239 2020-08-30 11:28 arduino/uno.eep.hex -rw-r- 1 ew ew 27157 2020-08-30 11:28 arduino/uno.hex -rw-r- 1 ew ew 239 2020-08-30 11:31 atmega2561/atmega256.eep.hex -rw-r- 1 ew ew 27481 2020-08-30 11:31 atmega2561/atmega256.hex -rw-r- 1 ew ew 239 2020-08-30 11:27 eval-pollin/p1284-16.eep.hex -rw-r- 1 ew ew 28096 2020-08-30 11:27 eval-pollin/p1284-16.hex -rw-r- 1 ew ew 239 2020-08-30 11:27 eval-pollin/p16-8.eep.hex -rw-r- 1 ew ew 27518 2020-08-30 11:27 eval-pollin/p16-8.hex -rw-r- 1 ew ew 239 2020-08-30 11:27 eval-pollin/p32-8.eep.hex -rw-r- 1 ew ew 27682
Re: [Amforth] Gory Details: How to properly create a release?
More details on Point 4 (see below). Cheers, Erich Erich Wälde writes: > Dear AmForthers, > > I asked: >> - How do I actually create a new release? Copying the files is >>one thing, but where do I need to change the version? There >>is more than one place, I'm afraid. I also happen to know >>that after 6.9 there cannot be 6.10 due to a limitation >>created very early. Matthias told me that, otherwise I would >>be clueless. > see https://sourceforge.net/p/amforth/mailman/message/37048278/ > > > > How to create an official release? > > I spent some time to do some code archeology. I still do not know, > how to properly make a release. This is, what I currently > see/expect: > > 1. check all version numbers in trunk > >- doc/Makefile being one place. This seems to be used in all > generated documentation, which is nice. >- common/words/env-forthversion.asm is another place with different > syntax! >Judging by commit r2271, these are all places indeed. Yay! > > 2. update doc/source/index.rst and optionally history.rst in >trunk and commit > > 3. "svn copy" trunk to releases/$VERSION; commit message collects >the accumulated one line change descriptions >This is the most visible change in the source tree >e.g. see commit r2244 (rel 6.5) > > 4. create all .hex files for target boards in appl/ >arduino,atmega2561,eval-pollin,hifive1,launchpad-arm,launchpad430, >template > >I had forgotten that these exsisted. They are in the release archive >only, not in the source tree. Now I understand, why people >sometimes ask about them. > >This step is detailed in a few .xml files. Matthias used ant to >build them. I have not built these before, but this looks doable, >provided I get all relevant toolchains up and running. Digging through the ./appl/ subdirectory I think I understand the following: - There are currently 8 target directories. - all of them have either build.xml or Makefile files - of the AVR8 targets all can be build with the exception of "arduino/leonardo" --- this runs into the "8k is too small" limitation. There used to be an avr-butterfly target (up to 6.4), which suffers from the same limitation, iirc. AVR needs the wine/avrasm2.exe toolchain. - the remaining targets need different toolchains, which I have not installed at this moment. - hifive1 riscv64-linux-gnu-as In the download section Matthias has provided a toolchain, see: https://sourceforge.net/projects/amforth/files/Risc-V-Tools/ However, this toolchain is very hip today, so it is available at den Debian repositories as well: gcc-riscv64-linux-gnu/stable I actually have such a board collecting dust in the corner :-/ - launchpad-arm arm-none-eabi-as This toolchain is available at the debian repositories as well: gcc-arm-none-eabi/stable - launchpad430naken_asm This tool is available, maintained and probably quite mature: http://www.mikekohn.net/micro/naken_asm.php In 2015 I have made experiments with this toolchain, so this part is probably doable. - inux-armarm-linux-gnueabi-as This toolchain is available at the debian repositories as well: gcc-arm-linux-gnueabi/stable I do not have any msp430 or arm boards any more. I have given them away. So all in all, the toolchains are available. Matthias has probably built a bunch of docker containers to run them :-) A little while later: Installing the missing toolchains on Debian turns out to be fairly simple (thank you, Debianistas!): # apt install binutils-riscv64-linux-gnu \ binutils-arm-linux-gnueabi \ binutils-arm-none-eabi I had a copy of naken_asm (from 201(5) in some corner and with that executable on the PATH, I could build launchpad430 So with the exception of arduino/leonardo.* I managed to build everything that shows up in the release archive. > ew@ceres:~/Forth/amforth/trunk/appl 119 > ls -l */*.hex */amforth > -rw-r- 1 ew ew 239 2020-08-30 11:28 arduino/duemilanove.eep.hex > -rw-r- 1 ew ew 26843 2020-08-30 11:28 arduino/duemilanove.hex > -rw-r- 1 ew ew 239 2020-08-30 11:28 arduino/mega128.eep.hex > -rw-r- 1 ew ew 27959 2020-08-30 11:28 arduino/mega128.hex > -rw-r- 1 ew ew 239 2020-08-30 11:28 arduino/uno.eep.hex > -rw-r- 1 ew ew 27157 2020-08-30 11:28 arduino/uno.hex > > -rw-r- 1 ew ew 239 2020-08-30 11:31 atmega2561/atmega256.eep.hex > -rw-r- 1 ew ew 27481 2020-08-30 11:31 atmega2561/atmega256.hex > > -rw-r- 1 ew ew 239 2020-08-30 11:27 eval-pollin/p1284-16.eep.hex > -rw-r- 1 ew ew 28096 2020-08-30 11:27 eval-pollin/p1284-16.hex > -rw-r- 1 ew ew 239 2020-08-30 11:27 eval-pollin/p16-8.eep.hex > -rw-r- 1 ew ew 27518 2020-08-30 11:27 eval-pollin/p16-8.hex > -rw-r- 1 ew ew 239 2020-08-30 11:27 eval-pollin/p32-8.eep.hex > -rw-r- 1 ew ew 27682 2020-08-30 11:27 eval-pollin/p32-8.hex > -rw-r- 1 ew ew 239