New SDK generator docs have been released. You can get it from: 1. SDK generator repo: https://bitbucket.sw.nxp.com/projects/MCUCORE/repos/mcu-sdk-generator/browse/doc 2. Gitbook: http://10.193.108.154:4000/ Here is a snapshot Getting Started With SDK Generator.md Getting Starts. It illustrates why we need sdk generator, how to install and use it. Basic concepts and working scenarios are introduced. Yaml Data Record Guide.md Illustrate yaml data record rule, syntax, concepts. It covers every aspect of the SDK data. Yaml Data Record For Project Settings.md Illustrate yaml data record syntax for project settings. Yaml Data Record Component Naming Conventions.md Illustrate SDK component naming conversation. Yaml Example Reference.md The reference index for yml/batch set demos. Release Actions Of SDK Generator.md Illustrate the release actions of SDK. SDK Docs Generation Flow.md Illustrate how to integrate SDK docs generation into sdk generator. How To Configure Release_config File.md Illustrate how to config release config yml. Frequently Asked Questions.md Frequently asked questions, still on-going, we will add more.
Hi guys, Now we are updating the SDK Generator Docs. JIRA: https://jira.sw.nxp.com/browse/SDKGEN-1123 .The work is still in progress, you can get the docs from the feature branch: SDK Generator docs BR Holt
New features update: SDKGEN-713 Change the overall logger level to warn We have changed the logger level from "ERROR" to "WARN". In this way, warnings will be shown in your screen so that you can easily get them and make the necessary code changes if needed. Here are one snapshot: SDKGEN-683 Reimplement production true in stage1 and stage2 Previously we disabled the production mode in stage1 and stage2 to compromise to the great amount of yml record errors. Through REL9, we have almost fixed these errors. So the production mode for stage1 and stage2 is back. If you are not familiar with this production mode, you can find detailed description in SDK Generator Introduction and usage.md. Briefly, when production mode is enabled, any "ERROR" will break down the generation process. This mode is usually used for formal deployment. From release config yml, you can set "production: true" to enable it in all stages, for more details, please refer to How to configure release_config file.md From batch, you can set "--production" to enable it in stage1 and stage2, later stages cannot get production from batch for now, for more details, please refer to SDK Generator Introduction and usage.md
Dear sdk generator users, This week the new generator has the some updates and all commits have been pushed to the develop/mcu_sdk_generator branch by default. Please cherry-pick the commits or sync the latest branch to your feature branch if needed. We have recorded the update into the MCUX SDK Generator community. We really welcome you to join the community to view these updates and raise any topics/questions/comments. It is easy! Go to the MCUX SDK Generatorcommunity sub-space Check that there is not any post about your problem already Create a new question post or any other available post type (according to a purpose of your message) Fill in the form Fill in the title of the message Fill in the body of the message You can add attachments Post it Please, send email to MCU_SW_PE MCU_SW_PE@nxp.com if you cannot access the community space or if you have any other problem related to using the community space. IT is not adding all members of the MCU_SDK_DEV office group on a list of this community space users. It may happen you haven’t been added yet. We can add you manually. As we commit, any new features will be posted on community. New features update: KPSDK-24781 Remove generator's dependencies on so many submodules Some ymls are stored in submodules like docs, generator will load them from submodules each time.That is quite big obstacle because of the submodule size. For automation purposes this slow down build tests by 10%. So we move the docs ymls from docs submodule into bin/generator/records_v1/msdk/components/docs. The new docs directory has the same structure as the previous docs submodule. We also update docs ymls load path in records_v1 and affected submodules. The new directory is as follow: We have already removed the docs ymls under docs submodule. For future development, please update the docs ymls under records_v1/msdk/components/docs. SDKGEN-440 Prevent generators from creating xml files while they are not required SDKGEN-709 Fix bugs that mcux toolchain is not added into build automatically if run with release config without specifying mcux toolchain Previously, when generating projects for specific toolchains, generator will anyway add in the "mcux" no matter you set it or not. From now, generator will not do this automatic adding if you just generate projects(-c projects) For manifest/superset/package running, the 'mcux' will still be automatically added because the <example>.xml is used by some tools except for the mcuxpresso. Here is an example: SDKGEN-429 Support -d parameter in sdk generator to only generate intermediate data yml for debug use. sdk generator now supports generating debug data only with '-d'. With '-d' specified, the generator will only generate intermediate debug data under bin/generator/sdk_generator/src/debug_data folder for user's analyzing use. For single core boards, the naming of the debug data yml is <board_id>_<yml_name>.yml eg: frdmk64f_cleaned_project_data.yml For dual-core boards is <board_id>_<core_id>_<yml_name>.yml(you need to provide the --core_id to provide the core id) eg: lpcxpresso54114_cm0plus_component_data.yml, lpcxpresso54114_cm4_unify_data.yml. For each board, there will be 6 debug data ymls. The component/component_support/project/misc_content data contains component/component_support/application/manifest content and cmsis_pack content sections. The cleaned_component/cleaned_project data contains component/application sections whose project-root-path/release-dir has been replaced in files' paths. The unify_data contains application sections that have been transformed into the format for project generator to process. Note that when setting '-c manifest' using batch or output type is manifest when using release_config, the unify data will not be generated because manifest doesn't use the unify_data.yml
New features update: SDKGEN-644 Give log message in debug level when some section do not meet dependency Now user can easily get which component/application is not packed and the unpacked reason. Generator will log info on terminal when doing the dependency analyze, user can easily get which application or component is not packed and why by setting the logger level to info which is '-l 1' like "ruby sdk_frdmk64f.rb -c superset -o -l 1" to get the log message such as: SDKGEN-619 The configuration section should support the require the component section Now configuration section can require component section, previously the configuration sections can only require configuration sections. With this new feature, if some component sections are commonly required by all the applications of some boards/kits or some example sets, user can use one common configuration section to require them for once instead of maintaining them in every yml files' "__hierachy__", which can save a lot of effort of maintainance. SDKGEN-604 Give error message when project data misses some required attributes Generator now supports to check the required attributes and log on terminal if any attributes are missing. Here is the checklist: brief. It is a required attribute for CMSIS pack(schema). version. It is a required attribute for both manifest and CMSIS pack(schema). category. It is an optional attribute for manifest(schema). Please update the ymls when you see these warns/errors which usually cause troubles in package use. Here is one example:
Previously the configuration sections can only require configuration sections, now configuration can require configuration and component. With this new feature, if some component sections are commonly required by all the applications of some boards/kits, user can use this board/kit's common configuration section to require them instead of maintaining them in every yml files' "__hierachy__", which can save a lot of effort of maintainance.
Generator will log info when doing the dependency analyze, user can easily get which application or component is not packed by setting the logger level with '-l 0' and get the log message such as: 'middleware.sdmmc.common: Require component/component_support middleware.sdmmc.ui_control is(are) missing, so it will not be packed.'
In yaml it is better to use '' or "" to wrap the text content if the content contains space or other special characters, but please do note that when using "" all the character following the '\' will be escaped no matter this escaping method exists or not, just use '' to avoiding any unnecessary escaping especially for file paths.
We set Use MicroLIB in Keil as below by default or use ld flags "--library_type=microlib" in yaml: If you do not want this option to be set, "--library_type=standardlib" or "--library_type=nomicrolib" could be set in ld flags.
The SCR generator(part of new sdk generator) is put into use now. There is a update in SCR(software content register) data record in new sdk generator. Previously, the SCR data is maintained in scr_final.meta for the meta-consuming manifest generator and there is another data copy in the release_info.yml for old project generator. Now there is only one SCR data copy recorded in bin\generator\records_v1\msdk\components\others\sdk_repo.yml. The sdk_package_info=>contents=>scrs stores the data. The scr_final.meta along with other metas have been deprecated.