Byte Craft Limited
Byte Craft Limited specializes in embedded system software development tools for single-chip microcontrollers. We provide innovative solutions for developers, consultants, and manufacturers around the world. Our main products are C cross-compilers targeted to a variety of microcontroller families.


printf for embedded

| | | | | |

There's only so much debugging information an LED or LCD display can report. What's worse, embedding debugging code in the executable can provoke misuse, while stripping it out can cause heisenbugs.

Your C compiler can help manage debugging information for you in a way that doesn't interfere with your product. Here's how:

The stack controversy


picture of stacking plates
Just when you think an old misconception is dead...

The "stack/no stack" discussion has arisen again. We've heard renewed
claims that C programs require a hardware stack, and that a software
stack is unacceptably slow. Both ideas are patently false.

30th Anniversary: Pictures

Byte Craft Limited has been involved in many projects you've heard of, and many you haven't. We've posted some pictures from the "Historical Products Department".

Alternative opcodes


A support question brought up an interesting optimization topic: alternative opcodes.

We've all heard stories of using undocumented or unofficial opcodes to squeeze out a few cycles' extra performance. It's much easier, not to mention safer, to work within the published instruction set but to approach it in novel ways.

Here's an example:

A perfectly useful do-nothing statement

C macros are very useful, but a little taxing for both compiler writers and programmers.


Our view on RS08


I just read Jack's editorial on on the RS08 processor. This is a fun little processor.

We did some work on the instruction set design on this processor, and wrote a C compiler for the RS08. This is a remarkable little processor that, in the end, outperformed many people's expectations (including mine).


Jack Ganssle on RS08


Jack Ganssle's latest column in reminds us that there is still life in 8-bit architectures.

He mentions the Freescale RS08, which is supported by our C6808 Code Development System.

UPDATE: Jack cites an article on Circuit Cellar by Tom Cantrell, who also talks about RS08.


Header File Customizations


We've started to get some requests for header file support for ICD3, Microchip's new In-Circuit Debugger. There are some differences between ICD3 and previous generations of ICD. These differences are reflected in the device header files Byte Craft Limited issues for MPC.

If you're using MPC with MPLAB and ICD3, please contact Byte Craft Limited for more information about obtaining updated header files.


IEC 61131 and Fuzz-C

| |

We've just posted a new paper that compares IEC 61131 fuzzy logic constructs and Fuzz-C additions to C for embedded systems. If you're moving from programmable logic controllers to C for embedded systems, this paper shows the similarities and differences between the two.

Read the paper here.


PIC16 Enhanced support in MPC


PIC16 Enhanced graphic

Byte Craft Limited will support Enhanced PIC16 with our MPC Code Development System. A PIC16-specific code generator will ship with MPC at the same time as silicon general availability.