Changeset d0c39838 in rtems
- Timestamp:
-
09/22/15 14:21:12
(9 years ago)
- Author:
- Sebastian Huber <sebastian.huber@…>
- Branches:
- 5, master
- Children:
- df55d07f
- Parents:
- d19d1c23
- git-author:
- Sebastian Huber <sebastian.huber@…> (09/22/15 14:21:12)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (12/11/15 07:17:16)
- Message:
-
Use linker set for system initialization
Make rtems_initialize_data_structures(),
rtems_initialize_before_drivers() and rtems_initialize_device_drivers()
static. Rename rtems_initialize_start_multitasking() to
rtems_initialize_executive() and call the registered system
initialization handlers in this function. Add system initialization API
available via #include <rtems/sysinit.h>. Update the documentation
accordingly.
This is no functional change, only the method to call the existing
initialization routines changes. Instead of direct function calls a
table of function pointers contained in the new RTEMS system
initialization linker set is used. This table looks like this (the
actual addresses depend on the target).
nm *.exe | grep _Linker | sort
0201a2d0 D _Linker_setSysinit_begin
0201a2d0 D _Linker_setSysinit_bsp_work_area_initialize
0201a2d4 D _Linker_setSysinit_bsp_start
0201a2d8 D _Linker_setSysinit_rtems_initialize_data_structures
0201a2dc D _Linker_setSysinit_bsp_libc_init
0201a2e0 D _Linker_setSysinit_rtems_initialize_before_drivers
0201a2e4 D _Linker_setSysinit_bsp_predriver_hook
0201a2e8 D _Linker_setSysinit_rtems_initialize_device_drivers
0201a2ec D _Linker_setSysinit_bsp_postdriver_hook
0201a2f0 D _Linker_setSysinit_end
Add test sptests/spsysinit01.
Update #2408.
-
(No files)
-