|
1. Check the hardware:
Firebird32 board:
To reduce assembling labor cost, multiple headers are
replaced by a single header ( less insertions= lower labor
cost ). We will pull out all unused pins between
headers before shipping.
One pin between headers D11 and D10
One pin between headers D10 and D6
Two pins between headers J4 and J5
Two pins between headers J5 and J6
Pin 7-Pin10 on header J1 (the LCD header)
In case we did
not pull all pins out, you need to do it by yourself.
At first, you push those pins down a little bit from the
component side of PCB, then pull them out from the solder
side of PCB with a pair of pliers.
Carefully
examine the default jumper settings before turning on the
board:
 |
|
 |
|
Figure 1 |
|
Figure 2 |
|
Each of 3-pin
headers labeled with D11, D10 and D6 has a
jumper on the left side, so it makes the D11 as MOSI signal, the D10 as /SS signal, the D6 as
one input of the analog comparator. The
jumpers come in black, the color is used for
illustration only.
|
|
The 2x3 header for A4 and A5 has 2 jumpers
placed on
the left 4 pins as shown on the above picture, so the pin A4 and the pin A5 of the analog
port are two analog inputs. When the jumpers are
placed on the right 4 pins, the pin A4 and the pin A5 of the
analog port become the SDA and SCL of I2C.
|
Make a
ground test point:
 |
|
 |
|
Figure 3 |
|
Figure 4 |
|
To save cost, we use a 2-pin male header as a GND test
point. You need to cut the right side pin, then bend
the left side pin to make a loop for a ground test point. |
|
After the left pin is bent, this is what a
ground test point should look like. It's handy
for the ground connection of a scope. |
To
prevent component leads from scratching your table surface:
We will try our best to include a large rubber feet with every
Firebird32 board ( your chance of getting it will be >99.99% ). If in case we miss it,
we are not
responsible for re-sending it. You can buy a similar one at any
hardware or department store.
 |
|
 |
|
Figure 5 |
|
Figure 6 |
You need to cut the rubber feet into 4 small pieces and stick them
at four
corners on the solder side of the board. This will prevent any
component lead from
scratching your table surface. |
|
WARNING:
For the
safety reason, use a pair of pliers to hold the
rubber feet and keep your hand away from the
cutter or scissors. |
If you do
not plan to use a breadboard then skip the following 3
pictures.
We will try our best to include a large rubber feet with every
solderless breadboard ( your chance of getting it will be >99.99% ). If in case we miss it, we are not
responsible for re-sending it. You can buy a similar one at any
hardware or department store.
|
 |
|
 |
|
 |
