uGNU/RTOS Homepage. Hosted byTABLE 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: |
|||
|
3,2 - PRECOMPILED BINARIES |
|
|
uGNU/RTOS binary distributions version 0.0.4 on SourceForge.net: |
|||
|
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 |
|||
|
|
|
|
|