Changes between Version 4 and Version 5 of xilkernel_ref


Ignore:
Timestamp:
Mar 13, 2007, 11:40:42 PM (17 years ago)
Author:
snovich
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • xilkernel_ref

    v4 v5  
    22
    33Xilkernel is a light-weight real time operating system (RTOS). For the PowerPC 405 architecture (which WARP uses), it has a memory footprint ranging from only 16 to 32 kilobytes depending on features implemented. Xilkernel can be set as the operating system for your WARP project in "'''software platform settings'''" under the "'''software'''" drop-down in Xilinx Platform Studio. An introduction to xilkernel use on WARP may be found [wiki:ppc_prog_overview here]. The xilkernel API is located in "'''$EDK\doc\oslib_rm.pdf'''." The following are the currently available reference designs for xilkernel (and are built for WARP vers. 1.1):[[BR]]
    4  * [http://warp.rice.edu/trac/browser/RefDesigns/WARP_v_1_1/Xilkernel_pthreads_PRIO_ex_for_WARP_v_1_1_XPS8.zip Priority Scheduled pThreads]: This demo serves a basic introduction for generating and running threads (processes) in a priority scheduling format. In priority scheduling, threads are given priority levels -- a lower priority threads always yields to a higher priority thread until it has finished its task.
    5  * [http://warp.rice.edu/trac/browser/RefDesigns/WARP_v_1_1/Xilkernel_pthreads_RR_ex_for_WARP_v_1_1_XPS8.zip Round Robin Scheduled pThreads]: This demo also serves as a reference to generating and running threads. In Round Robin style scheduling, the threads are processed in small chunks at a time in a queue. The human real-time effect of this, is that the threads are running in parallel. This is also how threads of the same priority level in Priority scheduling mode act. This design also features use of the "kill" function.
    6  * [http://warp.rice.edu/trac/browser/RefDesigns/WARP_v_1_1/Xilkernel_mutex_ex_for_WARP_v_1_1_XPS8.zip Mutex-based Resource Sharing]: This design demonstrates the use of a mutex to get a lock on a resource that both threads are trying to utilize simultaneously.
    7  * [http://warp.rice.edu/trac/browser/RefDesigns/WARP_v_1_1/Xilkernel_semaphores_ex_for_WARP_v_1_1_XPS8.zip Semaphore Thread Control]: Semaphores can also be used for resource sharing, but this reference design demontrates using semaphores for controlling thread interaction. The effect of this is a simple demo that uses simple order-of-operations to produce a numeric output.
    8  * [http://warp.rice.edu/trac/browser/RefDesigns/WARP_v_1_1/Xilkernel_shmem_ex_for_WARP_v_1_1_XPS8.zip Shared Memory Example]: A design showing how shared memory (though still under development) is used.
    9  * [http://warp.rice.edu/trac/browser/RefDesigns/WARP_v_1_1/Xilkernel_dynmem_ex_for_WARP_v_1_1_XPS8.zip Dynamic Memory Allocation Example]: This is a simple demo that takes the user through setting up a buffer, writes a faux packet to it, reads the packet from it, and then destroys it.
    10  * [http://warp.rice.edu/trac/browser/RefDesigns/WARP_v_1_1/Xilkernel_msg_queue_ex_for_WARP_v_1_1_XPS8.zip Message Queue Design]: This reference design shows how data in packet-structure can be easily passed from thread to thread by using the simple message queue API function calls.
    11  * [http://warp.rice.edu/trac/browser/RefDesigns/WARP_v_1_1/Xilkernel_timer_interrupt_ex_for_WARP_v_1_1_XPS8.zip Timer Interrupt Example]: This example walks the user through creating a countdown-based timer-interrupt in xilkernel. When the timer hits zero, it causes an interrupt and resets the countdown.
    12  * [http://warp.rice.edu/trac/browser/RefDesigns/WARP_v_1_1/Xilkernel_Xilinx_Demo_for_WARP_v_1_1_XPS_8.zip Xilinx's Xilkernel Demo Ported for WARP v. 1.1]: This is a reference design provided by Xilinx that has been ported to the WARP version 1.1. It showcases much of the same functionality as the other xilkernel demos here, but in more gorey detail and with a lot less commented code. It is worth checking out after looking into the basic xilkernel reference designs.
    13  * [http://warp.rice.edu/trac/browser/RefDesigns/WARP_v_1_1/Xilkernel_ALL_Demos_for_WARP_v_1_1_XPS8.zip ALL of the Xilkernel Demos for WARP]: If you're just too impatient to get through the demos one-by-one, this package contains all of the xilkernel demos.
     4 * [http://warp.rice.edu/trac/attachment/wiki/xilkernel_ref/files/Xilkernel_pthreads_PRIO_ex_for_WARP_v_1_1_XPS8.zip?format=raw Priority Scheduled pThreads]: This demo serves a basic introduction for generating and running threads (processes) in a priority scheduling format. In priority scheduling, threads are given priority levels -- a lower priority threads always yields to a higher priority thread until it has finished its task.
     5 * [http://warp.rice.edu/trac/attachment/wiki/xilkernel_ref/files/Xilkernel_pthreads_RR_ex_for_WARP_v_1_1_XPS8.zip?format=raw Round Robin Scheduled pThreads]: This demo also serves as a reference to generating and running threads. In Round Robin style scheduling, the threads are processed in small chunks at a time in a queue. The human real-time effect of this, is that the threads are running in parallel. This is also how threads of the same priority level in Priority scheduling mode act. This design also features use of the "kill" function.
     6 * [http://warp.rice.edu/trac/attachment/wiki/xilkernel_ref/files/Xilkernel_mutex_ex_for_WARP_v_1_1_XPS8.zip?format=raw Mutex-based Resource Sharing]: This design demonstrates the use of a mutex to get a lock on a resource that both threads are trying to utilize simultaneously.
     7 * [http://warp.rice.edu/trac/attachment/wiki/xilkernel_ref/files/Xilkernel_semaphores_ex_for_WARP_v_1_1_XPS8.zip?format=raw Semaphore Thread Control]: Semaphores can also be used for resource sharing, but this reference design demontrates using semaphores for controlling thread interaction. The effect of this is a simple demo that uses simple order-of-operations to produce a numeric output.
     8 * [http://warp.rice.edu/trac/attachment/wiki/xilkernel_ref/files/Xilkernel_shmem_ex_for_WARP_v_1_1_XPS8.zip?format=raw Shared Memory Example]: A design showing how shared memory (though still under development) is used.
     9 * [http://warp.rice.edu/trac/attachment/wiki/xilkernel_ref/files/Xilkernel_dynmem_ex_for_WARP_v_1_1_XPS8.zip?format=raw Dynamic Memory Allocation Example]: This is a simple demo that takes the user through setting up a buffer, writes a faux packet to it, reads the packet from it, and then destroys it.
     10 * [http://warp.rice.edu/trac/attachment/wiki/xilkernel_ref/files/Xilkernel_msg_queue_ex_for_WARP_v_1_1_XPS8.zip?format=raw Message Queue Design]: This reference design shows how data in packet-structure can be easily passed from thread to thread by using the simple message queue API function calls.
     11 * [http://warp.rice.edu/trac/attachment/wiki/xilkernel_ref/files/Xilkernel_timer_interrupt_ex_for_WARP_v_1_1_XPS8.zip?format=raw Timer Interrupt Example]: This example walks the user through creating a countdown-based timer-interrupt in xilkernel. When the timer hits zero, it causes an interrupt and resets the countdown.
     12 * [http://warp.rice.edu/trac/attachment/wiki/xilkernel_ref/files/Xilkernel_Xilinx_Demo_for_WARP_v_1_1_XPS_8.zip?format=raw Xilinx's Xilkernel Demo Ported for WARP v. 1.1]: This is a reference design provided by Xilinx that has been ported to the WARP version 1.1. It showcases much of the same functionality as the other xilkernel demos here, but in more gorey detail and with a lot less commented code. It is worth checking out after looking into the basic xilkernel reference designs.
     13 * [http://warp.rice.edu/trac/attachment/wiki/xilkernel_ref/files/Xilkernel_ALL_Demos_for_WARP_v_1_1_XPS8.zip?format=raw ALL of the Xilkernel Demos for WARP]: If you're just too impatient to get through the demos one-by-one, this package contains all of the xilkernel demos.
    1414
    1515Required Hardware: