en:projects:4e4th:start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
en:projects:4e4th:start [2018-05-12 11:45] – [Communication with the 4E4th] mka | en:projects:4e4th:start [2018-05-12 23:45] – mka | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== 4E4th ====== | + | ====== 4E4th - the New Version 2018 ====== |
- | 4E4th is a small Forth running on TI's **LaunchPad**, | + | 4E4th is a small Forth running on TI's **LaunchPad**, |
- | Communication with the 4E4th works with its line editor, accessed by a terminal | + | Communication with the 4E4th works with its line editor |
4E4th((4e4th05a May 2018)) is based on MSP430 CamelForth version 0.5a written by B. J. Rodriguez for the TI MSP430G2553 Launchpad board. http:// | 4E4th((4e4th05a May 2018)) is based on MSP430 CamelForth version 0.5a written by B. J. Rodriguez for the TI MSP430G2553 Launchpad board. http:// | ||
- | It is an ANS Forth subset, needs 6K of the MSP430G2553 MCU FLASH (0xE000-0xFFFF). | + | It covers |
There are 8K (0xC000-0xDFFF) free for your own Experiments. | There are 8K (0xC000-0xDFFF) free for your own Experiments. | ||
Line 17: | Line 17: | ||
===== Bootstrap Loading ===== | ===== Bootstrap Loading ===== | ||
- | * You have a LaunchPad with TI's MSP430G2553 MCU and **4E4th inside**? - you have nothing further to do before starting. | + | * If you have a LaunchPad with TI's MSP430G2553 MCU and **4E4th inside** you have nothing further to do before starting. |
- | * In case you have your own LaunchPad with a MSP430G2553 you need to FLASH the [[https:// | + | * In case you have a new LaunchPad with an MSP430G2553 |
Line 25: | Line 25: | ||
===== LaunchPad Adjustments ===== | ===== LaunchPad Adjustments ===== | ||
- | Starting with Rev1.5 TI's LaunchPad has jumpers to switch Rx and Tx pins between Software UART and Hardware UART. | + | Starting with Rev1.5, TI's LaunchPad has jumpers to switch |
- | The LaunchPad TXD and RXD jumpers on J3 at the LaunchPad board are in SW UART position | + | |
{{: | {{: | ||
- | In case you are using 4E4th with an older LaunchPad version, remove the TXD and RXD jumpers and connect the TXD and RXD pins crosswise. \\ {{: | + | In case you are using 4E4th on an older LaunchPad version, remove the TXD and RXD jumpers and connect the TXD and RXD pins crosswise. \\ {{: |
| | ||
Line 42: | Line 41: | ||
- | == Windows XP, 7, 10 == | + | == Windows XP, 7 and 10 == |
- | LaunchPad Windows USB Drivers have to be installed. | + | Here, the LaunchPad Windows USB Drivers have to be installed. |
Further information is found at TI's document slau278h.pdf, | Further information is found at TI's document slau278h.pdf, | ||
- | * TeraTerm | + | * TeraTerm |
* HyperTerminal does, too. | * HyperTerminal does, too. | ||
If HyperTerminal doesn' | If HyperTerminal doesn' | ||
Line 53: | Line 52: | ||
Only "Wrap lines that exceed terminal width" may be checked. | Only "Wrap lines that exceed terminal width" may be checked. | ||
Line Feeds and Echo are not allowed. | Line Feeds and Echo are not allowed. | ||
- | * 4E4th-Terminal | + | * 4E4th-IDE is a special Terminal Emulation for Forth Applications. |
== macOSX == | == macOSX == | ||
Line 133: | Line 132: | ||
Type | Type | ||
11 22 33 | 11 22 33 | ||
- | The answer | + | The answer |
- | Type .s | + | Type '' |
- | (a dot and character " | + | |
4E4th answers with the quantity of the typed values and shows the typed values which are on the stack. | 4E4th answers with the quantity of the typed values and shows the typed values which are on the stack. | ||
- | You may repeat the .S command several times. You should always get the same result. | + | You may repeat the '' |
4E4th is capable of different number bases. 4E4th starts in DECIMAL mode and then accepts only decimal numbers. To make Embedded Systems programming easier, you may switch to HEX mode, and 4E4th only accepts hex numbers then. Typing DECIMAL switches back to decimal mode. | 4E4th is capable of different number bases. 4E4th starts in DECIMAL mode and then accepts only decimal numbers. To make Embedded Systems programming easier, you may switch to HEX mode, and 4E4th only accepts hex numbers then. Typing DECIMAL switches back to decimal mode. | ||
Line 145: | Line 143: | ||
Type this text: | Type this text: | ||
- | : TEST ." I am here " ; | + | |
- | 4E4th answers with "ok", as usual, to show that your input is accepted. | + | 4E4th answers with '' |
You just created a new command, and this command has just been added to the 4E4th system. | You just created a new command, and this command has just been added to the 4E4th system. | ||
Line 155: | Line 153: | ||
and look what this command does. You just learned that for creating of a new command you first | and look what this command does. You just learned that for creating of a new command you first | ||
- | type a colon ":", and at the end of this definition you type a semicolon | + | type a colon '' |
More examples you will find in Forth Tutorials - look at " | More examples you will find in Forth Tutorials - look at " | ||
Line 188: | Line 186: | ||
===== Making your own Forth Kernel ===== | ===== Making your own Forth Kernel ===== | ||
- | In case you like to edit the 4E4th kernel, | + | In case you like to edit the 4E4th kernel, |
- | http://www.ti.com/tool/iar-kickstart | + | |
- | Get the actual CF430G2553 Project - the base of 4E4th - from the Repository http:// | + | There is a readme.430 file and some other documentation |
- | There is a readme.430 file which tells you how to get your Forth done by yourself. | + | |
- | This webpage | + | Github |
- | the binary image is 4e4th.a43, you can load it into the LaunchPad' | + | The *.asm files hold the complete 4E4th source code. |
- | The *.s43 files hold the complete 4E4th source code. | + | |
Line 202: | Line 197: | ||
| | ||
- | SAVE ( -- ) Saves the typed additions. Stacks unchanged. Saves actual uarea. | + | SAVE ( -- ) Saves the typed additions. Stacks unchanged. Saves actual uarea. Makes last definition autostart. |
WIPE ( -- ) Back to original status. Stacks unchanged. uarea back to original. | WIPE ( -- ) Back to original status. Stacks unchanged. uarea back to original. | ||
- | APP ( -- adr ) User area execution token address for an Application. Default APP is NOOP. | + | |
| | ||
- | | + | |
- | | + | |
red -- m adr red LED mask and port1 address | red -- m adr red LED mask and port1 address | ||
green -- m adr green LED mask and port1 address | green -- m adr green LED mask and port1 address | ||
Line 214: | Line 209: | ||
- | The complete 4E4th vocabulary you will find here: | + | The complete 4E4th vocabulary you will find in the Glossary.pdf |
- | http:// | + | |
== How can I switch a LED on and off again? == | == How can I switch a LED on and off again? == | ||
Line 224: | Line 218: | ||
P1.6 = LED2 = green | P1.6 = LED2 = green | ||
| | ||
- | The Forth words '' | + | The Forth words '' |
Such a Mask is a Byte with the needed Bits set. The Forth Words '' | Such a Mask is a Byte with the needed Bits set. The Forth Words '' | ||
Line 233: | Line 227: | ||
Anyway, here are the commands: | Anyway, here are the commands: | ||
- | red cclr --> turns red LED off. | + | red cclrb --> turns red LED off. |
- | green cclr --> turns green LED off. | + | green cclrb --> turns green LED off. |
- | red cset --> turns red LED on. | + | red csetb --> turns red LED on. |
- | green cset --> turns green LED on. | + | green csetb --> turns green LED on. |
Next step: Blinking the LEDs! | Next step: Blinking the LEDs! | ||
Line 242: | Line 236: | ||
DECIMAL | DECIMAL | ||
: blink BEGIN | : blink BEGIN | ||
- | red cset green cclr 100 MS | + | red csetb green cclrb 100 MS |
- | red cclr green cset 100 MS | + | red cclrb green csetb 100 MS |
KEY? UNTIL ; | KEY? UNTIL ; | ||
This is a simple and a complete program. To make your LaunchPad running this program when switched on again, type | This is a simple and a complete program. To make your LaunchPad running this program when switched on again, type | ||
- | | + | SAVE |
| | ||
It is a good habit to have an exit from your app back to Forth. Otherwise a WIPE is due in case you like to interact with 4e4th again: press S2+reset. | It is a good habit to have an exit from your app back to Forth. Otherwise a WIPE is due in case you like to interact with 4e4th again: press S2+reset. | ||
Line 263: | Line 257: | ||
Ti's engineers assume that you program your LaunchPad using C or Assembler. Therefore TI offers so called Integrated Development Environment (IDE) software - the IAR " | Ti's engineers assume that you program your LaunchPad using C or Assembler. Therefore TI offers so called Integrated Development Environment (IDE) software - the IAR " | ||
- | But there is an odd loophole: complete projects may be developed with Kickstart, and programmed with another program. | + | We used Naken Assembler instead. https:// |
Line 324: | Line 318: | ||
===== Programmer ===== | ===== Programmer ===== | ||
- | You find the 4E4th binary image at the Forth-Gesellschaft Repository: http:// | + | You find the 4E4th binary image at GitHub, see section Bootstrap Loading for a link. It has to be loaded into the MCU using a suitable programmer. |
== Windows XP and Windows 7 == | == Windows XP and Windows 7 == | ||
Line 470: | Line 464: | ||
If I remove the LaunchPad from the USB while TeraTerm still is running, the connection of the two remains disturbed. Thus Hotplug does not go. So far it only helps to close TeraTerm. Afterwards (!) disconnect LaunchPad from USB, wait for the sound sequence, connect again, and wait for the sound sequence again, then open the terminal.
When using the FET-Pro430 Programmer, follow those instructions, |
If I remove the LaunchPad from the USB while TeraTerm still is running, the connection of the two remains disturbed. Thus Hotplug does not go. So far it only helps to close TeraTerm. Afterwards (!) disconnect LaunchPad from USB, wait for the sound sequence, connect again, and wait for the sound sequence again, then open the terminal.
When using the FET-Pro430 Programmer, follow those instructions, | ||
+ | |||
+ | Looks like the newest TeraTerm can hot plug the Launchpad. mk 20180510 | ||
====== Acknowledgements ====== | ====== Acknowledgements ====== | ||
Line 475: | Line 471: | ||
Many thanks to the groundbreaking work creating CamelForth done by Brad Rodriguez. | Many thanks to the groundbreaking work creating CamelForth done by Brad Rodriguez. | ||
Thanks to Dirk Bruehl for his untiring and altruistic support of the 4E4th Project, by ordering the appropriate hardware and encouraging with many hints and ideas to go on until CamelForth was running on the LaunchPad. | Thanks to Dirk Bruehl for his untiring and altruistic support of the 4E4th Project, by ordering the appropriate hardware and encouraging with many hints and ideas to go on until CamelForth was running on the LaunchPad. | ||
- | mk 03-14-2012 | + | mk 20120314 |
+ | |||
+ | Thank you again, Brad Rodriguez, for transferring CamelForth to Naken Assembler! And thanks to Jürgen Pintaske, who persuaded me to transfer 4e4th to the Naken Assembler. mk 20180512 | ||
====== Links ====== | ====== Links ====== | ||
Line 489: | Line 487: | ||
http:// | http:// | ||
- | (mk20121224) | + | revisions |
en/projects/4e4th/start.txt · Last modified: 2018-05-13 00:17 by mka