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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [CORTEX_LM3S811_KEIL/] [readme.txt] - Blame information for rev 581

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 581 jeremybenn
/*
2
 * This project contains an application demonstrating the use of the
3
 * FreeRTOS.org mini real time scheduler on the Luminary Micro LM3S811 Eval
4
 * board.  See http://www.FreeRTOS.org for more information.
5
 *
6
 * main() simply sets up the hardware, creates all the demo application tasks,
7
 * then starts the scheduler.  http://www.freertos.org/a00102.html provides
8
 * more information on the standard demo tasks.
9
 *
10
 * In addition to a subset of the standard demo application tasks, main.c also
11
 * defines the following tasks:
12
 *
13
 * + A 'Print' task.  The print task is the only task permitted to access the
14
 * LCD - thus ensuring mutual exclusion and consistent access to the resource.
15
 * Other tasks do not access the LCD directly, but instead send the text they
16
 * wish to display to the print task.  The print task spends most of its time
17
 * blocked - only waking when a message is queued for display.
18
 *
19
 * + A 'Button handler' task.  The eval board contains a user push button that
20
 * is configured to generate interrupts.  The interrupt handler uses a
21
 * semaphore to wake the button handler task - demonstrating how the priority
22
 * mechanism can be used to defer interrupt processing to the task level.  The
23
 * button handler task sends a message both to the LCD (via the print task) and
24
 * the UART where it can be viewed using a dumb terminal (via the UART to USB
25
 * converter on the eval board).  NOTES:  The dumb terminal must be closed in
26
 * order to reflash the microcontroller.  A very basic interrupt driven UART
27
 * driver is used that does not use the FIFO.  19200 baud is used.
28
 *
29
 * + A 'check' task.  The check task only executes every five seconds but has a
30
 * high priority so is guaranteed to get processor time.  Its function is to
31
 * check that all the other tasks are still operational and that no errors have
32
 * been detected at any time.  If no errors have every been detected 'PASS' is
33
 * written to the display (via the print task) - if an error has ever been
34
 * detected the message is changed to 'FAIL'.  The position of the message is
35
 * changed for each write.
36
 */

powered by: WebSVN 2.1.0

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