OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ucos-ii/] [2.91/] [README] - Blame information for rev 549

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 471 julius
                        OpenRISC 1000 uc/OS-II port
2
                        ===========================
3
 
4
Port of Micrium's uC/OS-II "real-time" kernel, version 2.91.
5
 
6
Current status of the port is that it can run several tasks and make use of
7
timer and UART output.
8
 
9
Project is configured so that adding own set of tasks to run is simple.
10
 
11
Setting up the project
12
======================
13
 
14
First, to set up the project to build, the uC/OS-II kernel source must be
15
downloaded from the Micrium site (registration required):
16
 
17
http://micrium.com/page/downloads/os-ii_evaluation_download
18
 
19
Once downloaded, extract the contents and copy all C source from the
20
Micrium/Software/uCOS-II/Source/ path to the ucos/ path in this project. Eg:
21
 
22
     cp ~/Downloads/Micrium/Software/uCOS-II/Source/*.c ~/path/to/this/ucos
23
 
24
Tasks
25
=====
26
 
27
uC/OS-II is a task-oriented kernel, and this project has been set up to allow
28
easy creation of a simple set of tasks to run on the kernel port.
29
 
30
Each file in tasks/ contains a set of tasks to be run on the kernel. Each time
31
the entire project code is compiled into a new executable to run on the
32
simulator or the board, one of these files is chosen (via the TASKS environment
33
variable at compile time) as the set of tasks to run.
34
 
35
Building and running an example
36
===============================
37
 
38
1. Build the port (with example set of tasks) with:
39
 
40
     make distclean all TASKS=1
41
 
42
2. Run the example application with:
43
 
44
     or32-elf-sim -f sim.cfg ucos-tasks1.or32
45
 
46
The simulator should then open a new terminal window. Press enter and a simple
47
application showing multi-tasking and console output. Press 'q' and then enter
48
and wait for the simulation to exit gracefully.
49
 
50
Adding own tasks
51
================
52
 
53
1. Add new file to tasks/ directory, named tasksX.c, where X is an alphanumeric
54
   string or just a number.
55
   Note: When compiling X will be passed via the TASKS environment variable to
56
   indicate that this tasks file, tasksX.c, is the source to be compiled and
57
   included in the application. At least one example, tasks1.c is included
58
   in this project, and is compiled with "make all TASKS=1".
59
 
60
2. Make sure the file contains at least the function TaskStartCreateTasks(void)
61
   which will be called from the main task launcher, TaskStart() in
62
   common/main.c and is the main entry point for all custom tasks.
63
   See the file tasks/tasks1.c for an example of the contents of this function.
64
 
65
3. Once the tasksX.c is finished, compile with the following in the main
66
   folder:
67
 
68
        make all TASKS=X
69
 
70
4. Run the resulting executable in or1ksim:
71
 
72
       or32-elf-sim -f sim.cfg ucos-tasksX.or32
73
 
74
Authors:
75
        Tim Oliver, timtimoliver@yahoo.co.uk
76
        http://www3.ntu.edu.sg/home5/p014082819/index.html
77
 
78
        Julius Baxter, julius@opencores.org

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.