Several integer parameters are treated as booleans - sort of.
For example, queue_registry_size is an integer, but here its value is compared to "false" (0).
set val [xget_value $os_handle "PARAMETER" "queue_registry_size"]
# Was:
# if {$val == "false"} {
# xput_define $config_file "configQUEUE_REGISTRY_SIZE" "0"
# } else {
# xput_define $config_file "configQUEUE_REGISTRY_SIZE" "10"
# }
# Makes more sense:
xput_define $config_file "configQUEUE_REGISTRY_SIZE" $val
Affected parameters:
check_for_stack_overflow
queue_registry_size
timer_task_priority
timer_command_queue_length
timer_task_stack_depth
This is in freertos_v2_1_0.tcl, of course.
Thank you for taking the time to report this issue.
Although referenced on a separate documentation page, the file in question is not actually used by the FreeRTOS demo, and is I believe normally shipped with the development tools. For that reason, although this has been rejected as a FreeRTOS bug, I have made a note of it and will work with Xilinx to ensure the behaviour is improved when the FreeRTOS port is updated - which is scheduled for the first quarter of 2015.