dsbs / LPC1769_cpp

example project cortex m3 usage with LPC1769 in c plus plus
GNU General Public License v3.0
4 stars 3 forks source link

This is a template for my projects for embedded targets. It is made for LPC1769 probably it will also work on LPC1768, other LPC17xx not tested.

Please refer to INSTALL file for tool requirements. COPYING file contains licence agreement (GNU GPL v3).

The project follows the rules Semantic Versioning and uses Doxygen for documentation.

We defined project structure as follows:

./
|- makefile            - makefile
|- LPC1769.ld          - linker script
|- doxyfile            - doxygen configuration file
|- ChangeLog.md        - change log
|- COPYING             - copying rights
|- INSTALL.md          - install information
|- README.md           - this file
|- THANKS              - special thanks for support
|- TODO.md             - list of things to be done, in progress and TODOs which are already closed
|- release/$(TARGET).* - files which are generated by compiler, TARGET is defined in makefile
|  |- log/*            - log files generated during builds
|  |- dep/*            - dependency files
|  |- obj/*            - obj files
|  `- lst/*            - generated assembly listings
`-src/                 - source files
  |- sources.mk        - sources list
  |- rules.mk          - flags passed to compiler and linker
  |- lib/*             - library files like for e.g. CMSIS. Other example here i lamp class which
  |                       should be treated as a library because here you define behaviour and internal operations,
  |                       and the actual usage is in application. The same can be with other more sophisticated
  |                       libraries like USB stack, TCPIP stack and so on.
  `- app/*             - application files like main.cpp. Also other files may be created here like
                          for e.g. application layer for USB or other features. In this folder you can
                          also create subfolders if for e.g. application layer for feature contains more than 1 file.