en:projects:4e4th:start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:projects:4e4th:start [2018-05-12 12:21] – [Acknowledgements] mka | en:projects:4e4th:start [2018-05-13 00:17] (current) – 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 78: | Line 77: | ||
== Linux == | == Linux == | ||
- | Seems to be working without special drivers. Disconnecting and reconnecting USB is an almost foolproof way to make the connection. Note: on most GNU/Linux distributions '' | + | Seems to be working without special drivers. Disconnecting and reconnecting USB is an almost foolproof way to set the serial communication |
Tested on: | Tested on: | ||
Line 101: | Line 100: | ||
===== Starting 4E4th ===== | ===== Starting 4E4th ===== | ||
- | Start with connecting the LaunchPad to your PC or laptop, using the USB cable out of the LaunchPad box. | + | As first step start with connecting the LaunchPad to your PC or laptop, using the USB cable out of the LaunchPad box. This USB connection is at the same time the LaunchPad' |
- | The USB connection is the LaunchPad' | + | |
As soon as the LaunchPad is connected, Forth is started (both LEDs are switched on) - assuming your Laptop or PC is switched on. For testing and to start Forth again, use the LaunchPad' | As soon as the LaunchPad is connected, Forth is started (both LEDs are switched on) - assuming your Laptop or PC is switched on. For testing and to start Forth again, use the LaunchPad' | ||
- | 4E4th starts with its latest saved status. To get back to the status at delivery, push and hold LaunchPad' | + | 4E4th starts with its latest saved status. To get back to the status at delivery, push and hold LaunchPad' |
// | // | ||
Line 116: | Line 114: | ||
| | ||
- | ===== Communication with the 4E4th ===== | + | ===== Communication with 4E4th ===== |
Line 136: | Line 134: | ||
Type '' | Type '' | ||
- | 4E4th answers with the quantity of the typed values and shows the typed values which are on the stack. | + | 4E4th will show the typed values which are on the stack. |
You may repeat the '' | 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. Using hex numbers A B C D E F in decimal mode will produce an error message. |
- | Here another Test. | + | Here another Test. Type this text – and end with < |
- | Type this text: | + | |
: TEST ." I am here " ; | : TEST ." I am here " ; | ||
- | 4E4th answers with '' | + | 4E4th answers with ok as usual, to show that your input has been accepted. |
- | You just created a new command, and this command has just been added to the 4E4th system. | + | You have just created a new command, and this command has as well been added to the 4E4th system. |
Now type | Now type | ||
Line 156: | Line 153: | ||
type a colon '':'', | type a colon '':'', | ||
- | More examples you will find in Forth Tutorials - look at " | + | See chapter 11a, b and c in A Start With Forth https:// |
+ | |||
+ | More examples you will find in Forth Tutorials - for example | ||
//All Forth words in the examples are written in CAPITAL letters. The 4e4th does not care whether you type CAPITAL or small letters uses. This behavior is called case insensitive. // | //All Forth words in the examples are written in CAPITAL letters. The 4e4th does not care whether you type CAPITAL or small letters uses. This behavior is called case insensitive. // | ||
Line 167: | Line 166: | ||
It is possible to upload and save the MCUs image using a Programmer. | It is possible to upload and save the MCUs image using a Programmer. | ||
- | To remove your program, type WIPE. Be careful. This is a powerful instruction. When typing WIPE, your work of may be several hours will be gone. That's why 4E4th-Terminal | + | To remove your program, type WIPE. Be careful. This is a powerful instruction. When typing WIPE, your work of may be several hours will be gone. That's why 4E4th-IDE logs all your typing, and you will be able to download your work again. |
Another way to remove your programs is by pressing the LaunchPad' | Another way to remove your programs is by pressing the LaunchPad' | ||
Line 176: | Line 175: | ||
===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
- | If nothing is working | + | If 4e4th staopped |
- | Having | + | Assuming |
The Programmer uses Port USB HID00xx to connect to LaunchPad using the same USB Port the Terminal uses. The Terminal may stay connected. | The Programmer uses Port USB HID00xx to connect to LaunchPad using the same USB Port the Terminal uses. The Terminal may stay connected. | ||
Line 189: | Line 188: | ||
In case you like to edit the 4E4th kernel, clone this project https:// | In case you like to edit the 4E4th kernel, clone this project https:// | ||
- | There is a readme.430 file and some other documentation which tells you how to get your Forth done by yourself. | + | There is a readme.430 file and some other documentation which tells you how to get your own special |
- | Github contains all the code and programs you need to generate your Forth. The binary image 4e4th05a.hex you can load into the LaunchPad' | + | Github contains all the code and programs you need to generate your Forth. The binary image 4e4th05a.hex you can directly |
- | The *.asm files hold the complete 4E4th source code. | + | |
Line 198: | Line 196: | ||
| | ||
- | SAVE ( -- ) Saves the typed additions. Stacks unchanged. Saves actual uarea. | + | SAVE ( -- ) Saves the typed additions. Stacks |
WIPE ( -- ) Back to original status. Stacks unchanged. uarea back to original. | WIPE ( -- ) Back to original status. Stacks unchanged. uarea back to original. | ||
| | ||
- | csetb m adr -- set port pins at address with mask | + | csetb m addr -- set port pins at address with mask |
- | cclrb m adr -- clear port pins at address with mask | + | cclrb m addr -- clear port pins at address with mask |
- | red -- m adr red LED mask and port1 address | + | red -- m addr red LED mask and port1 address |
- | green -- m adr green LED mask and port1 address | + | green -- m addr green LED mask and port1 address |
S? -- f test button S2, true when pressed | S? -- f test button S2, true when pressed | ||
Line 219: | Line 217: | ||
P1.6 = LED2 = green | P1.6 = LED2 = green | ||
| | ||
- | The Forth words '' | + | The Forth words '' |
- | Such a Mask is a Byte with the needed | + | Such a mask is a byte with the needed |
red 0x01 = 00000001 | red 0x01 = 00000001 | ||
Line 245: | Line 243: | ||
SAVE | 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 good practice |
We hope we soon will have a nice 4E4th collection of [[projects: | We hope we soon will have a nice 4E4th collection of [[projects: | ||
Line 254: | Line 252: | ||
====== Requirements ====== | ====== Requirements ====== | ||
- | To communicate with the LaunchPad' | + | To communicate with the LaunchPad' |
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 " | ||
Line 270: | Line 268: | ||
Start LaunchPad_Driver.exe (mouse double click). | Start LaunchPad_Driver.exe (mouse double click). | ||
There seems to be no result, but after this action LaunchPad will be recognized and is ready to go. This works for 32 bit and 64 bit systems. | There seems to be no result, but after this action LaunchPad will be recognized and is ready to go. This works for 32 bit and 64 bit systems. | ||
- | |||
- | With this little action you avoid to install IAR's " | ||
Connect your LaunchPad to USB (remember: connect cable to LaunchPad first), you should get a ready to go message. | Connect your LaunchPad to USB (remember: connect cable to LaunchPad first), you should get a ready to go message. | ||
Line 369: | Line 365: | ||
There is a group which is collecting tools: | There is a group which is collecting tools: | ||
http:// | http:// | ||
+ | |||
===== Source Upload via Terminal ===== | ===== Source Upload via Terminal ===== | ||
Line 488: | Line 485: | ||
http:// | http:// | ||
- | (mk20121224) (mk20180512) | + | revisions |
+ | |||
+ | 4e4th05a May 2018 |
en/projects/4e4th/start.1526120494.txt.gz · Last modified: 2018-05-12 12:21 by mka