General.txt 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
  2. /**
  3. \mainpage Overview
  4. <b>CMSIS-Build</b> is a set of tools, software frameworks, and work flows that improve productivity:
  5. - \ref cprjFormat_pg "CPRJ" is a generic CMSIS-aware project file format that allows IDEs and command-line build tools to
  6. share the same projects.
  7. - A \ref CmdLineBuild "Continuous Integration (CI) work flow" for projects that are based on software components supplied
  8. in CMSIS-Pack format.
  9. - Software Layers enable code reuse across different targets. A software layer is a pre-configured software component
  10. selection and user source code.
  11. - <a href="../../Driver/html/group__vio__interface__gr.html"><b>CMSIS-Driver VIO</b></a> is a set of generic input/output
  12. functions for example and test code. It allows to fast migration from evaluation boards to production hardware.
  13. The figure below shows how the <b>CMSIS-Build</b> components may be used to create a IoT cloud application:
  14. - The <b>Board I/O</b> layer contains the drivers and device configuration for a specific evaluation board.
  15. - The <b>Cloud</b> layer implements the software components that are required to connect to a Cloud Service Provider (CSP).
  16. - The <b>Application Code</b> may start with reference example and is expanded to application specific requirements that
  17. access specialized peripherals.
  18. \image html "Layer.png" "Software Layers and Virtual I/O"
  19. Software layers and Virtual I/O simplify these use cases:
  20. <b>Port software from evaluation board to custom hardware:</b><br>
  21. - Frequently, the software development starts on an evaluation board, for example because production hardware is not yet
  22. available. The <a href="../../Driver/html/group__vio__interface__gr.html"><b>VIO component</b></a> allows you to use the
  23. I/O capabilities of an evaluation kit and disconnect it when moving to production hardware. In case the production
  24. hardware uses a different device configuration or different I/O drivers, the <b>Board I/O</b> layer may be swapped.
  25. <b>Deliver reference examples for many different evaluation boards:</b><br>
  26. - Reference examples are a great way to demonstrate a software solution. It is however expensive to support many different
  27. evaluation boards. The VIO and CMSIS-Driver components give reference examples for a consistent interface to target
  28. hardware. When such a consistent set of components is available as a <b>Board I/O</b> layer for many different evaluation
  29. boards, it allows to run a <b>Cloud</b> layer together with a reference example. The tools for \ref CmdLineBuild allow to
  30. combine various different layers and allow in this way to generate several different reference examples on a range of
  31. evaluation boards.
  32. \section CB_Components Components of CMSIS-Build
  33. <b>Specification</b> of a generic project file format:
  34. - \ref cprjFormat_pg describes all XML elements that are available for the project description and how to use them.
  35. <b>Tools</b> that support \ref CmdLineBuild with software packs and the generic project file format:
  36. - \ref cbuildgen generates a standard MAKE file and allows to manage software layers.
  37. - \ref ccmerge updates configuration files that are based on <a href="../../Pack/html/configWizard.html"><b>PackConfiguration Wizard Annotations</b></a>.
  38. */
  39. /*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
  40. /**
  41. \page build_revisionHistory Revision history
  42. <table class="cmtable" summary="Revision History">
  43. <tr>
  44. <th>Version</th>
  45. <th>Description</th>
  46. </tr>
  47. <tr>
  48. <td>0.9.0 (beta)</td>
  49. <td>Release for beta review:
  50. - added layer description to project format specification.
  51. - added support for multiple compilers.
  52. - added commands for layer operations to cbuildgen.
  53. </td>
  54. </tr>
  55. <tr>
  56. <td>0.1.0</td>
  57. <td>Release for alpha review</td>
  58. </tr>
  59. </table>
  60. */