1 ##############################################################################
3 # (c) Copyright 2011 Xilinx, Inc. All rights reserved.
5 # This file contains confidential and proprietary information of Xilinx, Inc.
6 # and is protected under U.S. and international copyright and other
7 # intellectual property laws.
10 # This disclaimer is not a license and does not grant any rights to the
11 # materials distributed herewith. Except as otherwise provided in a valid
12 # license issued to you by Xilinx, and to the maximum extent permitted by
13 # applicable law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND WITH ALL
14 # FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, EXPRESS,
15 # IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
16 # MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;
17 # and (2) Xilinx shall not be liable (whether in contract or tort, including
18 # negligence, or under any other theory of liability) for any loss or damage
19 # of any kind or nature related to, arising under or in connection with these
20 # materials, including for any direct, or any indirect, special, incidental,
21 # or consequential loss or damage (including loss of data, profits, goodwill,
22 # or any type of loss or damage suffered as a result of any action brought by
23 # a third party) even if such damage or loss was reasonably foreseeable or
24 # Xilinx had been advised of the possibility of the same.
26 # CRITICAL APPLICATIONS
27 # Xilinx products are not designed or intended to be fail-safe, or for use in
28 # any application requiring fail-safe performance, such as life-support or
29 # safety devices or systems, Class III medical devices, nuclear facilities,
30 # applications related to the deployment of airbags, or any other applications
31 # that could lead to death, personal injury, or severe property or
32 # environmental damage (individually and collectively, "Critical
33 # Applications"). Customer assumes the sole risk and liability of any use of
34 # Xilinx products in Critical Applications, subject only to applicable laws
35 # and regulations governing limitations on product liability.
37 # THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE
40 # This file is part of Xilkernel.
42 # $Id: xilkernel_v2_1_0.mld,v 1.1.2.4 2010/12/10 07:27:08 svemula Exp $
43 ###############################################################################
45 OPTION psf_version = 2.1.0 ;
48 OPTION DRC = kernel_drc ;
49 OPTION SUPPORTED_PERIPHERALS = (microblaze);
50 OPTION COPYFILES = all;
51 OPTION DEPENDS = (standalone_v3_01_a);
52 OPTION APP_LINKER_FLAGS = "-Wl,--start-group,-lxil,-lfreertos,-lgcc,-lc,--end-group";
54 OPTION DESC = "FreeRTOS is a popular lightweight kernel."
57 PARAM name = stdin, type = peripheral_instance, requires_interface = stdin, default=none, desc = "Specify the instance name of the standard input peripheral";
58 PARAM name = stdout, type = peripheral_instance, requires_interface = stdout, default=none, desc = "Specify the instance name of the standard output peripheral";
60 # System timer specification
61 PARAM name = systmr_interval, type = int, default = 10, desc = "Specify the time interval for each kernel tick (in milliseconds). This controls the CPU budget for each process. If the timer is fit_timer, then this parameter is automatically determined";
63 # System interrupt controller specification
64 # PARAM name = sysintc_spec, type = peripheral_instance, range = (opb_intc, xps_intc, dcr_intc, axi_intc), default = none, desc = "Specify the instance name of the interrupt controller device driving system interrupts";
66 BEGIN CATEGORY kernel_behavior
67 PARAM name = kernel_behavior, type = bool, default = true, desc = "Parameters relating to the kernel behavior", permit = user;
68 PARAM name = use_preemption, type = bool, default = true, desc = "Set to true to use the preemptive scheduler, or false to use the cooperative scheduler.";
69 PARAM name = idle_yield, type = bool, default = true, desc = "Set to true if the Idle task should yield if another idle priority task is able to run, or false if the idle task should always use its entire time slice unless it is preempted.";
70 PARAM name = max_priorities, type = int, default = 4, desc = "The number of task priorities that will be available. Priorities can be assigned from zero to (max_priorities - 1)";
71 PARAM name = minimal_stack_size, type = int, default = 120, desc = "The size of the stack allocated to the Idle task. Also used by standard demo and test tasks found in the main FreeRTOS download.";
72 PARAM name = total_heap_size, type = int, default = 65536, desc = "Only used if heap_1.c or heap_2.c is included in the project. Sets the amount of RAM reserved for use by the kernel - used when tasks, queues and semaphores are created.";
73 PARAM name = max_task_name_len, type = int, default = 8, desc = "The maximum number of characters that can be in the name of a task.";
76 BEGIN CATEGORY kernel_features
77 PARAM name = kernel_features, type = bool, default = true, desc = "Include or exclude kernel features", permit = user;
78 PARAM name = use_mutexes, type = bool, default = true, desc = "Set to true to include mutex functionality, or false to exclude mutex functionality.";
79 PARAM name = use_recursive_mutexes, type = bool, default = true, desc = "Set to true to include recursive mutex functionality, or false to exclude recursive mutex functionality.";
80 PARAM name = use_counting_semaphores, type = bool, default = true, desc = "Set to true to include counting semaphore functionality, or false to exclude recursive mutex functionality.";
81 PARAM name = queue_registry_size, type = int, default = 10, desc = "The maximum number of queues that can be registered at any one time. Registered queues can be viewed in the kernel aware debugger plug-in.";
82 PARAM name = use_trace_facility, type = bool, default = true, desc = "Set to true to include the legacy trace functionality, and a few other features. traceMACROS are the preferred method of tracing now.";
85 BEGIN CATEGORY hook_functions
86 PARAM name = hook_functions, type = bool, default = true, desc = "Include or exclude application defined hook (callback) functions. Callback functions must be defined by the application that is using FreeRTOS", permit = user;
87 PARAM name = use_idle_hook, type = bool, default = false, desc = "Set to true for the kernel to call vApplicationIdleHook() on each iteration of the idle task. The application must provide an implementation of vApplicationIdleHook().";
88 PARAM name = use_tick_hook, type = bool, default = false, desc = "Set to true for the kernel to call vApplicationTickHook() during each tick interrupt. The application must provide an implementation of vApplicationTickHook().";
89 PARAM name = use_malloc_failed_hook, type = bool, default = true, desc = "Only used if heap_1.c, heap_2.c or heap_3.c is included in the project. Set to true for the kernel to call vApplicationMallocFailedHookHook() if there is insufficient FreeRTOS heap available for a task, queue or semaphore to be created. The application must provide an implementation of vApplicationMallocFailedHook().";
90 PARAM name = check_for_stack_overflow, type = int, default = 2, desc = "Set to 1 to include basic run time task stack checking. Set to 2 to include more comprehensive run time task stack checking.";
93 BEGIN CATEGORY software_timers
94 PARAM name = software_timers, type = bool, default = true, desc = "Options relating to the software timers functionality", permit = user;
95 PARAM name = use_timers, type = bool, default = true, desc = "Set to true to include software timer functionality, or false to exclude software timer functionality";
96 PARAM name = timer_task_priority, type = string, default = "(configMAX_PRIORITIES - 1)", desc = "The priority at which the software timer service/daemon task will execute.";
97 PARAM name = timer_command_queue_length, type = int, default = 10, desc = "The number of commands the timer command queue can hold at any one time.";
98 PARAM name = timer_task_stack_depth, type = string, default = "(configMINIMAL_STACK_SIZE), desc = "The size of the stack allocated to the timer service/daemon task.";