|
- The F1 Board Web Site maintained by Pete Dunster is http://www.cncteknix.com/users/f1/
(an old snapshot is here for reference). The web site
maintained by Pete includes links for support boards e.g. an ethernet board
using the CS8900A chip.
- A photograph of a completed 68HC11 F1 Board may
assist the personal constructor.
- If you are looking for information on wiring of the RS232 connection
of an F1 board, or need a detailed set of construction instructions, go
straight to the F1 board section.
- TMS320C3x and 68HC11 emulators are
available from the Embedded Signal Processing Lab of the Electrical and
Computer Engineering Department at the University of Texas at Austin
(project titled WETICS).
- To learn more about the GNU Compiler tools for the 68HC11 and 68HC12,
check out http://www.gnu-m68hc11.org/. To For
information on hpw I set up an OLD gnu GCC compiler for the F1 board, see
the collection of files available here.
Port A Use: Using buffalo-3.4r1.4 in your F1
board and wanting to use ALL of port A for input/output? If so, you can
disable the use that buffalo's TRACE command makes of port A line 3 (PA3)
and an associated timer by executing the following assembly language
statements:
REGBS EQU $1000 ; start of 68HC11 onboard peripheral registers
TCTL1 EQU REGBS+$20 ; timer control register 1
clr TCTL1 ; disable timers on port A (buffalo TRACE)
or the following C function (the hc11f1.h include file is supplied in the
68HC11 GNU C cross compiler system mentioned below):
#include "hc11f1.h"
void pinit()
{
TCTL1 = 0;
}
Of course, this prevents the TRACE command from working (but unless you
have jumpered the PA3 line to the XIRQ line, you aren't using the TRACE
command anyway).
- A complete F1 board looks like this (RS232
only, RS485 components omitted).
- The F1 board RS232 connector wiring (9-pin and
25-pin) used is shown using high resolution graphics in this text description;
- The F1 port IO headers have a pin out as described in
this text description;
- Pete Dunster's documentation files are
available for reading.
- Assembly instructions for
a minimalist version of Pete Dunster's 68HC11F1 board are
provided --- the essential difference in these instructions is that we
leave out the RS485 components;
- MELBOURNE supplier parts list produced by Darren Gardner and Guy
Barwood (RMIT micro-mouse project 1996) for the F1 CPU board (postscript form and text form), and the motor controller board (postscript form and text form) - some components such as RAM are now
much cheaper;
- The main software site (official, as maintained by Pete Dunster) is
URL ftp://mirriwinni.it.jcu.edu.au/pub/UoW
which is also known as ftp://mirriwinni.it.jcu.edu.au/pub/UoW.
This material may also be accessed via WWW at URL /~f1
(f1 home page).
- Note: Software developers using the ICC11 (Image
Craft 68HC11 C compiler) with Pete Dunster's libf1 run-time library should
setup their board with his buffalo 3.2 as his run-time code assumes
particular memory allocation. Alternatively, if you wish to use my F1
board version of buffalo 3.4, you need to adjust a couple of ORG statements
in the run-time code sources to reflect the fact that this buffalo 3.4 has
all of its storage allocated to internal RAM (this actually gives you more
contiguous RAM).
- BUFFALO 3.4 release 1.4 is
available for the 68HC11F1 board. This is RMIT/CSE version 1.4a which is
1.4 with some source code improvements that do not change the executable so
it still reports itself as 1.4 when run.
- An experimental BUFFALO 3.4
release 1.5 is available for the new simmstick 68HC11F1 board. A
version for the Pete Dunster 68HC11F1 board is available here. In this latest release, a CHIPINIT bug
in version 1.4 has been fixed, and now the source code provides
assemble-time options for the choice of internal-68HC11F1 or external
hardware chip selects for EPROM and RAM. The external chip select option,
used on the new simmstick board, provides access to the full 8 bits of port
G. Further tidying up of the source code (following some feedback) has
resulted in BUFFALO 3.4 release 1.6 which
supports 68HC11F1 systems with internal chip selects (as per the F1 board)
and external chip selects (as per the new CSE 68HC11 board).
- Bootstrap mode allows a 68HC11 to download a program after a reset,
without relying on a buffalo monitor program on-board (i.e. handy for
ROMless chips). In the F1 reconfig
article, there is a set of instructions for bootstrapping the
reconfig program to rewrite the system's important
configuration registers in the event that some (unwanted) event
reconfigures your 68HC11F1 to something with totally different external
address/data/IO settings (a 68HC11F1 which is reconfigured to have all pins
doing IO will not be able to execute buffalo stored in the external EPROM
of the UoW F1 board). You can use this an an example of 68HC11 bootstrap
use.
- Programmers can use this file of BUFFALO 3.4 vectors and
subroutine descriptions to assist in software development (note that
you should set label VBASE to $03C4, as described, for this version of
BUFFALO). There is a file of 68HC11F1 symbols
available.
- An old version of BUFFALO 3.4 for the 68HC11F1 board, RMIT/CSE version
1.2, is available at /~phillip/f1/buffalo-3.4r1.2/index.html.
- A set of BUFFALO 3.2 files as used on the early 68HC11 A8 and E9 chips is available for
reference (these chips are no longer available).
- A local reference manual on 68HC11 Assembly Language programming:
latest version is at /~phillip/intro2up. Previous version: gzip-compressed
postscript file format or ZIP
archive form. This document does not contain my lecture material on
the instruction set but it does a fairly good job covering software tools
and assembler directives, and contains reference material such as tables of
the instruction set, vectors, subroutine entry points, etc.
- Macro Processing allows you to program at a higher
level than plain assembly lanhuage level. Sample code for assembly
language development using m4 macro
processing is available --- the simple example provided shows
conditional assembly. My DS472 lectures also
discuss macro programming with examples for statements such as a
write() for the 68HC11 (starting at slide 143), and
assignment 2 focussing on how to implement loop structures.
- The most recent version (asm-2.09) of Motorola 8bit uP cross
assemblers compiled for DOS systems using the DJGPP port of GNU C/C++ for
DOS. To use these tools, you need at least an 80386 CPU (and some kind of
DOS). The cross assemblers are available from ftp://mirriwinni.it.jcu.edu.au/pub/uP/8-bit-chips/Motorola-8bit-asm/asm-v2.09-dos-bin.zip
(full assembler source code is available in the same directory). The
AS11.EXE executable (and others) in this archive can be run so long as you
have a DPMI server (just in case you don't, CWSDPMI.EXE is also included).
The README files for DJGPP and CWSDPMI are included, to ensure you know you
have the right to the source code (as well as the binary) distributions.
Version 2.09 of these cross assemblers can display cycle counts and better
symbol cross references in comparison to the earlier version available
directly below, and it is what is used for work on buffalo 3.4 (a >5,000
line program).
- Set of DOS based assembly language tools for the 68HC11.
- Public domain (old but good) version of procomm
which provides serial communication between your PC and the target 68HC11
system.
- DOS versions of make and
m4 and micro-emacs
(there can be a kind of life, with DOS).
- Link to phillip's microprocessor development tools page (source code).