Generate Compilation Database by parse Keil µVision project
Project description
uv2compdb
Generate Compilation Database by parse Keil µVision project.
Features
- Parse strategy (dep/build_log -> XML)
- Extract toolchain predefined macros with
-poption - VariousControls hierarchical merge (Target -> Group -> File)
Installation
pip install uv2compdb
Usage
Basic Usage
Generate compile_commands.json in the current directory for the current
target (see .uvopt[x] file). Falling back to the first target if the current
target is not found.
uv2compdb /path/to/project
Specify target and output
Generate compile_commands.json for a specific target and output
uv2compdb /path/to/project -t target -o /path/to/compile_commands.json
Help
usage: uv2compdb [-h] [-v] [-V] [-a ARGUMENTS] [-b] [-t TARGET] [-o OUTPUT] [-p] project
Generate compile_commands.json by parse Keil µVision project
positional arguments:
project Path to .uvproj[x] file
optional arguments:
-h, --help Show this help message and exit
-v, --verbose Enable verbose output
-V, --version Show version and exit
-a ARGUMENTS, --arguments ARGUMENTS
Add extra arguments
-b, --build Try to build while dep/build_log files don't not exist
-t TARGET, --target TARGET
Target name
-o OUTPUT, --output OUTPUT
Output dir/file path (default: compile_commands.json)
-p, --predefined Try to add predefined macros
Limit
- Not parsed
"Options" -> "C/C++" -> "Language / Code Generation" - Not parsed
"Options" -> "ASM", so Asm file use same options with C file - Can't parse RTE components
- Can't add toolchain predefined macros and include path
- The support for C51 / ARMCC (AC5) not well
- need config
.clangdmanually
- need config
Clangd
CompileFlags:
CompilationDatabase: /path/to/compile-commands-dir
Compiler: arm-none-eabi-gcc # use arm-neon-eabi-gcc instead of armcc
Add:
- -fdeclspec # fix '__declspec' if use arm-none-eabi-gcc instead of armcc
Diagnostics:
UnusedIncludes: None # Strict(default), None
# Suppress:
# - no_member
# - no_member_suggest
# - no_template
# - undeclared_var_use
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uv2compdb-0.7.1.tar.gz.
File metadata
- Download URL: uv2compdb-0.7.1.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07e19ac91700ec10cf403f807ce095eada2fed31a2450f100d1cbff3467848f6
|
|
| MD5 |
d0206dc07d6c9a3f06ed4b1e4ecf1a88
|
|
| BLAKE2b-256 |
6b6a09d21f2f50c78ffe8122cc226db13a65dca3f9ae53b9d75da5506627cd2b
|
File details
Details for the file uv2compdb-0.7.1-py3-none-any.whl.
File metadata
- Download URL: uv2compdb-0.7.1-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca715c4bbde637b370392b486f710f560bccfda67dfe0657259119ad3356e5b2
|
|
| MD5 |
2ac7aa6900d20f5ff0eb2ee6cda99528
|
|
| BLAKE2b-256 |
1dcd24a31f2c3ee6d3669158aebce0c1bd029edf7e129b2a50f71af33d3ffe8c
|