Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #35875

Expected BASE-LINE for Embedded Controllers

From Paul E Bennett <Paul_E.Bennett@topmail.co.uk>
Newsgroups comp.lang.forth
Subject Expected BASE-LINE for Embedded Controllers
Date 2015-01-18 11:58 +0000
Organization Hidecs Consultancy
Message-ID <ci1leoF5ljpU1@mid.individual.net> (permalink)

Show all headers | View raw


Forth Baseline Word Set Proposal

Some discussion has been bubbling in the background since before last year's 
EuroForth. The problem is seen that, for deeply embedded controls, some 
words in the CORE are not suitable candidates for inclusion in the system. 
Additionally, some useful words are not in CORE.

If we are to allow a claim of compliance to the standard for such deeply 
embedded systems we may need to look at a sensible BASE-LINE set of words 
that we should be able to count on to be there for a system that may connect 
to the embedded controller via a communications port only, without being 
over-burdened by words that are only sensible in the desk-top realm.
(Otherwise the standards declaration can get quite complicated)

Hence, trying to establish what words might be included in the Baseline set 
began via email discussions between a few of us who are more into the small 
controller markets. This can include 8-bit, 16-bit, 18-bit, 21-bit, and 32-
bit processors. 

So, the set suggested below is probably richer than an absolute minimalist 
set would be (that extreme is saved for the Umbilical Only System and may be 
as little as XC@, XC! and XCALL).

The following 71 words are suggested at this stage. 

Words for inclusion:
Memory Access:-
HERE C@ C! @ , C, ALIGN ALIGNED CELL+ CELLS CALIGN  CALIGNED CHAR+ CHARS 
! ' [']

Arithmetic:-
+ - 2* * / 2/ MOD */MOD UM*

Logic:
0= 0< 0<> = < > AND OR XOR LSHIFT RSHIFT

Stack:
DUP SWAP OVER DROP >R R> R@ ROT

Flow Control:
IF ELSE THEN BEGIN WHILE UNTIL DO I J LOOP EXECUTE

Defining:
: ; CREATE DOES> CONSTANT VARIABLE 

I/O:
KEY KEY? CR EMIT

