Programming Breakpoints and Testpoints

Breakpoints may not serve the purpose fully, it may be easier to use Testpoints and incremental coding.
When we build Electronic Circuits with many Interacting Blocks or Modules, We put a small 5mm Tall Copper Pin in the PCB or a PAD without masking. This is a Test or Troubleshooting Point. This is where you can probe with a scope, dmm or logic analyzer.

Programming Breakpoints and Testpoints

In embedded program development, i tried a similar way, a Testpoint in software, but only that the card would light a led in a certain pattern or send a “all ok” and progress status to the serial port connected to PC.
In Script programming we can use a GUI element, just a Textbox as a Scope monitoring the Testpoint. When the program goes beyond the Testpoint, The GUI Text window will hold the Status. Just like you move the probes of the same DMM, you can keep shifting the Testpoints or Multiplex the same Scope, as the program becomes bigger.

So, before you build the Next big Program, Build the Test Equipment and the First Testpoint. The first few lines of code is written around the First Test point. Like it is done in PCBs, incremental Building-Testing.
Lastly Break Big Jobs to Small Pieces. Like the Plugin Modules in a Oscilloscope, The Components or Modules should be built and tested independently and then Combined to Form one Big System. Then they can be maintained and reused easily.

Dec-07 from 2003 delabs notes

Integrated Development Environment for 8051

A Pascal powered Integrated Development Environment for 8051 Microcontrollers. It has a Project manager for Assembler and Pascal projects. MC-51 is an IDE for the 8051/80C31 and others. This is from the Institute of Experimental and Applied Physics – Microcontroller course pages.

Integrated Development Environment for 8051 Microcontrollers

To communicate with a microcontroller experimentation board via the serial interface, MC-51 provides a terminal mode. The required parameters for the connection can be adjusted using the main menu. The microcontroller needs to be programmed with an appropriate monitor program (e.g. PAULMON)..

Integrated Development Environment for 8051

The simulator lets you test small programs without any external hardware. It contains all common debugging features (Run, Stop, Single step, Step over subroutine, Run to selected line). You can execute the program step-by-step or set breakpoints anywhere in the program.

The simulator displays the source code with program labels as well as the compiled hex code and the program addresses. All registers and memory locations can be inspected and changed if desired. Numbers may be displayed as hex, decimal or binary values.

Main Features

  • Text editor with syntax highlighting to create Assembler and Pascal sources
  • Interface to the Pascal compiler Turbo51 by Igor Funa
  • Interface to the assembler ASEMW by W.W. Heinz
  • Integrated simulator and debugger for all basic 8051 functions including timer and serial interface
  • Terminal window to communicate with a monitor program inside the microcontroller and to download programs into the memory of the microcontroller using the Hex Intel format
  • Module for flash programming Atmel AT89S8252/53 microcontrollers using the serial interface
  • Check program for Atmel microcontrollers with ISP

Rigel – Embedded Controllers and Reads51

Manufactures embedded controllers for the 8051, ARM7, C166/C167, and ST10 processors. They supply the hardware, software, and textbooks for embedded Ethernet, industrial control, education, and research.

Rigel – Ebedded Controllers and Software

Provides professional hardware design, OEM manufacturing services, and industrial software development for the 8051, and ARM7.

Rita-51J is a low-cost Internetworkable controller board using Rigel’s Internet Technology Architecture (RITA). The MCS-51 / CS8900A combination takes advantage of readily available hardware and software tools as well as the wealth of publicly available applications source code.

Rita-51J is a low-cost Internetworkable controller board

Reads51 – 8051 IDE C Compiler Assembler Reads51 allows writing, compiling, assembling, debugging, downloading, and running applications software in the MCS-51 language. Reads51 contains a C compiler, relative assembler, linker/locator, editor, chip simulator, assembly language debugger, and host-to-board communications in a user-friendly, menu-driven environment.

Reads51 - 8051 IDE C Compiler Assembler

Graphically, the IDE consists of the main menu, customizable toolbars, and various windows. All windows, except the editor window are dockable. Dockable windows may be attached to any side of the IDE, or left floating anywhere on the desktop

  • 8051 Hardware and Software Product Overview
  • Rita51, 8051 Embedded Controller for the Internet
  • R-A7SJ, ARM Controller

“Rigel Corporation also provides professional hardware design, OEM manufacturing services, and industrial software development for the 8051, and ARM7.”

Rigel Corporation – 4300 NW 23rd Ave, Gainesville, FL 32606

Franklin Software 8051 Development Tools

Franklin Software 8051 Development Tools

ProView32 is a fully featured and Integrated Development Environment that provides smooth seamless access to all the tools in the professional developers arsenal. From editing to debugging, ProView32 can manage all aspects of product development for any member of the 8051 family.

ProView32 For 8051, 80C251, and XA

From Hyper Embedded – Microcontroller ASIC and EDA

The project manager creates a link between the various files that comprise a project and the tools necessary to create that project. A project is dedicated to a target: 8051, 251 or XA; and each of the project’s files are associated, by their file type, to the appropriate translating tool. C and assembler files are translated by the compiler and assembler, respectively. The linker manages object and library files, and output format conversion as necessary.

Franklin Software, Inc.
1608 W. Campbell Ave., PMB 8051 Campbell, CA 95008

Proton BASIC Compiler Development Suite

Proton BASIC Compiler Development Suite and supporting Hardware development platforms. Proton Basic and the supporting hardware is for use with PIC microcontrollers.These development systems even extend to Ethernet and Wi-Fi.

Proton BASIC Compiler Development Suite

Proton IDE is a professional and powerful visual Integrated Development Environment (IDE) which has been designed specifically for the Proton Plus compiler. Proton IDE accelerates product development in a comfortable user environment without compromising performance, flexibility or control.

Proton Net – Networking for PIC microcontrollers.

Proton Net - Networking for PIC microcontrollers.

The PROTON-NET development system is an Internet/Ethernet prototyping board using the PIC® 16F877 microcontroller and Networking Firmware. The firmware was developed for the Crownhill Proton-Net board by Jeremy Bentham of Iosoft Ltd. based on the principles demonstrated in his book TCP/IP Lean: Web Servers for Embedded Systems.

Crownhill Associates Ltd.

Crownhill’s offices and R&D facilities are based 15 miles north of Cambridge City, England, just outside of the small city of Ely. Our facility is located in a rural setting, in the heart of the Fen Land…

They manufacture and sell PIC microcontroller Development tools, such as the Proton Development Board and the Proton Development Suite designed for PIC BASIC code development.

Elektronikladen – Mikrocontroller Starterkits

Elektronikladen ELMICRO offers a wide range of Evaluation Boards, Controller Modules and Software Development Tools. The company network was founded in 1975 in Detmold, Germany and operates a network of partners and sales representatives to support customers world-wide.

Elektronikladen – Mikrocontroller Starterkits

  • ZEBRA – ZigBee-enabled Board for Radio Applications
  • The ACPRD Project Page – Freescale HCS12 Reference Design
  • Oliver Thamm’s HC12 Web – Freescale 68HC12/HCS12 Resources

XScopes Xminilab and Xprotolab

The XScopes Xminilab and Xprotolab are a combination of three electronic instruments: a mixed signal oscilloscope, an arbitrary waveform generator, and a protocol sniffer; all housed in a small breadboard friendly module. The XScopes can also be used as development boards for the AVR XMEGA microcontroller.

Mixed Signal Oscilloscope: Simultaneous sampling of 2 analog and 8 digital signals. Meter Mode: VDC, VPP and Frequency readout. Arbitrary Waveform Generator with advanced sweep options on all the wave parameters. Spectrum Analyzer with different windowing options and selectable vertical log and IQ visualization.

SDCC – Small Device C Compiler

SDCC was written by Sandeep Dutta and released under a GPL license.

SDCC – Small Device C Compiler

SDCC is a retargettable, optimizing ANSI – C compiler that targets the Intel 8051, Maxim 80DS390, Zilog Z80 and the Motorola 68HC08 based MCUs. Work is in progress on supporting the Microchip PIC16 and PIC18 series. SDCC is Free Open Source Software, distributed under GNU General Public License (GPL).

  • ASXXXX and ASLINK, a Freeware, retargettable assembler and linker.
  • extensive MCU specific language extensions, allowing effective use of the underlying hardware.
  • a host of standard optimizations such as global sub expression elimination, loop optimizations (loop invariant, strength reduction of induction variables and loop reversing ), constant folding and propagation, copy propagation, dead code elimination and jump tables for ‘switch’ statements.
  • MCU specific optimizations, including a global register allocator.
  • adaptable MCU specific backend that should be well suited for other 8 bit MCUs
  • independent rule based peep hole optimizer.
  • a full range of data types: char (8 bits, 1 byte), short (16 bits, 2 bytes), int (16 bits, 2 bytes), long (32 bit, 4 bytes) and float (4 byte IEEE).
  • the ability to add inline assembler code anywhere in a function.
  • the ability to report on the complexity of a function to help decide what should be re-written in assembler.
  • a good selection of automated regression tests.

The SDCC Open Knowledge Resource

Cygnal (Silicon Labs) 8051 Port

Cygnal (Silicon Labs) 8051 Port

The Cygnal port was developed on a C8051F120-TB prototyping board (instructions are provided should you wish to use an alternative development board) fitted with a 8051F120 microcontroller. The freeware SDCC compiler was used along with the Cygnal IDE.