LEARN HARDWARE FIRMWARE AND SOFTWARE DESIGN - BRIEF DESCRIPTION

LEARN HARDWARE FIRMWARE AND SOFTWARE DESIGN 5TH EDITION - FRONT COVER
GREEN LEAVES

Edition 5 of LHFSD [ISBN 978 606 92185 32] has been specifically designed to become an educational/pedagogical manual for teachers, instructors, though it is also recommended to ordinary citizens. Have no fear, dear readers: LHFSD5 is still addressed to beginners, since EVERYTHING starts from a white page, and then things are developed/explained gradually [and logically], step by step. Note that our Source-Code Package ED5RV07EN_15 works on Windows 95, 98, 2000, ME, XP, VISTA, 7, 8.1, 10.


On this Internet page there is a summary presentation of the main parts in LHFSD 5th edition.

LHFSD HARDWARE COMPANION KITPART 1: HARDWARE DESIGN


ATTENTION
During 2005-2009 Corollary Theorems has sold a good number of LHFSD-HCK kits throughout the World. If one owner of a LHFSD-HCK kit intends to sell it, then write to us, please, and we are going to post your offer in this site.

Additionally, any reader who builds the LHFSD-HCK kit (on a prototyping breadboard, or as a PCB) and wants to sell it could write to us, and we are going to advertise his/her offer on these pages.

 

FINISHED MICROCONTROLLER SCHEMATIC

Hardware Design starts from an empty Schematic page, then it builds up gradually the LHFSD-HCK [Hardware Companion Kit]. The novelty in the 5th edition is that it advises the readers to build (alternatively) the LHFSD-HCK kit on a breadboard, instead of a PCB. Things are this way.

Some readers may decide to become perfectly groomed hardware designers; therefore they should build the LHFSD-HCK PCB as it is explained in minute details in our book. However, other readers may prefer to train mostly as firmware and/or software developers. For them, it is advisable to build LHFSD-HCK on a breadboard instead [or on any material that stands to solder temperature].

LHFSD-HCK has a fair degree of moderate hardware complexity, in order to help beginners most. Consequently, the hardware design work is divided into "modules", and each hardware-module is explained in sharp details, functionally. Fact is, the Hardware Design part is the easiest one to accomplish!

As a minimum of practical hardware implementation, a readers needs the following, extremely simple, modules:

1. the power module (a few components);
2. the programming interface (just one connector);
3. one or more leds connected to the output processor ports (leds + resistors).


LHFSD-HCK PCB LAYOUT









All Schematics needed to build the LHFSD-HCK kit are included into the accompanying Source-Code Package ED5RV07EN_15. Even more, the chapter dedicated to building LHFSD-HCK PCB includes the complete list of the Bill of Materials! 



MAPLE 7


COMPILER CHECKPART 2: FIRMWARE DESIGN

Changes are radical in Firmware Design, in edition 5, compared to all previous editions. First of all, the structure of one firmware project was changed from:

a. source-code file plus other supporting "*.c" files (to);

b. source-code file plus "*.h" supporting files.

In addition, the readers may decide to setup their firmware workbench based on:

A. XC16® (of GNU free) type compiler and MPLAB® X Vx.x IDE (or);
B. C30® and MPLAB® V8.x (both as free download versions).

Naturally, the options above appear to be rather difficult to select, at this moment; however, inside LHFSD5 there are sufficient details about either choice. In addition, the users may even switch from one option to another at code-time, since the source-code files contain a "compiler version check" algorithm (as is presented in the picture above).

FIRMWRE STRUCTURE OF FILES










You can see the structure of supporting files of one firmware project in the picture on left. Note that each line of firmware code is accompanied by adequate comments!

The 12 complete firmware projects presented in LHFSD5 are priceless firmware source-code examples.
As a note, Firmware Design starts from exactly one empty page, and then it builds up gradually using the simplest firmware techniques.

LHFSD - Front Cover
PART 3: SOFTWARE DESIGN



Software Design in edition 5 of LHFSD is implemented using the Visual Basic 6 compiler working on Windows 7/8.1--again starting from a white page. However, this software development environment is presented only as "a similarity". The readers may use in a similar manner any other compiler (say Visual Basic .Net, Excel VBA, Java, Delphi) and/or any other OS platform (Linux, Mac).

In order to prove the "similar" manner of software development recommended method in LHFSD5, we have inserted for exemplification two *.exe programs that implement exactly the same thing:

    1. first is a C_OBDII_CRC.exe console program written in ANSI C;
    2. second is a VB_OBDII_CRC.exe written in Visual Basic 6.

Each program is capable of generating the OBDII CRC hex byte from a variable series of hex bytes, according to the OBDII protocol: X8 + X4 + X3 + X2 + 1 == b 0001 1101 == 0x1D.

Alternatively, both programs are able to validate a series of hex bytes that end in the proper CRC byte; the result is always 0xC4 == b 1100 0100 == X7 + X6 + X2.

Please download each program above, then play with them to understand the great concept of "similarity" we strive to explain here. Note that "the engine" behind each program is in data control at bit level, and it works exactly the same, although the two compilers are so different.


SOFTWARE PROGRAMMING SAMPLE



In Software Design are presented 7 complete software programs (SDx),  fairly complex, and each line of VB6 code is again explained in sharp details. Note that the software programs are developed in parallel with the firmware ones, since they need to work together.

Because Software Design is the most complex part in LHFSD5 book, it shall be detailed on another site-page.

 

Practically, VB6 is the most important programming language today, since it is incredibly simple and so exceptionally powerful. Note that the graphic drivers of VB6 are the best ones ever assembled, and the proof is MS Word, MS Excel, MS Power Point, MS Front Page etc.

By the way, in case you do not know, there is a complete VBA compiler in each MS Office application. Practically, someone could run all LHFSD5 SDx programs (slightly modified) from MS Excel or from MS Word!

 


NOTE

MAPLE 7
In ED5RV07EN_15 Source Code Package, each FDx firmware program has been compiled to a FDx.hex file: this allows the users to run FDx projects without a C30/XC16 compiler!

In addition, each SDx software applications has been compiled into an executable program--say, SD5.exe. In this way, the readers may run each SDx application without a Visual Basic 6 compiler!


LHFSD - Front Cover





Learn Hardware Firmware and Software Design ... the easy way!

 
 
 
x
Send your comments regarding this page using support@corollarytheorems.com, noi@editcc.com, or cus@2agraph.com
Page last updated on: September 01, 2021
© SC Complement Control SRL. All rights reserved.
 

OUR CANADIAN FLAG

x
 

Valid HTML 4.01!

Site pages valid according to W3C

Valid CSS!

Stylesheets pages valid according to W3C
 
x