July 16, 2007: Released version 1.10 of EmbeddedGNU to fix a Vista issue.
Introduction
I'm a PC programmer with a background in electronics. I wrote some Windows programs
for use with the
Motorola 68hc11 and 68hc12 families
of embedded microcontrollers. I use a Dragon12 board
with a hcs12 (68hc12 family) processor, and an EVBPlus2 board
with a 68hc11E1 processor. Both AsmIDE and EmbeddedGNU work with these boards, and most
other boards based on the 68hc11 or 68hc12.
Linux Downloader for the Serial Monitor
Chase Douglas developed a C language downloader for linux that can program flash from an .S19 file.
This works on chips that have the serial monitor, such as the C32, C128, E128, and NE64. This open
source program is currently being maintained by Mike Morgan and you can get the latest code from
his wiki.
This has the C source code and a Makefile for use with the linux gcc compiler.
Jim Donelson's Demos for the Dragon12 and the miniDragon+
Download his projects here: Projects.zip
Dragon 12 features:
- If you connect a scope to the DAC output, you will see a sine wave on
channel A and a ramp on channel B. SW 2-5 and or DIP SW 1-4 will
multiply the frequency of the waves. For DIP sw1-4, all up is fundamental, all down
is off, 0001 is fundamental, 0010 is x2 0011 is x3 etc.. There is an 8 bit sine
table used.
- The LEDs will count. SW 2-5 and/or DIP SW 1-4 will control the count
rate. The ADC controls the brightness of just the 7 segments.
- The switches are written the single row LEDs
- The pot will act as a brightness control for the LED and the scroll
rate of the LCD.
- A song will play. If you lower DIP switch 8 is will only play once.
- The current ADC value will be displayed on the LCD.
- The 2nd line of the LCD will scroll. The pot controls the scroll rate.
- If you have the keypad connected, press keys will be displayed on the LCD
- If it is a 20x4 LCD the lower two lines will have text displayed.
MiniDragon+ Features:
- The LED will count. If you press any of the switches (1-4) it will count faster
- The pot will act as a brightness control for the LED and the scroll
rate of the LCD.
- A song will play. If you put a jumper on sw4 it will only play once.
- If you have an LCD connected, the current ADC value will be displayed.
- If you have the keypad connected, pressed keys will be displayed on the LCD. If it
is a 20x4 LCD, the lower two lines will have text displayed.
Pierre Morency's port of uIP
Pierre has released a port of the uIP TCP/IP stack to the NE64 processor board from Technological Arts.
This is a C language project for EmbeddedGNU, and it comes with Memory Profiles for the NE64.
The 9S12C32 - easy to program flash!
This new series of controllers is opening new possibilities for embedded applications:
MC9S12C32 MCU from Freescale (formerly Motorola)
This is a very nice improvement over the older versions of the 68hc12 microcontroller. The 9S12C32 is the first member of
this new 9S12Cxxx family of chips. This new family of devices makes it easy for hobbiests and students to program
flash memory over their PC's serial port without the use of a BDM! Its built-in serial monitor doesn't have an ASCII set
of commands, but it can be programmed by both AsmIDE and EmbeddedGNU. In order to do interactive debugging
on this family you have to use another program, like the free ubug12 from Technological Arts, or you
can use a BDM background debug interface.
Technological Arts has a line of boards based on the 9S12Cxxx family. They call
it their NanoCore12 family.
Wytec also has a line of boards called DragonFly that is based on the 9S12Cxxx family.
Pluto is my C32 debugger
Modes and Memory Maps
I wrote this textfile to help explain the modes of embedded development boards, and the memory map.
Click here for the intro textfile
EmbeddedGNU IDE
This is my freeware, Open Source, Integrated Development Environment (IDE)
for the GNU C cross-compilers.
You must install this gcc compiler for Windows before installing EmbeddedGNU. This
IDE only works on Windows but a future version will possibly support linux if there is
a demand for it.
EmbeddedGNU supports the C language (not C++), and it will target embedded
processors only (can not be used to create programs that run on Windows).
At this time I am only supporting the 68hc11 and 68hc12 families of
embedded processors.
GNUsetup.txt
- my instructions for how to download and install the gcc compiler. You must
have this compiler installed on your computer - it does not come with my
EmbeddedGNU distribution.
GEL-inst.txt
- my instructions for how to download and install the
GNU Embedded Library for the 68hc11/68hc12. I am not recommending this to new users,
but people who already have some backgound in GEL may find this useful.
Pictures of EmbeddedGNU IDE
Editting files in a project
Hardware profile settings
Environment options
Main help menu
Here are some of the features of EmbeddedGNU:
- Free, Open Source, GNU GPL license
- You can create a "project". A project is a group of related files that are to be
compiled together.
- You can assign compiler options to each project. You don't need
to change the compiler settings every time you change to a different project -
these settings are saved along with each project.
- You can assign a hardware profile to each project. This is used to describe
the memory layout of your board. This will be used to automatically create a
"memory.x" linker script file.
- Each project can have a hardware profile assigned to it, so you can
easily set up different projects that target different boards.
- The integrated source code editor has many features, and it does syntax
highlighting. It lets you can edit several files at the same time.
- It will create the makefile and memory.x file for you. You can manually edit
these files if you need to.
- It can execute the "make" for you, and show you the result in 2 formats.
One is a log window that shows all the output messages from the compiler. The
other shows a list of warning and error messages. You can double-click on a
warning or error, and it will bring you to that line in the source code.
- There's a built-in terminal window to let you interact with
your board through your PC's serial port.
- It can download your .s19 file directly to the board using the serial port.
- Support for the GNU Embedded Library.
- Works with most monitors, including Buffalo for 68hc11 and d-bug12 for 68hc12
- Supports the proprietary 68hc11 debugger and 68hc711 programmer from
Wytec.
- Performs a dump of the .s19 file to give a memory map and disassembly
- Application Helpfile makes it easier to learn how to use the IDE
EmbeddedGNU Downloads
Click here for a summary of changes in the latest version of EmbeddedGNU
Executable Distribution
egnu110.zip
- Version 1.10. Executable Distribution - dated July 16, 2007.
Source Code Distribution
egnu-src.zip - Delphi 5 Source code (you also need the free components on the Help, About screen)
EmbeddedGNU Source Code License
EmbeddedGNU is convered under the GNU General Public License.
You may not use any part of this source code in a commerical application unless
you publish the source code for your entire application, and you must provide any
changes or enhancements to me for possible inclusion in this project. However,
you are allowed to use compiled projects in commercial applications, because the
Lesser GPL applies in this case.
Visit my other web pages:
Virtual Machine to run Java programs on small embedded devices
AsmIDE Home Page - for Assembler language development
My original Geocities site
My Contact Info
Tell me if you're using my programs! And please report bugs.
|
Eric Engler email:
|
|
Please consider making a PayPal donation to help me continue development of these
embedded projects! Click on the PayPal button below to make a donation.