User Tools

Site Tools


en:projects:e4thcom

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:projects:e4thcom [2026-05-09 18:48] – [Abstract] mmen:projects:e4thcom [2026-05-22 19:33] (current) – [Abstract] mm
Line 9: Line 9:
 //**e4thcom for Linux and OSX** is a terminal program for embedded Forth Systems with cross-assembler and cross-disassembler interface that supports **conditional and unconditional uploading** of source code. **32 and 64 Bit Linux** (X86 and Raspberry/Raspbian) and **64 Bit OSX** are supported.// //**e4thcom for Linux and OSX** is a terminal program for embedded Forth Systems with cross-assembler and cross-disassembler interface that supports **conditional and unconditional uploading** of source code. **32 and 64 Bit Linux** (X86 and Raspberry/Raspbian) and **64 Bit OSX** are supported.//
  
-//Support for OSX is new and still in status TESTING. So feedback in case of problems is greatly appreciated.+//Support for OSX is new and still in status TESTING. So feedback in case of problems is greatly appreciated.//
  
 //Supported Forth Systems:// //Supported Forth Systems://
  
-// **328eForth, 430CamelForth, 430eForth, 4e4th, AmForth, anyForth, Mecrisp, Mecrisp-Quintus, Mecrisp-Stellaris, noForth, STM8 eForth, SwapForth **//+// **328eForth, 430CamelForth, 430eForth, 4e4th, AmForth, anyForth, ESP32forth, Mecrisp, Mecrisp-Quintus, Mecrisp-Stellaris, noForth, STM8 eForth, SwapForth **//
  
 The latest release is The latest release is
Line 19: Line 19:
 ==== e4thcom-0.9.0 for Linux ==== ==== e4thcom-0.9.0 for Linux ====
  
-  * Bug fix release because with Linux kernel 6. and glibc 2.4 initializing the serial interface fails with e4thcom-0.8.5 (and 0.8.4). With e4thcom-0.9.0 now stty from the GNU Coreutils is used.+  * 260502 : Bug fix release because with Linux kernel 6. and glibc 2.4 initializing the serial interface fails with e4thcom-0.8.5 (and 0.8.4). With e4thcom-0.9.0 now stty from the GNU Coreutils is used. 
 +  * **260522 : Plug-in for ESP32forth ( -t esp32forth ) added.**
  
-{{ :projects:e4thcom:e4thcom-0.9.0-stty-260502.tar.gz | e4thcom-0.9.0-stty.tar.gz }}+{{ :projects:e4thcom:e4thcom-0.9.0-stty-260522.tar.gz | e4thcom-0.9.0-stty.tar.gz }}
  
-md5sum: 357a09d61d5d74eb2420652dd8b66089  e4thcom-0.9.0-stty-260502.tar.gz+md5sum: 1d17517011af15c2f54960d8cd57fb26 e4thcom-0.9.0-stty-260522.tar.gz
  
 ==== e4thcom-0.8.5.2 ==== ==== e4thcom-0.8.5.2 ====
Line 179: Line 180:
  
 md5sum: 559cc0a5112eee79c3b83bafa0388f7b  e4thcom-0.5.3.tar.gz md5sum: 559cc0a5112eee79c3b83bafa0388f7b  e4thcom-0.5.3.tar.gz
 +
 +==== Installation Notes ====
 +
 +The e4thcom package includes the file ''/doc/e4thcom-x.y.z.pdf''. **Installing e4thcom** is
 +described there, however, the explanation is very brief, and for Linux novices like myself, it is not
 +immediately obvious why to do it that way. Hence, I included my notes on the subject here. May
 +they prove helpful. mk 20250430
 +
 +=== Brief Introduction ===
 +
 +In Linux systems, the `/opt` directory serves—in accordance with the Filesystem Hierarchy Standard [[https://de.wikipedia.org/wiki/Filesystem_Hierarchy_Standard|(FHS)]]—as the location for installing optional application software packages ((Yes, root privileges are required here!)).
 +
 +Typically, software that was *not* installed via the system's standard package manager is stored in `/opt` (e.g., specific IDEs, databases, or specialized tools). ''e4thcom'' falls into this category.
 +
 +A //dedicated subdirectory// is created under `/opt` specifically for the software package. This subdirectory bears the name of the package. The software's associated files and directories are then located within this subdirectory.
 +
 +The advantages of this FHS-compliant structure are:
 +
 +* **Isolation:** Each software package is encapsulated within its own directory, thereby avoiding conflicts with other programs or system files.
 +* **Ease of Management:** Adding, updating, or removing software in `/opt` is generally straightforward, as all associated files are located in a single place.
 +* **System Integrity:** Since software in `/opt` is not part of the standard system installation, it does not compromise the stability or integrity of the base system.
 +
 +It is important to note that the use of `/opt` is a convention. Some distributions or system administrators may handle the installation of additional software differently—for instance, by using `/usr/local` instead. However, the FHS recommends using `/opt` for the purposes described above.
 +
 +The topmost directory in the Linux filesystem hierarchy—which contains all other files and directories—is known as the *root directory*. It is represented by a single ''/'' (slash). The `/opt` directory is already established within this root directory.
 +
 +
 +
 +=== Practical Procedure ===
 +
 +And that is exactly how I proceeded on my laptop. Save the e4thcom package here:
 +
 +/opt/e4thcom-0.8.0
 +
 +To ensure that "e4thcom" can be found from the console, a symbolic link pointing to it must be included in your PATH environment variable. Typically, such links are created within `/usr/local/bin`, which is usually already included in the PATH. You can verify this by running `echo $PATH`.
 +
 +On my Linux Mint system, I simply right-clicked on the `e4thcom` file, selected "Create Link" from the context menu, and then moved the resulting link to `/usr/local/bin`. That’s it—well, almost. In my case, this action generated a file named "Link to e4thcom." However, within the `/usr/local/bin` directory, the file name needs to be simply `e4thcom`. So, I just had to rename it from "Link to e4thcom" to plain "e4thcom." :)
 +
 +Now, the `e4thcom` command should work from any console session—even when used with options such as `-t <target>`.
 +
 +This worked because I have administrator privileges on my personal Linux Mint laptop. So, in the Thunar window—which is the GUI for the Linux Mint file system—I click on the "Open as Root" option, and from that point on, everything can be done quite easily.
 +
 +=== If You Are Not an Admin ===
 +
 +Provided it is foreseeable that //e4thcom// will be used on the Linux system by only **one** user—namely you—it is simpler and safer to extract e4thcom into the directory ''/home/user-name/bin'' and to create the link to the e4thcom binary there as well. If this directory does not yet exist, it must be created. All of this can be done here without root privileges—that is, without SUDO—and ''/home/user-name/bin'' is automatically added to the system path. Furthermore, if necessary, you can then recompile e4thcom without root privileges; see ''~/bin/e4thcom-x.y.z/src/README''.
  
en/projects/e4thcom.1778352536.txt.gz · Last modified: by mm