|
Figure 7 |
|
Figure 8 |
|
Figure 9 |
|
You need to cut the rubber feet into 4 small pieces and fold
the 4 corners of the backing paper as shown on
the above picture. For the best result, you may
cut all corners off, or use a piece of scotch
tape to hold down each corner. |
|
Align up the 4 small
pieces of rubber feet with the 4 right angle
symbols on the PC board, then firmly press each
piece. Make sure that all rubber feet are not placed over any
component. |
|
Flip the breadboard
over and align the 4 corners with the rubber
feet and firmly press it down.
The breadboard
should sit over the chip securely. |
Firebird32-Nano 40-pin DIP module:
The BDM header
is installed at the factory but the speaker and male headers on the Firebird32-Nano are not
included and they are sold as options. You can solder in the
speaker and whatever male headers are needed in your
applications. For OEM and university orders we will offer the
module with all components installed as an option. Please contact us for
details.
The best way to solder the two 20x1 male headers is to use a
solderless breadboard as a holder. At first, place two
20x1 headers at 0.7" apart, then place the Nano module over
the headers and solder one pin at a time. The
breadboard will keep headers straight all the time during
soldering.
The Firebird32-Nano is a 40-pin DIP module and its pinouts
are not compatible to the Arduino-Nano because we like to
make our Nano module with more futures. If there is a demand
for a 30-pin Arduino-Nano pin compatible DIP module in the
future we will make it available.
Firebird32-Mini 28-pin DIP module:
The male headers on the
Firebird32-Mini are not installed except the BDM header. You
can solder in whatever male headers are needed in your
applications. For OEM and university orders we will offer
the module with all male headers installed as an option.
Please contact us for details.
The best way to solder the two 14x1 male headers is to use a
solderless breadboard as a holder. At first, place two
14x1 headers at 0.6" apart, then place the Mini module over
the headers and solder one pin at a time. The
breadboard will keep headers straight all the time during
soldering.
The Firebird32-Mini is a 28-pin DIP module and its pinouts
of upper 24 pins
are compatible to the Arduino-Mini or BASIC-Stamp.
2.
Run the demo program:
Firebird32 board:
The
Firebird32 is preloaded with a demo program at factory
written by Jim Donelson or Rich Testardi. The board can be powered by a BDM or a USB
port or an AC adapter. When it's powered by a BDM, no
USB cable or AC adapter should be plugged in. When it's
powered by a USB port or an AC adapter, Its auto sensing
and switching circuit will automatically select power
from the two sources. There is no need to manually
select the source of the power.
When it's
powered the power LED ( the green LED labeled with "ON")
should be lit.
If your
Firebird32 is not installed with StickOS BASIC, The demo program will run after power up
or whenever the reset button is pressed. It it does
not, check the power LED first. If it's off, the BDM
cable may be plugged upside down or the USB cable may
not be plugged in or the AC adapter's DC output has a
wrong voltage polarity. If the power
LED is on, but the demo program does not run, then the
demo program is probably erased or not installed.
If your
Firebird32 is installed with StickOS BASIC, the demo
program is installed in flash memory, but AUTORUN
feature is set to "OFF", so the demo program will not
run automatically. You need to following
instructions in the section #3, "Write your first
program", to set up communication between StickOS and
TeraTerm, then manually RUN the demo program.
Firebird32-Nano 40-pin DIP module:
The
Firebird32-Nano is preloaded with a demo program written
by Jim Donelson or Rich Testardi. The board can be powered by a BDM or
a USB port or 9V DC at the pins labeled with "VIN" and
GND. When it's powered by a BDM, no USB cable or 9V DC
should be connected to the module. When it's powered by a
USB port or 9VDC, its auto sensing and switching circuit
will automatically select power from a USB port or VIN.
There is no need to manually select the source of the
power.
When it's
powered the power LED ( the green LED labeled with "ON")
should be lit.
If your
Firebird32-Nano is not installed with StickOS BASIC, The demo program will run after power up
or whenever the reset button is pressed. It it does
not, check the power LED first. If it's off, the BDM
cable may be plugged upside down or the USB cable may
not be plugged in or the or the VIN and GND are swapped. If the power
LED is on, but the demo program does not run, then the
demo program is probably erased or not installed.
If your
Firebird32-Nano is installed with StickOS BASIC, the
demo program is installed in flash memory, but AUTORUN
feature is set to "OFF", so the demo program will not
run automatically. You need to following
instructions in the section #3, "Write your first
program", to set up communication between StickOS and
TeraTerm, then manually RUN the demo program.
Firebird32-Mini 28-pin DIP module:
The
Firebird32-Mini is preloaded with a demo program written
by Jim Donelson or Rich Tetsardi. Since it does not have much features,
the demo program only flashes the D13 LED. Since it
dose not have USB jack, the module can be powered by a
BDM or a UTB module or 9V DC at the pins labeled with "VIN"
and GND.
When it's
powered the power LED ( the green LED labeled with "ON")
will be lit.
If your
Firebird32-Mini is not installed with StickOS BASIC, The demo program will run after power up
or whenever the reset button is pressed. It it does
not, check the power LED first. If it's off, the
BDM cable or the UTB cable may be plugged upside down or the
VIN and GND are swapped. If the power
LED is on, but the D13 LED does not flash, then the
demo program is probably erased or not installed.
If your
Firebird32-Mini is installed with StickOS BASIC, the
demo program is installed in flash memory, but AUTORUN
feature is set to "OFF", so the demo program will not
run automatically after power up. You need to
following instructions in the section #3, "Write your
first program", to set up communication between StickOS
and TeraTerm, then manually RUN the demo program.
3.
Write your first program:
Developing a StickOS BASIC program ( For the Firebird32
installed with StickOS BASIC only ):
For beginners, the StickOS BASIC language is easy to use. It's
easier than any IDE. The
Firebird32-Mini 28-pin DIP module pre-installed with the StickOS
BASIC is like a modern BASIC Stamp.
The StickOS is authored by Rich Tastardi who won the 2nd
place of Freescale's "Can your badge do this" competition in
2008 and is considered as one of CodeWarrior experts.
Once hardware is ready, you can follow the steps below:
Download and
read the StickOS User's Guide from
www.cpustick.com.
1. Go to
http://www.cpustick.com/firebird32.htm and
following the instructions to install the USB driver cpustick.inf
and Tera Term.
2. There is no need to install an
IDE, just connect the board to a USB port on your PC.
3. The
power on LED is lit and the LED13 (heartbeat LED) should
keep flashing at 1Hz rate,
4. Press the Enter
key on your PC keyboard. If the StickOS
is installed it will display a sign-on message on
screen as the following:
>Welcome to
StickOS for Freescale MCF51JM128 Firebird32 v1.84c!
Copyright (c) 2008-2010; all rights reserved.
http://www.cpustick.com
support@cpustick.com
(checksum 0x1c5)
>
At this moment,
you can enter RUN, then Enter key on your PC keyboard, the
demo program will run automatically. To stop it, you need to
press CTRL C.
5. Since the Heartbeat LED is controlled by the output
pin PTE6,
you can enable it by entering the command "pins
heartbeat pte6" without quotes,
or disable it by entering the command "pins heartbeat none"
without quotes ( the command must be in all lower case ).
6. Let us
disable it by entering the command pins heartbeat
none, so the LED13 can be controlled by the following
program.
7. Let us
write a simple StickOS BASIC program to turns the D13 LED on for one
second, then off for one second, repeatedly.
| |
10 dim LED13 as pin pte6 for digital output
20 while 1 do
30 let LED13 = 1
40 sleep 1000 ms
50 let LED13 = 0
60 sleep 1000 ms
70 endwhile
|
|
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
} |
|
It's very nice,
Isn't it? After comparing it to the Arduino sketch with the
same function at the right side, do you think it is easier for a young child
to understand? At least you don't need to explain what
the words void and digitalWrite mean to a child.
8, Then enter the RUN command, the D13 LED should
flash with one second on and one second off, repeatedly
Using
CodeWarrior for developing C and Assembly programs:
For the advanced users and EE/ECE students, the C and assembly language are most
popular. The Firebird32 board with CodeWarrior is a perfect
low cost embedded toolset for educational purposes.
To develop and debug C and assembly programs you need a BDM.
The BDM stands for Background Debug Module. It's the same
type of debugger hardware called ICD or ICE by other chip
makers.
If you don't have a BDM, the P & E Microsystem's
USB-ML-UNIVERSAL BDM
at $119
is the best BDM that you can buy. You should buy it if you
can afford it, otherwise you can buy our USBDM for $19.
If you buy the USBDM, you need to read
instructions for
Installing drivers for the USBDM.
Let us write a
simple C program to turns the D13 LED on for half
second, then off for half second, repeatedly.
/*
FireBird32 Tutorial Series
Blink the LED
main.c
Created By Nick Schulze
8th July 2011
www.HowNotToEngineer.com
*/
#include "Firebird.h"
| |
void
main(void) {
Firebird_init();
SET_OUTPUT(D13);
for(;;){
DIGITAL_HIGH(D13);
DelayMillis(500);
DIGITAL_LOW(D13);
DelayMillis(500);
}
} |
|
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
} |
|
Comparing it to
the Arduino sketch with the same function at the right side,
they are almost identical, Ain't they?
The demo program
is written and copyrighted by Nick Schulze.
Using
CodeSourcery for developing C++ programs:
Joel Guittet, a
CodeWarrior expert, has developed a great tutorial to help
you to install and create projects with CodeSourcery for C++
programming without code size limitation.
Source code of a
simple C++ "Hello world" application is available on the
following web site:
http://myfreescalewebpage.free.fr/advanced/codesourcery.htm
Firebird32 has
been used in his CodeSourcery tutorial to create the C++
"Hello world" application.
http://myfreescalewebpage.free.fr/advanced/firebird32.htm
|