URL
https://opencores.org/ocsvn/c0or1k/c0or1k/trunk
Subversion Repositories c0or1k
[/] [c0or1k/] [trunk/] [scripts/] [baremetal/] [files/] [build.readme.in] - Rev 2
Compare with Previous | Blame | View Log
Codezero Buildsystem For This ContainerAutogenerated by the Build systemThis is an autogenerated file that is meant to walk you through the buildprocess. It is meant to be the most simple to get on with, therefore ifyou feel any complications, please reach us on our l4dev.org mailing liston %sYou have created a new container called `%s'.The parameters you have supplied are described in the "%s" fileplaced at the top-level directory. Note, that this is only an informativefile for your reference, and it can be optionally removed.1. Directory Structure:1.1) Directory tree:.|-- SConstruct|-- build.readme|-- .container|-- include| `-- linker.lds.example|-- main.c`-- src|-- test.cIn the above directory tree:1.2) |-- SConstructThis is the top-level build file, that will build your project in its currentstate. You may freely reorganize directories, but must reflect changes in thisfile. For more, please see the SCons build tool at http://www.scons.org/The build system will search for this file, and execute it by the:`scons'command at the root of the directory. You may issue the same command manuallyfor building and testing your build. If you choose to use another build toolsuch as make, you may freely replace scons, and the build system will searchand call your custom build command.1.3) |--include`--srcThese are the directories that include your header files and sources. You mayfreely change and reorganize these, but make sure to have a valid build filethat reflects those changes at the top-level directory.1.4) |-- include| `-- linker.lds.exampleThis is an example linker script for your project. Using this as your defaultlinker script is often useful, since it has been autogenerated to contain allthe parameters you need for the memory regions of your application defined atconfiguration time. You may freely replace it, but make sure to edit thetop-level build script accordingly.2. Build Process2.1) Build overviewThe complete Codezero system will be built from a top-level `%s' script bythat resides in the top-level directory of Codezero sources.The Codezero system build script will build this container at a certain stageduring the build, by referring to build script file named such as `SConstruct'or `Makefile' that resides in this container's top-level directory.Once the executables are built, it will search for all files with a .elfextension in any of the subdirectories, and recognize those as loadableexecutables. There may be more than one of these files present after the build.In the future this behaviour may change such that the loadable executable filesare also specified in the configuration.Finally, executables of all containers will be picked up and built into thefinal.elf file, which is a self-loading elf executable.3. Reconfiguring this containerIf you want to reconfigure the container with new parameters, you may do so byexecuting the `%s' script at the top-level Codezero directory by:'./%s'This will populate only brand new container directories with new files. It willupdate it's existing internal configuration for existing containers (such ascontainer memory regions) but it won't touch any files that exist under analready-defined container.If you want to start from scratch, specify a new directory name, if you wantto reconfigure existing container parameters, run this on an existing directory,and it will only update its internal records for this container, but not touchthe directory.4. Example source filesExample source files populated by the configuration contain valid examplesof how the generic libl4 userspace library can be used. Each test contains avalid example from the available API, and may be modified, changed and removedfreely.
