% render "layouts/basic.html" do ### OrigenAppGenerators ## Generic Application Builds a generic Origen application shell that has no specific use case in mind. It will build the following application structure: ~~~text |-- config | |-- application.rb | |-- commands.rb | |-- environment.rb | |-- users.rb | |-- version.rb |-- doc | |--history |-- lib | |-- app_name | | |-- top_level.rb | |-- app_name.rb | |-- tasks | |-- app_name.rake |-- spec | |-- spec_helper.rb |-- log |-- output |-- targets | |-- debug.rb | |-- default.rb | |-- production.rb |-- templates | |-- web |-- Gemfile |-- Rakefile ~~~ **config** Holds all configuration information for your application **config/application.rb** This is the main configuration file where the behavior of Origen can be tailored to the needs of your application. The default settings are usually sufficient until your application becomes more advanced. **config/commands.rb** Custom origen commands can be added to your application, this is the preferred way of distributing any scripts required to support your application to your users. See the [command guide](http://origen.freescale.net/origen/latest/guides/custom/commands/) for details. **config/environment.rb** This file will be called by Origen to load your application environment, any files that you add to the lib directory should be loaded from here. **config/users.rb** Define your application users here, this is basically your mailing list for release notices. **config/version.rb** Defines the current application version. This file is managed by Origen via the 'origen rc tag' command and should generally never be edited by hand. **doc** Any documentation related to your application can be stored here. **doc/history** A rolling log of your application tags and release notes is maintained here. A new entry is generated every time the 'origen rc tag' command is run. This file is pre-formatted to look good when rendered as a web page. **lib** All of your application models and logic should go in here. This folder is already added to Ruby's load path by Origen. Sub-folders can be used as desired to keep things organized. The contents of this folder will be accessible by any other applications which import this application. **log** All log output generated by Origen will be placed in here. There is a log containing the output from the last origen invocation and a rolling log from all previous runs. **output** By default all generated or compiled output will be placed in here. **target** A target defines which silicon design and/or test platform is being targeting by the generated content. All target definitions live in here. **templates** All templates used by the application should reside here, normally in sub-directories to separate them by type - e.g. templates/j750, templates/bench_code, templates/rtl, etc. **templates/web** Web based documentation of your project should reside here. Origen makes it easy to produce dynamic documentation based on your application target configurations. See http://origen.freescale.net for an example of the kind of documentation that can be produced. % end