uGNU/RTOS Homepage.
Hosted by SourceForge.net Logo

TABLE OF CONTENTS:

1. uGNU/RTOS description

2. Supported platforms.

3, Downloads:
3,1 source.
3,2 precompiled binaries

4. Installation.

5. Using uGNU/RTOS:
5.1  Real-time commands.
5.2  In-macro commands.
5.3  Starting loop.

6. Links.


1 - DESCRIPTION.


uGNU/RTOS is a real-time operating system for microcontrollers, specially targeted on the PIC16 chip series of Microchip Inc.

      Its special function is that it contains a small assembly compiler inside its code and it can be used either for free applications and 
      for commercial applications .


2 - SUPPORTED PLATFORMS.


uGNU/RTOS is supported on USART and FLASH-writing PIC devices (“PIC14” in SDCC, PIC16 in Microchip(TM) product line)

      You can get such devices in most of electronic stores on the web, you can also get a sample from Microchip Inc. website.        


3 - DOWNLOADS.


uGNU/RTOS can be downloaded from SourceForge.net at the following repositories:
3,1 - SOURCE


uGNU/RTOS SDCC sources version 0.0.4 on SourceForge.net:

gnurtos_PIC_0.0.4.tar.gz

gnurtos_PIC_0.0.4.tar.bz2

gnurtos_PIC_0.0.4.zip


3,2 - PRECOMPILED BINARIES


uGNU/RTOS binary distributions version 0.0.4 on SourceForge.net:

gnurtos_PIC-0.0.4_16f876a.zip

gnurtos_PIC-0.0.4_16f876.zip

gnurtos_PIC-0.0.4_16f877a.zip

gnurtos_PIC-0.0.4_16f877.zip

gnurtos_PIC-0.0.4_16f88.zip


4 - INSTALLATION.


uGNU/RTOS requires even software and hardware, a list of what is required follows:

      - a C compiler targeted for PICs (SDCC, I suggest).
      - an RS-232 serial terminal emulator (I use PuTTY, you can find a list of serial terminals for your PC on sourceforge.net or freshmeat.net.
      - a programmer software (picprog, ic-prog + wine, etc...).
      - a programmer hardware (JDM programmer, for example).
      - PICs, to communicate via RS-232 (serial port) with your host, require a MAX-232 chip between the PIC and the serial port.

To build uGNU/RTOS, edit the Makefile, main.c where described, go to its directory and type "make". Then a .hex
file will be generated in (uGNU/RTOS root)/out dir. Use the programmer software and hardware to load this file on the device.


5 - USING uGNU/RTOS.


To use uGNU/RTOS you must connect the device to the PC via the RS-232 cable (read carefully the datasheets of the devices used),

open the terminal and turn on the circuit, then on the terminal will appear the uGNU/RTOS prompt.

At this point you can give it these kind of commands:


5,1- REAL-TIME COMMANDS.


The first commands the user can put after boot-up are called “real-time commands”, a list with description follows:

--help

Print a minimal help on the terminal prompt.

-movlw [value (decimal)]

Store into the "w" variable the value "value",

expressed as a decimal value from 0 to 63.

-movwf [address (decimal)]

Put the value stored in "w" on the register with address "address",

expressed as decimal value from 0 to 63.

-macro
Start recording user-defined code. Once this command is given,
all commands that follow this one are defined "in-macro commands",
this means that they will be written, after a "--done" command,
in the user program memory, and they will not be executed immediately.
-erase
Erase precedently recorded user code.


5,2 - IN-MACRO COMMANDS.


Once a "-macro" command is given, following commands are called "in-macro commands". A list with description follows:

-movlw [value (decimal)]

Store into the "w" variable the value "value",

expressed as a decimal value from 0 to 63 (not executed immediately).

-movwf [address (decimal)]

Put the value stored in "w" on the register with address "address",

expressed as decimal value from 0 to 63 (not executed immediately).

-btfsc [address (decimal)] [bit (decimal)]

Test bit number "bit" (decimal value from 0 to 7),

stored in address "address" (decimal value from 0 to 63),

if it is clear (0), skip next command.

-btfss [address (decimal)] [bit (decimal)]

Test bit number "bit" (decimal value from 0 to 7),

stored in address "address" (decimal value from 0 to 63),

if it is set (1), skip next command.

--goto [instruction (decimal)]

Go to "instruction"th given in-macro command, 
instruction” is expressed as decimal value from 0 to last
in-macro command quota.

--done

End caching instructions and write your code into chip's FLASH memory.


5,3 - STARTING LOOP.


To run your code you must, outside a “macro” section, type the command “-start”.


6 - CREDITS.


Maintainer:

      Ilia platone <plato@uruzuki.net>
      via Ferrara 54
      47841
      Cattolica (RN)
      Italy