|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HOME_PARA_TOP |
|
|
|
|
|
|
|
Bookmark : |
HOME_PARA_TOP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ECCM
KEY FEATURES |
|
|
|
|
Bookmark : |
HOME_PARA_ECCM_FEATURES |
|
|
|
|
|
|
|
|
|
|
ECCM stands for Embedded Controller Code
Maker. |
|
|
|
|
|
|
ECCM is a software design program that
provides a development environment for Embedded Controller Design. |
|
|
|
ECCM outputs an Assembler code to be burned
on a Microchip. |
|
|
|
|
The Engineer/Programmer, however, is not
required to write a single line of Code . |
|
|
|
What differentiate ECCM from other
Code-Generation-Tools are the following 4 unique features: |
|
|
|
----------------------------------------------------------------------- |
|
|
|
|
[1] The ECCM tools are not only code
generation tools, but also learning tools. |
|
|
|
Therefore, entry-level engineers or
programmers (and even undergraduates) can use ECCM in order to |
|
|
|
design and develop a
software-hardware project. |
|
|
|
|
That doesn’t mean that an experienced
engineer or programmer can't use ECCM . |
|
|
|
On the contrary, by using ECCM, even an
experienced designer can reduce the development time of |
|
|
|
the entire software-hardware
project typically by a factor of 4
... meaning from months to weeks . |
|
|
|
|
|
|
|
|
All the ECCM Tools provide an
interactive ( Step-By-Step) guide to the designer , throughout the entire |
|
|
|
design process of the software and the
interface hardware . |
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------------- |
|
|
|
|
[2] ECCM provides 3 unique
Software/Hardware Design and Development tools |
|
|
|
|
|
|
|
|
Design Tool 1 : …. named ECCM Modules … |
|
|
|
|
An Interactive-Tool, that allows a
designer (entry level-engineer/programmer) |
|
|
|
to create (automatically , by a click
on a button located inside a spread-sheet), |
|
|
|
the code for
Software-Integrated-Modules (SIMs). |
|
|
|
|
….. ( Conceptually a SIM is similar to
a Hardware-Integrated-Circuit ) … |
|
|
|
That tool “asks the designer questions”
and according to the user answers |
|
|
|
creates the final code of a certain SIM
. |
|
|
|
|
ECCM provides a family of SIMs for
numerous software |
|
|
|
|
and hardware applications . |
|
|
|
|
|
|
|
|
|
Design Tool 2 : ... named ECCM
Integrator ... |
|
|
|
|
A software integration Tool , that
allows a designer to Automatically Integrate the |
|
|
|
code of all his SIMs and create the System’s code . The only
information |
|
|
|
that the designer needs to provide
ECCM-Integrator is the interconnection list |
|
|
|
(named WIRE_LIST) between the SIM's .
The WIRE_LIST is a 2 column table |
|
|
|
that define the connections between
the output-ports and the input ports |
|
|
|
of the SIM's. |
|
|
|
|
|
|
|
|
|
Design Tool 3 ... named ECCM's
Digital-Filter-Design-Tool ... |
|
|
|
This tool is used for the
implementation of Digital-Filters. Allows the designer to |
|
|
|
specify the performance of
Digital-Filter and accordingly obtain
the |
|
|
|
Filter-Coefficient-Values. These
Filter-Coefficient-Values are provided to |
|
|
|
existing SIMS that automatically create the code for the Digital-Filters. |
|
|
|
|
|
|
|
|
|
|
|
|
[3] The unique concept of a
Software/Hardware Integrated Module ... the SIM .... |
|
|
|
|
|
|
When using the ECCM Tools, the
designer defines the software and the interface hardware by using |
|
|
|
building blocks named Software-Integrated-Modules or SIMs. |
|
|
|
The key feature of each SIM are : |
|
|
|
|
|
|
[] Each SIM, has a visual representation
(the Block-Diagram) with specific predefined Input and Output (I/O) ports, |
|
|
|
representing both software and
hardware (if applicable) , providing
the means to Automatically integrate the |
|
|
|
code of all the SIMs . |
|
|
|
Also, the designer can use the
block-diagram of the SIMs in order to draw a visual representation of the
system, |
|
|
|
including hardware and software. |
|
|
|
…. The Meaning of hardware (I/O) ports (if applicable): |
|
|
|
Each SIM that is fed via one (or
more) hardware pin(s) of the EC chip, |
|
|
|
( such as Digital I/O, Analog I/O
, Clock I/O , etc ) |
|
|
|
or each SIM that feeds a voltage
( or current) to one ( or more) hardware pin(s) of the EC chip , |
|
|
|
has a combined block-diagram
representing both the hardware and the software ports . |
|
|
|
This combined Software/Hardware
representation provide the Designer visual means representing |
|
|
|
the software, as well as all the
interfacing hardware ( in one schematic diagram ) . |
|
|
|
|
|
|
|
[] For each SIM, ECCM provides the
designer, with an "Active-Data-Sheet" ( a Spread-Sheet File) , that
contains : |
|
|
|
--
Interactive-Data-Entry means, in a form of questions to the Designer,
resulting in "Designer-Answers". |
|
|
|
-- Activation buttons that activate
High-Level-Code that extract the "Designer-Answers" and |
|
|
|
converts them into
Assembler-Code that is ready to be used by the EC Chip . |
|
|
|
-- Display of the resulting
Assembler-Code. |
|
|
|
-- Technical information about the
SIM (Software and Hardware),
including the functionality of each |
|
|
|
input port, output
port, and the relationship between them . |
|
|
|
-- Application-Example(s)
illustrating how to use that SIM in a Software/Hardware project . |
|
|
|
-- All the means needed, in order to
allow the ECCM-Integrator tool, to Automatically integrate the |
|
|
|
resulting Assembler-Code of that
SIM , with the Assembler-Code of the other SIMs. |
|
|
|
|
|
|
Note about the resulting
Assembler-Code : |
|
|
|
The designer is not required to
understand the resulting Assembler-Code . |
|
|
|
Nevertheless, the resulting
Assembler-Code contains Comments
that allow the designer to understand each line |
|
|
|
, and provide cross-reference to
the "Designer-Answers" . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[4] A new approach to using
"High-Level-Language" in order to create Assembler code for
Embedded-Controllers: |
|
|
|
As of today, most of the high-level
Software-Development tools (capable of generating software algorithms for |
|
|
|
Embedded-Controllers), provide C
language compilers. |
|
|
|
These C compilers require significant
on-chip-memory-space (typically unavailable). |
|
|
|
--
The Code generated by the C compiler, does not provide visualization
of the Software Hardware System. |
|
|
|
--
Most importantly, Embedded-Controllers ( EC’s) incorporate many on-chip hardware |
|
|
|
( such as timers, pulse capture
and generate, AD, DA…) that has to be
controlled by Assembler-Code. |
|
|
|
Therefore, the resulting code (that is used by Simulators / Emulators) is a
mixture of C and Assembler that is |
|
|
|
obscure and difficult to manage. |
|
|
|
|
|
|
The ECCM’s Solution: Algorithm-Generation
SIMs |
|
|
|
--
These SIMs, have well defined software I/O Ports (easy to visualize
and simple to integrate with other SIMs) |
|
|
|
allowing the designer to create
complex Algorithms by using a |
|
|
|
simplified
Interactive-Basic-Language code generation technique. |
|
|
|
|
|
|
--
The data sheet of The Algorithm-Generator SIMs contains additional
active forms. These forms allow The designer to |
|
|
|
generate advanced Assembler-Code
by decoding the designer entry ( or user entry) ... no need to write code ! ... |
|
|
|
|
|
|
--
The user is only required to click on "Code-Templates" ,
where the code template are provided by |
|
|
|
the design tool and are written in a Basic-Language-like
syntax (Basic-Like). |
|
|
|
So, Unlike C compilers, when
creating Algorithm-Generation SIMs, the Design-tool ECCM-modules, |
|
|
|
assists the user in writing the
“Basic-Like” code . |
|
|
|
|
|
|
--
These "Code-Templates" are located in the Data-Sheet of the
SIM and are automatically Provided to the user |
|
|
|
(double-click on a certain
instruction). |
|
|
|
|
|
|
--
These "Code-Templates" contain all the Syntax and all the
Parameters associated with Each Instructions, thus preventing syntax errors .
|
|
|
|
|
|
|
--
To CONVERT The Basic-Like Code
into Assembler-Code all The user needs to do is click on The Generate-Button
located in |
|
|
|
the Data-Sheet of the SIM. |
|
|
|
|
|
|
--
Unlike C compilers , when converting the Basic-Like code into
Assembler-code, the Design Tool (ECCM-modules) Automatically include only |
|
|
|
the Functions and the Code that
is needed, resulting in minimal use of the chip’s memory. |
|
|
|
|
|
|
--
When ECCM-modules CONVERT The Basic-Like Code into Assembler Code, it
adds Comments next to The Assembler lines. |
|
|
|
These comments explain the code
and provides cross-reference between the Assembler-Code and the Basic-Like
code. |
|
|
|
|
|
|
|
--
Finally , the resulting Assembler-code (of the Algorithm-Generator) is
created by ECCM such that it can be Automatically integrated |
|
|
|
( by the ECCM-Integrator-Tool)
with the Assembler code of other SIMs . |
|
|
|
All that is required from the
Designer , is to specify (by providing the WIRE_LIST ) the interconnections
between |
|
|
|
the I/O of the
Algorithm-Generator SIM, and the I/O of the other SIMs . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[ Option_1] |
To jump to the bottom of this page and see
an overview of how to |
|
|
|
|
|
design with the ECCM's Tools , please
click on this picture
>>>> |
|
|
|
|
|
|
|
|
[ Option_2] |
Continue
below |
|
|
|
|
|
|
|
|
|
|
|
HOME_PARA_APP_OF_SIMS |
|
Bookmark : |
HOME_PARA_APP_OF_SIMS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|