Freeware by
Eric Engler

 

Updated: July 16, 2007

 
     

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:
  1. 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.
  2. 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.
  3. The switches are written the single row LEDs
  4. The pot will act as a brightness control for the LED and the scroll rate of the LCD.
  5. A song will play. If you lower DIP switch 8 is will only play once.
  6. The current ADC value will be displayed on the LCD.
  7. The 2nd line of the LCD will scroll. The pot controls the scroll rate.
  8. If you have the keypad connected, press keys will be displayed on the LCD
  9. If it is a 20x4 LCD the lower two lines will have text displayed.
MiniDragon+ Features:
  1. The LED will count. If you press any of the switches (1-4) it will count faster
  2. The pot will act as a brightness control for the LED and the scroll rate of the LCD.
  3. A song will play. If you put a jumper on sw4 it will only play once.
  4. If you have an LCD connected, the current ADC value will be displayed.
  5. 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: Eric Engler Email Address

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.