ProjectConverter icon indicating copy to clipboard operation
ProjectConverter copied to clipboard

Convert existing project from KEIL or IAR to CMake using arm-none-eabi-gcc

Project converter for Embedded Projects

A lot of Embedded Projects use proprietary IDEs and build processes. This make any CI/CD painful. Therefore these simple python scripts allow conversion of existing projects into CMake and corresponding linker file for GCC toolchain. Currently supported are IAR's ewp and ARM's KEIL uvprojx project formats.

Module description

  • cmake.py - Cmake and linker file generation
  • converter.py - Argument parsing
  • ewpproject.py - Parser for IAR's ewp file format
  • uvprojx.py - Parser for ARM's KEIL uvprojx file format

Prerequisites

Install python3 on your system run:

pip install Jinja2

Usage

Run in output dir.

Convert project from IAR:

    python converter.py ewp <path to project root>

Convert project from ARM's KEIL:

    python converter.py uvprojx <path to project root>
```	

## Contributing

Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.

## Versioning

We use [SemVer](semver.org) for versioning.

## Authors

- Petr Hodina - *Initial work*

## License

The project is licensed under the [Apache License v2.0](https://www.apache.org/licenses/LICENSE-2.0) - see the [LICENSE.md](LICENSE.md) file for details.

## TODO
- [ ] Package as python module and publish it
- [ ] Seperate templates into submodule
- [ ] Support generation of Makefile
- [ ] Support additional compilers
- [ ] Test on MAC OSX 
- [ ] Arg to specify build directory
- [ ] Add Tests