Skip to main content

FMSH(Fudan Microelectronics) general-purpose MCU families IDE project generator.

Project description

FMSH Project Generator is a project generation tool for FuDan Microelectronics general-purposed MCU families, including FM33LC0XXX series, FM33LG0XX series, and much more on their ways.

FMSH Project Generator allows you to define a project using .YAML files. It can generate IDE project based on the .yaml record, and one should never spend a lot of time again migrating their projects among these IDEs. it also featured a ‘import project’ function, which allows user to generate their YAML project files more conveniently from presenting IDE projects.

This project is inspired by open-sourced project project_generator.

Installing

Install and update using pip:

$ pip install -U FMSHProjectGenerator

How to use

User should first create an instance of ProjectGenerator before using any functions:

from FMSHProjectGenerator import ProjectGenerator

proj_gen = ProjectGenerator()

Generate IDE Project

Following code example demonstrated how to use FMSHProjectGenerator to generate IDE project (Keil5 project for this example, wich will generated in ./my_project_path/MDK-ARM):

from FMSHProjectGenerator.generators import Keil5Generator
from FMSHProjectGenerator import ProjectGenerator

# create an instance
proj_gen = ProjectGenerator()

# generate KEIL5 project using input YAML
proj_gen.generate(dest_prj_path='./my_project_path',
                   generator=Keil5Generator(),
                   input_file='./my_project_path/project.yaml')

Import IDE Project

Following code example demonstrated how to use FMSHProjectGenerator to import IDE project (Keil5 project for this example, which will generated the project YAML file as ./my_project_path/project.yaml):

from FMSHProjectGenerator.converters import Keil5Converter
from FMSHProjectGenerator import ProjectGenerator

# create an instance
proj_gen = ProjectGenerator()

# convert KEIL5 project(will automatically search required project files)
proj_gen.convert(src_prj_path='./my_project_path',
                   converter=Keil5Converter(),
                   output_file='./my_project_path/project.yaml')

Import and Generate IDE Project

After import or generate an IDE project, ProjectGenerator will always retain the latest project information. So it’s easy to import from one IDE Project and generate other IDEs’ Project:

from FMSHProjectGenerator.converters import Keil5Converter
 from FMSHProjectGenerator.generators import IAR832Generator
from FMSHProjectGenerator import ProjectGenerator

# create an instance
proj_gen = ProjectGenerator()

# convert KEIL5 project
proj_gen.convert(src_prj_path='./my_project_path',
                   converter=Keil5Converter())

# generate IAR 8.32 project using retained info
proj_gen.generate(dest_prj_path='./my_project_path',
                   generator=IAR832Generator())

User should notice that the ‘generate’ and ‘convert’ function can both omit the ‘input/output_file’ option, which tells the Project Generator to generate/import IDE Project using/updating retained project information only.

Status of the project

The project is now in alpha phase. See the TODO list for further information.

TODO List

Functions

  • Purposing…

IDE Support

  • Keil5 5.27 and after

  • Keil5 before 5.27

  • IAR 8.32

  • IAR 8.x

  • IAR 7.x

  • Eclipse GCC

MCU Support

  • FM33LC0 family

  • FM33LG0 family

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

FMSHProjectGenerator-0.0.1.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

FMSHProjectGenerator-0.0.1-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file FMSHProjectGenerator-0.0.1.tar.gz.

File metadata

  • Download URL: FMSHProjectGenerator-0.0.1.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for FMSHProjectGenerator-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9112a7f016a054afc7ac652f52614342c2904b5277750f10cca370b766d4fcd6
MD5 2b1e854dd0104f63fe6498cab2f6d6f2
BLAKE2b-256 9b59ab1376fd586b81d47b3f99e58607a6a83726b44090c4876521c9758a80b9

See more details on using hashes here.

File details

Details for the file FMSHProjectGenerator-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: FMSHProjectGenerator-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for FMSHProjectGenerator-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b293b5b4667e6980296f43764c83e29a36f12fb15fd1b3855c24536c8b1b606b
MD5 9892b0452ff6b95d8cf5bf1ae95e1732
BLAKE2b-256 c4fe67d16ed582dc25aa514129b86aa2d1928a1e57ae222aaf5d2f763c38cee1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page