| Commit message (Collapse) | Author | Files | Lines |
|
A speciality of the RTEMS build system was the make preinstall step. It
copied header files from arbitrary locations into the build tree. The
header files were included via the -Bsome/build/tree/path GCC command
line option.
This has at least seven problems:
* The make preinstall step itself needs time and disk space.
* Errors in header files show up in the build tree copy. This makes it
hard for editors to open the right file to fix the error.
* There is no clear relationship between source and build tree header
files. This makes an audit of the build process difficult.
* The visibility of all header files in the build tree makes it
difficult to enforce API barriers. For example it is discouraged to
use BSP-specifics in the cpukit.
* An introduction of a new build system is difficult.
* Include paths specified by the -B option are system headers. This
may suppress warnings.
* The parallel build had sporadic failures on some hosts.
This patch removes the make preinstall step. All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.
The new cpukit include directories are:
* cpukit/include
* cpukit/score/cpu/@RTEMS_CPU@/include
* cpukit/libnetworking
The new BSP include directories are:
* bsps/include
* bsps/@RTEMS_CPU@/include
* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include
There are build tree include directories for generated files.
The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.
The "bootstrap -p" option was removed. The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.
Update #3254.
|
|
Update #3254.
|
|
Since the <tm27.h> is highly BSP-dependent and used only by the tm27
test program we must provide this header file for each BSP. Without the
preinstall build target each header file must have a unique source
header file.
Update #3254.
|
|
This header file contained timing overhead values which are hard to
maintain.
Update #3254.
|
|
. added a README to pwm
. added select_pwmss() to select pwmss-generic registers, as opposed
to PWM-specific registers
. added pwmss_clock_en_status(), beagle_pwmss_is_running() and pwmss_tb_clock_check()
. other API improvements
. style improvements
|
|
GPIO Driver Development for BeagleBone Black based on the generic GPIO API
|
|
|
|
Specifically the beagleboard, beagleboard xM, beaglebone, beaglebone black.
More info on these targets: http://www.beagleboard.org/
This commit forms a basic BSP by combining Claas's work with
. new clock and irq code and definitions for
beagle targets (beagleboard and beaglebones), mostly
reused from the Minix codebase, thus making
irqs, ticks and non-polled console mode work too
. new timer code for ns timing with high timer resolution,
24MHz on the AM335X and 13MHz on the DM37XX
. select the console uart based on target at configure time
. removing all the lpc32xx-specific macros and code and
other unused code and definitions that the beagle bsp
was based on
. re-using some standard functions instead of lpc32xx versions
. fixed some whitespace problem in preinstall.am
. fixed some compile warnings
. configure MMU: set 1MB sections directly in the TTBR,
just to show the difference between cacheable RAM and
non-cacheable device memory and invalid ranges; this lets us
turn on caches and not rely on boot loader MMU configuration.
Verified to work when MMU is initially either on or off when
RTEMS gets control.
Thanks for testing, commentary, improvements and fixes to Chris Johns,
Brandon Matthews, Matt Carberry, Romain Bornet, AZ technology and others.
Signed-Off-By: Ben Gras <beng@shrike-systems.com>
|
|
Coding done in course of GSoC2012.
Commit edited to be brought up-to-date with mainline by
Ben Gras <beng@shrike-systems.com>.
|
|
Fix build error introduced in f535fe5311978af53635c2da8e5cb10ef9d78802.
|
|
With this patch the preinstall.am files are in a set order and not
dependent on now perl implements a hash.
|
|
Apparently, at some point automake output changed and these were
not updated.
|
|
requirements.
This patch enables to build all RTEMS tests for tms570ls3137_hdk_sdram
BSP variant in in default build. Debug build with --enable-rtems-debug set
has succeed for samples subset of tests as well.
|
|
Included variants:
tms570ls3137_hdk_intram - place code and data into internal SRAM
tms570ls3137_hdk_sdram - place code into external SDRAM and data to SRAM
tms570ls3137_hdk - variant prepared for stand-alone RTEMS aplication
stored and running directly from flash. Not working yet.
Chip initialization code not included in BSP.
External startup generated by TI's HalCoGen was used for
testing and debugging.
More information about TMS570 BSP can be found at
http://www.rtems.org/wiki/index.php/Tms570
Patch version 2
- most of the formatting suggestion applied.
- BSP converted to use clock shell
- console driver "set attributes" tested. Baudrate change working
Patch version 3
- more formatting changes.
- removed leftover defines and test functions
Todo:
refactor header files (name register fields)
|
|
Add support for LM3S3749.
|
|
|
|
|
|
|
|
* irq/irq_asm.S, irq/irq_init.c, irq/bsp_irq_asm.S,
irq/bsp_irq_init.c: Removed files.
* Makefile.am, preinstall.am: Reflect changes above. Added generic
interrupt support modules.
* irq/irq.h, irq/irq.c: The previous interrupt warning fix changed the
interrupt handler API. To fix this problem the generic interrupt
support framework will be used now. This eliminates a lot of copy and
paste code. The interrupt header file is now <bsp/irq.h>.
* include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION.
* start/start.S, startup/bspstart.c, clock/clockdrv.c,
console/console.c, timer/timer.c: Interrupt support changes.
|
|
* Makefile.am, preinstall.am: Use shared tm27.h stub.
* include/tm27.h: Removed.
|
|
* Makefile.am: Cleanup ../../shared/include/bootcard.h handling.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Makefile.am: Remove build-variant support.
|
|
|
|
* include/tm27.h: New.
* Makefile.am: Add tm27.h
|
|
* Makefile.am: Reflect changes to bsp.am.
Preinstall dist_project_lib*.
|
|
* Makefile.am: Reflect changes to bsp.am.
|
|
* Makefile.am: Add PREINSTALL_DIRS.
|
|
* Makefile.am: Misc cleanups and fixes.
|
|
* Makefile.am: Merge-in include/Makefile.am.
Reflect changes to bsp.am.
* include/Makefile.am: Remove.
* configure.ac: Reflect changes above.
|
|
* Makefile.am: Reflect having moved aclocal/.
|
|
Makefile.am: Reflect having moved automake.
include/Makefile.am: Reflect having moved automake.
|
|
* configure.ac:
AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
AM_INIT_AUTOMAKE([no-define foreign 1.6]).
* include/Makefile.am: Remove AUTOMAKE_OPTIONS.
* Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
|
|
* Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
|
|
* Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
Switch to GNU canonicalization.
|
|
|
|
that contains:
* cleanups to configuration files
* A reworked gccnewlib.spec.in: I have reformated it for enhanced
readability and added more rtems-base packages. It now should be free of
any installation conflicts (If there still remain some, they should be
regarded as bugs).
* A fix to the bin2boot RTEMS_BSP issue (make RTEMS_BSP="pc386 pc486"
now works).
* removes libbsp/bare/wrapup
* Further cleanups
|
|
which ontains all what was left over from the other patches (Primarily
minor configuration cleanups).
To apply:
patch -p1 < rtems-rc-19991203-9.diff
./bootstrap
|
|
which adds automake support to libbsp/bare.
|