1# Copyright (c) 2021 Percepio AB 2# SPDX-License-Identifier: Apache-2.0 3 4config PERCEPIO_RTOS 5 bool 6 default y 7 select PERCEPIO_TRC_CFG_RECORDER_RTOS_FREERTOS 8 9menu "Recorder Common" 10# FreeRTOS supports classic snapshot and streaming 11choice PERCEPIO_TRC_CFG_RECORDER_MODE 12 prompt "Tracing Mode" 13 default PERCEPIO_TRC_RECORDER_MODE_STREAMING 14 help 15 Trace recorder operates in snapshot or streaming mode. 16 17config PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT 18 bool "Snapshot recorder mode" 19 20config PERCEPIO_TRC_RECORDER_MODE_STREAMING 21 bool "Streaming recorder mode" 22endchoice 23 24rsource "../../../config/Kconfig" 25endmenu # "Recorder Common" 26 27menu "Recorder FreeRTOS" 28choice PERCEPIO_TRC_CFG_FREERTOS_VERSION 29 prompt "FreeRTOS Version" 30 default PERCEPIO_TRC_FREERTOS_VERSION_10_4_1 31 32config PERCEPIO_TRC_FREERTOS_VERSION_7_3_X 33 bool "7_3_X" 34 35config PERCEPIO_TRC_FREERTOS_VERSION_7_4_X 36 bool "7_4_X" 37 38config PERCEPIO_TRC_FREERTOS_VERSION_7_5_X 39 bool "7_5_X" 40 41config PERCEPIO_TRC_FREERTOS_VERSION_7_6_X 42 bool "7_6_X" 43 44config PERCEPIO_TRC_FREERTOS_VERSION_8_X_X 45 bool "8_X_X" 46 47config PERCEPIO_TRC_FREERTOS_VERSION_9_0_0 48 bool "9_0_0" 49 50config PERCEPIO_TRC_FREERTOS_VERSION_9_0_1 51 bool "9_0_1" 52 53config PERCEPIO_TRC_FREERTOS_VERSION_9_0_2 54 bool "9_0_2" 55 56config PERCEPIO_TRC_FREERTOS_VERSION_10_0_0 57 bool "10_0_0" 58 59config PERCEPIO_TRC_FREERTOS_VERSION_10_0_1 60 bool "10_0_1" 61 62config PERCEPIO_TRC_FREERTOS_VERSION_10_1_0 63 bool "10_1_0" 64 65config PERCEPIO_TRC_FREERTOS_VERSION_10_1_1 66 bool "10_1_1" 67 68config PERCEPIO_TRC_FREERTOS_VERSION_10_2_0 69 bool "10_2_0" 70 71config PERCEPIO_TRC_FREERTOS_VERSION_10_2_1 72 bool "10_2_1" 73 74config PERCEPIO_TRC_FREERTOS_VERSION_10_3_0 75 bool "10_3_0" 76 77config PERCEPIO_TRC_FREERTOS_VERSION_10_3_1 78 bool "10_3_1" 79 80config PERCEPIO_TRC_FREERTOS_VERSION_10_4_0 81 bool "10_4_0" 82 83config PERCEPIO_TRC_FREERTOS_VERSION_10_4_1 84 bool "10_4_1" 85endchoice 86 87choice PERCEPIO_TRC_CFG_HARDWARE_PORT 88 prompt "Hardware Port" 89 default PERCEPIO_TRC_HARDWARE_PORT_ARM_Cortex_M 90 91config PERCEPIO_TRC_HARDWARE_PORT_Win32 92 bool "Win32" 93 94config PERCEPIO_TRC_HARDWARE_PORT_Atmel_AT91SAM7 95 bool "Atmel AT91SAM7" 96 97config PERCEPIO_TRC_HARDWARE_PORT_Atmel_UC3A0 98 bool "Atmel UC3A0" 99 100config PERCEPIO_TRC_HARDWARE_PORT_ARM_Cortex_M 101 bool "Cortex M" 102 103config PERCEPIO_TRC_HARDWARE_PORT_ARM_CORTEX_A9 104 bool "Cortex A9" 105 106config PERCEPIO_TRC_HARDWARE_PORT_Renesas_RX600 107 bool "Renesas RX600" 108 109config PERCEPIO_TRC_HARDWARE_PORT_MICROCHIP_PIC24_PIC32 110 bool "Microchip PIC24/PIC32" 111 112config PERCEPIO_TRC_HARDWARE_PORT_TEXAS_INSTRUMENTS_TMS570_RM48 113 bool "TI TMS570 RM48" 114 115config PERCEPIO_TRC_HARDWARE_PORT_TEXAS_INSTRUMENTS_MSP430 116 bool "TI MSP430" 117 118config PERCEPIO_TRC_HARDWARE_PORT_XILINX_PPC405 119 bool "Xilinx PPC405" 120 121config PERCEPIO_TRC_HARDWARE_PORT_XILINX_PPC440 122 bool "Xilinx PPC440" 123 124config PERCEPIO_TRC_HARDWARE_PORT_XILINX_MICROBLAZE 125 bool "Xilinx Microblaze" 126 127config PERCEPIO_TRC_HARDWARE_PORT_XILINX_ZyncUltraScaleR5 128 bool "Xilinx Zync Ultra Scale R5" 129 130config PERCEPIO_TRC_HARDWARE_PORT_NXP_LPC210X 131 bool "NXP LPC210X" 132 133config PERCEPIO_TRC_HARDWARE_PORT_Altera_NiosII 134 bool "Altera Nios II" 135endchoice 136 137 138menu "Coverage" 139config PERCEPIO_TRC_CFG_INCLUDE_EVENT_GROUP_EVENTS 140 bool "Trace Event Group Events" 141 depends on !PERCEPIO_TRC_CFG_SCHEDULING_ONLY 142 default n 143 help 144 If this is disabled, the trace will exclude any "event group" events. 145 146config PERCEPIO_TRC_CFG_INCLUDE_TIMER_EVENTS 147 bool "Trace Timer Events" 148 depends on !PERCEPIO_TRC_CFG_SCHEDULING_ONLY 149 default n 150 help 151 If this is disabled, the trace will exclude any Timer events. 152 153config PERCEPIO_TRC_CFG_INCLUDE_PEND_FUNC_CALL_EVENTS 154 bool "Trace Pend Function Events" 155 depends on !PERCEPIO_TRC_CFG_SCHEDULING_ONLY 156 default n 157 help 158 If this is disabled, the trace will exclude any "pending function call" 159 events, such as xTimerPendFunctionCall(). 160 161config PERCEPIO_TRC_CFG_INCLUDE_STREAM_BUFFER_EVENTS 162 bool "Trace Stream Buffer Events" 163 depends on !PERCEPIO_TRC_CFG_SCHEDULING_ONLY 164 default n 165 help 166 If this is disabled, the trace will exclude any stream buffer or message 167 buffer events. 168endmenu 169 170 171if PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT 172 173menu "Snapshot Config" 174config PERCEPIO_TRC_CFG_NTASK 175 int "Number of Tasks" 176 range 1 2048 177 default 15 178 help 179 These define the capacity of the Object Property Table, i.e., the maximum 180 number of objects active at any given point, within each object class (e.g., 181 task, queue, semaphore, ...). 182 183 If tasks or other objects are deleted in your system, this 184 setting does not limit the total amount of objects created, only the number 185 of objects that have been successfully created but not yet deleted. 186 187 Using too small values will cause vTraceError to be called, which stores an 188 error message in the trace that is shown when opening the trace file. The 189 error message can also be retrieved using xTraceGetLastError. 190 191 It can be wise to start with large values for these constants, 192 unless you are very confident on these numbers. Then do a recording and 193 check the actual usage by selecting View menu -> Trace Details -> 194 Resource Usage -> Object Table. 195 196config PERCEPIO_TRC_CFG_NISR 197 int "Number of ISR" 198 range 1 2048 199 default 5 200 help 201 These define the capacity of the Object Property Table, i.e., the maximum 202 number of objects active at any given point, within each object class (e.g., 203 task, queue, semaphore, ...). 204 205 If tasks or other objects are deleted in your system, this 206 setting does not limit the total amount of objects created, only the number 207 of objects that have been successfully created but not yet deleted. 208 209 Using too small values will cause vTraceError to be called, which stores an 210 error message in the trace that is shown when opening the trace file. The 211 error message can also be retrieved using xTraceGetLastError. 212 213 It can be wise to start with large values for these constants, 214 unless you are very confident on these numbers. Then do a recording and 215 check the actual usage by selecting View menu -> Trace Details -> 216 Resource Usage -> Object Table. 217 218config PERCEPIO_TRC_CFG_NQUEUE 219 int "Number of Queues" 220 range 1 2048 221 default 10 222 help 223 These define the capacity of the Object Property Table, i.e., the maximum 224 number of objects active at any given point, within each object class (e.g., 225 task, queue, semaphore, ...). 226 227 If tasks or other objects are deleted in your system, this 228 setting does not limit the total amount of objects created, only the number 229 of objects that have been successfully created but not yet deleted. 230 231 Using too small values will cause vTraceError to be called, which stores an 232 error message in the trace that is shown when opening the trace file. The 233 error message can also be retrieved using xTraceGetLastError. 234 235 It can be wise to start with large values for these constants, 236 unless you are very confident on these numbers. Then do a recording and 237 check the actual usage by selecting View menu -> Trace Details -> 238 Resource Usage -> Object Table. 239 240config PERCEPIO_TRC_CFG_NSEMAPHORE 241 int "Number of Semaphores" 242 range 1 2048 243 default 10 244 help 245 These define the capacity of the Object Property Table, i.e., the maximum 246 number of objects active at any given point, within each object class (e.g., 247 task, queue, semaphore, ...). 248 249 If tasks or other objects are deleted in your system, this 250 setting does not limit the total amount of objects created, only the number 251 of objects that have been successfully created but not yet deleted. 252 253 Using too small values will cause vTraceError to be called, which stores an 254 error message in the trace that is shown when opening the trace file. The 255 error message can also be retrieved using xTraceGetLastError. 256 257 It can be wise to start with large values for these constants, 258 unless you are very confident on these numbers. Then do a recording and 259 check the actual usage by selecting View menu -> Trace Details -> 260 Resource Usage -> Object Table. 261 262config PERCEPIO_TRC_CFG_NMUTEX 263 int "Number of Mutex" 264 range 1 2048 265 default 10 266 help 267 These define the capacity of the Object Property Table, i.e., the maximum 268 number of objects active at any given point, within each object class (e.g., 269 task, queue, semaphore, ...). 270 271 If tasks or other objects are deleted in your system, this 272 setting does not limit the total amount of objects created, only the number 273 of objects that have been successfully created but not yet deleted. 274 275 Using too small values will cause vTraceError to be called, which stores an 276 error message in the trace that is shown when opening the trace file. The 277 error message can also be retrieved using xTraceGetLastError. 278 279 It can be wise to start with large values for these constants, 280 unless you are very confident on these numbers. Then do a recording and 281 check the actual usage by selecting View menu -> Trace Details -> 282 Resource Usage -> Object Table. 283 284config PERCEPIO_TRC_CFG_NTIMER 285 int "Number of Timers" 286 range 1 2048 287 default 5 288 help 289 These define the capacity of the Object Property Table, i.e., the maximum 290 number of objects active at any given point, within each object class (e.g., 291 task, queue, semaphore, ...). 292 293 If tasks or other objects are deleted in your system, this 294 setting does not limit the total amount of objects created, only the number 295 of objects that have been successfully created but not yet deleted. 296 297 Using too small values will cause vTraceError to be called, which stores an 298 error message in the trace that is shown when opening the trace file. The 299 error message can also be retrieved using xTraceGetLastError. 300 301 It can be wise to start with large values for these constants, 302 unless you are very confident on these numbers. Then do a recording and 303 check the actual usage by selecting View menu -> Trace Details -> 304 Resource Usage -> Object Table. 305 306config PERCEPIO_TRC_CFG_NEVENTGROUP 307 int "Number of Event Groups" 308 range 1 2048 309 default 5 310 help 311 These define the capacity of the Object Property Table, i.e., the maximum 312 number of objects active at any given point, within each object class (e.g., 313 task, queue, semaphore, ...). 314 315 If tasks or other objects are deleted in your system, this 316 setting does not limit the total amount of objects created, only the number 317 of objects that have been successfully created but not yet deleted. 318 319 Using too small values will cause vTraceError to be called, which stores an 320 error message in the trace that is shown when opening the trace file. The 321 error message can also be retrieved using xTraceGetLastError. 322 323 It can be wise to start with large values for these constants, 324 unless you are very confident on these numbers. Then do a recording and 325 check the actual usage by selecting View menu -> Trace Details -> 326 Resource Usage -> Object Table. 327 328config PERCEPIO_TRC_CFG_NSTREAMBUFFER 329 int "Number of Stream Buffers" 330 range 1 2048 331 default 5 332 help 333 These define the capacity of the Object Property Table, i.e., the maximum 334 number of objects active at any given point, within each object class (e.g., 335 task, queue, semaphore, ...). 336 337 If tasks or other objects are deleted in your system, this 338 setting does not limit the total amount of objects created, only the number 339 of objects that have been successfully created but not yet deleted. 340 341 Using too small values will cause vTraceError to be called, which stores an 342 error message in the trace that is shown when opening the trace file. The 343 error message can also be retrieved using xTraceGetLastError. 344 345 It can be wise to start with large values for these constants, 346 unless you are very confident on these numbers. Then do a recording and 347 check the actual usage by selecting View menu -> Trace Details -> 348 Resource Usage -> Object Table. 349 350config PERCEPIO_TRC_CFG_NMESSAGEBUFFER 351 int "Number of Message Buffers" 352 range 1 2048 353 default 5 354 help 355 These define the capacity of the Object Property Table, i.e., the maximum 356 number of objects active at any given point, within each object class (e.g., 357 task, queue, semaphore, ...). 358 359 If tasks or other objects are deleted in your system, this 360 setting does not limit the total amount of objects created, only the number 361 of objects that have been successfully created but not yet deleted. 362 363 Using too small values will cause vTraceError to be called, which stores an 364 error message in the trace that is shown when opening the trace file. The 365 error message can also be retrieved using xTraceGetLastError. 366 367 It can be wise to start with large values for these constants, 368 unless you are very confident on these numbers. Then do a recording and 369 check the actual usage by selecting View menu -> Trace Details -> 370 Resource Usage -> Object Table. 371 372config PERCEPIO_TRC_CFG_NAME_LEN_TASK 373 int "Name Length Task" 374 range 1 512 375 default 15 376 help 377 Macros that specify the maximum lengths (number of characters) for names of 378 kernel objects, such as tasks and queues. If longer names are used, they will 379 be truncated when stored in the recorder. 380 381config PERCEPIO_TRC_CFG_NAME_LEN_ISR 382 int "Name Length ISR" 383 range 1 512 384 default 15 385 help 386 Macros that specify the maximum lengths (number of characters) for names of 387 kernel objects, such as tasks and queues. If longer names are used, they will 388 be truncated when stored in the recorder. 389 390config PERCEPIO_TRC_CFG_NAME_LEN_QUEUE 391 int "Name Length Queue" 392 range 1 512 393 default 15 394 help 395 Macros that specify the maximum lengths (number of characters) for names of 396 kernel objects, such as tasks and queues. If longer names are used, they will 397 be truncated when stored in the recorder. 398 399config PERCEPIO_TRC_CFG_NAME_LEN_SEMAPHORE 400 int "Name Length Semaphore" 401 range 1 512 402 default 15 403 help 404 Macros that specify the maximum lengths (number of characters) for names of 405 kernel objects, such as tasks and queues. If longer names are used, they will 406 be truncated when stored in the recorder. 407 408config PERCEPIO_TRC_CFG_NAME_LEN_MUTEX 409 int "Name Length Mutex" 410 range 1 512 411 default 15 412 help 413 Macros that specify the maximum lengths (number of characters) for names of 414 kernel objects, such as tasks and queues. If longer names are used, they will 415 be truncated when stored in the recorder. 416 417config PERCEPIO_TRC_CFG_NAME_LEN_TIMER 418 int "Name Length Timer" 419 range 1 512 420 default 15 421 help 422 Macros that specify the maximum lengths (number of characters) for names of 423 kernel objects, such as tasks and queues. If longer names are used, they will 424 be truncated when stored in the recorder. 425 426config PERCEPIO_TRC_CFG_NAME_LEN_EVENTGROUP 427 int "Name Length Event Group" 428 range 1 512 429 default 15 430 help 431 Macros that specify the maximum lengths (number of characters) for names of 432 kernel objects, such as tasks and queues. If longer names are used, they will 433 be truncated when stored in the recorder. 434 435config PERCEPIO_TRC_CFG_NAME_LEN_STREAMBUFFER 436 int "Name Length Stream Buffer" 437 range 1 512 438 default 15 439 help 440 Macros that specify the maximum lengths (number of characters) for names of 441 kernel objects, such as tasks and queues. If longer names are used, they will 442 be truncated when stored in the recorder. 443 444config PERCEPIO_TRC_CFG_NAME_LEN_MESSAGEBUFFER 445 int "Name Length Message Buffer" 446 range 1 512 447 default 15 448 help 449 Macros that specify the maximum lengths (number of characters) for names of 450 kernel objects, such as tasks and queues. If longer names are used, they will 451 be truncated when stored in the recorder. 452endmenu # "Snapshot Config" 453 454endif # PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT 455 456if PERCEPIO_TRC_RECORDER_MODE_STREAMING 457endif # PERCEPIO_TRC_RECORDER_MODE_STREAMING 458endmenu # "Recorder FreeRTOS" 459