@micro-os-plus/semihosting
Version:
A source library xPack with the µOS++ portable semihosting definitions
258 lines (257 loc) • 9.92 kB
JSON
{
"minimumXpmakeRequired": "0.0.0",
"license": "MIT",
"copyright": "Copyright (c) 2022 Liviu Ionescu",
"description": "Top semihosting components",
"cdlComponents": {
"semihosting": {
"description": "Define the Arm semihosting call numbers and API.",
"parent": "micro-os-plus",
"compilerIncludeFolders": [
"include"
],
"compilerSourceFiles": [],
"compilerDefinitions": [],
"compilerOptions": [],
"dependencies": [],
"generatedDefinition": "MICRO_OS_PLUS_INCLUDE_SEMIHOSTING",
"cdlComponents": {
"startup": {
"description": "Get the command line arguments via SYS_GETCMDLINE and parse them as for main(arc, argv); pass the return code back to the debugger when the application terminates.",
"generatedDefinition": "MICRO_OS_PLUS_INCLUDE_SEMIHOSTING_STARTUP",
"compilerIncludeFolders": [],
"compilerSourceFiles": [
"src/semihosting-startup.cpp"
],
"compilerDefinitions": [],
"compilerOptions": [],
"dependencies": [],
"cdlOptions": {
"args-buffer-array-size": {
"description": "The maximum number of characters that can be received from the host; the buffer is modified in place, and space characters are replaced by nulls to mark the string terminators.",
"type": "integer",
"generatedDefinition": "MICRO_OS_PLUS_INTEGER_SEMIHOSTING_CMDLINE_ARRAY_SIZE",
"defaultValue": 80
},
"argv-buffer-array-size": {
"description": "The maximum number of arguments (pointers to strings) that can be passed as argv[] to main().",
"type": "integer",
"generatedDefinition": "MICRO_OS_PLUS_INTEGER_SEMIHOSTING_ARGV_ARRAY_SIZE",
"defaultValue": 10
}
}
},
"syscalls": {
"description": "Implement all POSIX functions over the Arm semihosting API; it complements the newlib implementation and adds debugging support.",
"compilerIncludeFolders": [],
"compilerSourceFiles": [
"src/semihosting-syscalls.cpp"
],
"compilerDefinitions": [],
"compilerOptions": [],
"dependencies": [],
"cdlOptions": {
"max-open-files": {
"description": "The maximum number of files that can be simultaneously opened (the size of the statically allocated array storing the status of each opened file, i.e. an integer and offset); the first 3 entries are used for STDIN, STDOUT and STDERR.",
"type": "integer",
"generatedDefinition": "MICRO_OS_PLUS_INTEGER_SEMIHOSTING_MAX_OPEN_FILES",
"defaultValue": 20,
"legalValues": [
"4 to 100"
]
},
"debug-syscalls-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALLS_BRK"
},
"debug-syscall-chdir-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_CHDIR_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-chmod-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_CHMOD_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-chown-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_CHOWN_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-closedir-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_CLOSEDIR_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-execve-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_EXECVE_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-fcntl-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_FCNTL_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-fork-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_FORK_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-fsync-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_FSYNC_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-ftruncate-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_FTRUNCATE_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-ioctl-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_IOCTL_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-kill-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_KILL_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-link-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_LINK_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-opendir-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_OPENDIR_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-raise-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_RAISE_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-readdir-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_READDIR_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-readlink-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_READLINK_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-rewinddir-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_REWINDDIR_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-rmdir-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_RMDIR_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-select-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_SELECT_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-symlink-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_SYMLINK_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-sync-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_SYNC_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-truncate-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_TRUNCATE_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-utime-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_UTIME_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-wait-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_WAIT_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
},
"debug-syscall-writev-brk": {
"generatedDefinition": "MICRO_OS_PLUS_DEBUG_SYSCALL_WRITEV_BRK",
"activeIf": [
"!debugSyscallsBrk"
]
}
}
},
"trace": {
"description": "Implement the diag trace chanel via semihosting.",
"compilerIncludeFolders": [],
"compilerSourceFiles": [
"src/semihosting-trace.cpp"
],
"compilerDefinitions": [],
"compilerOptions": [],
"dependencies": [
"micro-os-plus::diag-trace"
],
"cdlComponents": {
"debug": {
"description": "A diag trace channel implemented over the semihosting SYS_WRITE0 call.",
"implementedInterfaces": [
"micro-os-plus/diag-trace"
],
"generatedDefinition": "MICRO_OS_PLUS_USE_TRACE_SEMIHOSTING_DEBUG",
"cdlOptions": {
"buffer-array-size": {
"description": "The size of a local buffer allocated on the stack, used to speed up the display.",
"type": "integer",
"generatedDefinition": "MICRO_OS_PLUS_INTEGER_TRACE_SEMIHOSTING_BUFFER_ARRAY_SIZE",
"defaultValue": 16
}
}
},
"stdout": {
"description": "A diag trace channel implemented over the semihosting SYS_WRITE call on STDOUT.",
"implementedInterfaces": [
"micro-os-plus/diag-trace"
],
"generatedDefinition": "MICRO_OS_PLUS_USE_TRACE_SEMIHOSTING_STDOUT"
}
}
}
}
}
}
}