Tools:
( \ .S

Exception Management:
CATCH THROW

Special Words: 
Some special words will have to be added for controllers FLASH and IO 
handling. These will be underlying machine specific and are therefore not 
specified in this list.

About The Exception Management Choice:
It has been felt that the Catch & Throw mechanism is the most flexible way 
of managing exceptions that may arise for different reasons. The standard 
gives a range of values pre-defined for specific error types. Minimal action 
would be the actions of ABORT (-1 or any non-zero code), see Standard 
reference 6.1.0680.

Some final Words:
It is seen that this smaller set of words, defined as a Baseline Set, would 
allow simpler starter systems for those who may be confused by the rich 
dictionary of some of the offerings. 

In the deeply embedded controller world it would also assist with preferring 
a fully certified product for such deeply embedded controllers, while also 
being able to claim full adherence to a standard.

The observant will realise that IMMEDIATE is not in the list. The need for 
this rather depends on implementation details and whether or not the 
IMMEDIATE flag is required in the word's header or not. 

Other issues of STATE also come into this category and there have been 
lengthy discussions on both factors

Please start a new thread on the specific topics of state smartness and 
immediacy rather than discuss those issues in this one.

What do you guys think?

-- 
********************************************************************
Paul E. Bennett IEng MIET.....<email://Paul_E.Bennett@topmail.co.uk>
Forth based HIDECS Consultancy.............<http://www.hidecs.co.uk>
Mob: +44 (0)7811-639972
Tel: +44 (0)1235-510979
Going Forth Safely ..... EBA. www.electric-boat-association.org.uk..
********************************************************************

Back to comp.lang.forth | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

Expected BASE-LINE for Embedded Controllers Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2015-01-18 11:58 +0000
  Re: Expected BASE-LINE for Embedded Controllers Matthias Trute <matthias.trute@gmail.com> - 2015-01-18 04:55 -0800
    Re: Expected BASE-LINE for Embedded Controllers Mikael Nordman <oh2aun@gmail.com> - 2015-01-18 10:20 -0800
    Re: Expected BASE-LINE for Embedded Controllers visualforth@rocketmail.com - 2015-01-20 10:45 -0800
      Re: Expected BASE-LINE for Embedded Controllers "Elizabeth D. Rather" <erather@forth.com> - 2015-01-20 12:34 -1000
        Re: Expected BASE-LINE for Embedded Controllers visualforth@rocketmail.com - 2015-01-20 16:40 -0800
  Re: Expected BASE-LINE for Embedded Controllers Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-18 22:27 +0100
    Re: Expected BASE-LINE for Embedded Controllers "Elizabeth D. Rather" <erather@forth.com> - 2015-01-18 13:45 -1000
      Re: Expected BASE-LINE for Embedded Controllers albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-19 18:22 +0000
    Re: Expected BASE-LINE for Embedded Controllers Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2015-01-19 12:06 +0100
      Re: Expected BASE-LINE for Embedded Controllers albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-19 18:47 +0000
        Re: Expected BASE-LINE for Embedded Controllers "Elizabeth D. Rather" <erather@forth.com> - 2015-01-19 11:22 -1000
          Re: Expected BASE-LINE for Embedded Controllers albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-20 11:54 +0000
        Re: Expected BASE-LINE for Embedded Controllers Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2015-01-20 09:49 +0100
      Re: Expected BASE-LINE for Embedded Controllers Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-19 20:27 +0100
      Re: Expected BASE-LINE for Embedded Controllers Paul Rubin <no.email@nospam.invalid> - 2015-01-20 11:04 -0800
        Re: Expected BASE-LINE for Embedded Controllers Mark Wills <markwills1970@gmail.com> - 2015-01-20 11:33 -0800
        Re: Expected BASE-LINE for Embedded Controllers Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-20 23:30 +0100
          Re: Expected BASE-LINE for Embedded Controllers Paul Rubin <no.email@nospam.invalid> - 2015-01-20 14:41 -0800
            Re: Expected BASE-LINE for Embedded Controllers Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-21 00:40 +0100
              Re: Expected BASE-LINE for Embedded Controllers Paul Rubin <no.email@nospam.invalid> - 2015-01-20 15:53 -0800
                Re: Expected BASE-LINE for Embedded Controllers Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-21 01:41 +0100
                Re: Expected BASE-LINE for Embedded Controllers "Elizabeth D. Rather" <erather@forth.com> - 2015-01-20 15:38 -1000
                Re: Expected BASE-LINE for Embedded Controllers Paul Rubin <no.email@nospam.invalid> - 2015-01-22 11:08 -0800
                Re: Expected BASE-LINE for Embedded Controllers albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-23 16:10 +0000
            Re: Expected BASE-LINE for Embedded Controllers "Elizabeth D. Rather" <erather@forth.com> - 2015-01-20 15:25 -1000
          Re: Expected BASE-LINE for Embedded Controllers albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-21 10:40 +0000
  Re: Expected BASE-LINE for Embedded Controllers Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2015-01-19 12:00 +0100
  Re: Expected BASE-LINE for Embedded Controllers Mikael Nordman <oh2aun@gmail.com> - 2015-01-21 00:04 -0800
    Re: Expected BASE-LINE for Embedded Controllers Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2015-01-21 11:53 +0100
    Re: Expected BASE-LINE for Embedded Controllers Mark Wills <markwills1970@gmail.com> - 2015-01-21 03:02 -0800
    Re: Expected BASE-LINE for Embedded Controllers Mark Wills <markwills1970@gmail.com> - 2015-01-21 03:07 -0800
      Re: Expected BASE-LINE for Embedded Controllers Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-22 15:50 +0100
        Re: Expected BASE-LINE for Embedded Controllers anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-22 16:39 +0000
        Re: Expected BASE-LINE for Embedded Controllers Paul Rubin <no.email@nospam.invalid> - 2015-01-22 11:13 -0800
          Re: Expected BASE-LINE for Embedded Controllers stephen@mpeforth.com (Stephen Pelc) - 2015-01-23 11:19 +0000
            Re: Expected BASE-LINE for Embedded Controllers albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-23 16:12 +0000
          Re: Expected BASE-LINE for Embedded Controllers anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-23 16:42 +0000
            Re: Expected BASE-LINE for Embedded Controllers Paul Rubin <no.email@nospam.invalid> - 2015-01-24 01:53 -0800
              Re: Expected BASE-LINE for Embedded Controllers Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-24 15:33 +0100
              Re: Expected BASE-LINE for Embedded Controllers anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-25 15:48 +0000

csiph-web