2016-11-06 02:34:40 +08:00
|
|
|
Title: Boot Time Measurement
|
|
|
|
|
|
|
|
Description:
|
|
|
|
|
|
|
|
BootTime measures the time:
|
|
|
|
a) from system reset to kernel start (crt0.s's __start)
|
|
|
|
b) from kernel start to begin of main()
|
|
|
|
c) from kernel start to begin of first task
|
2017-04-09 23:50:18 +08:00
|
|
|
d) from kernel start to when kernel's main task goes immediately idle
|
2016-11-06 02:34:40 +08:00
|
|
|
|
|
|
|
The project can be built using one of the following three configurations:
|
|
|
|
|
|
|
|
best
|
|
|
|
-------
|
|
|
|
- Disables most features
|
|
|
|
- Provides best case boot measurement
|
|
|
|
|
|
|
|
default
|
|
|
|
-------
|
|
|
|
- Default configuration options
|
|
|
|
- Provides typical boot measurement
|
|
|
|
|
|
|
|
worst
|
|
|
|
-------
|
|
|
|
- Enables most features.
|
|
|
|
- Provides worst case boot measurement
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Building and Running Project:
|
|
|
|
|
|
|
|
This benchmark outputs to the console. It can be built and executed
|
|
|
|
on QEMU as follows:
|
|
|
|
|
2017-04-09 23:50:18 +08:00
|
|
|
make run
|
2016-11-06 02:34:40 +08:00
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Troubleshooting:
|
|
|
|
|
|
|
|
Problems caused by out-dated project information can be addressed by
|
|
|
|
issuing one of the following commands then rebuilding the project:
|
|
|
|
|
|
|
|
make clean # discard results of previous builds
|
|
|
|
# but keep existing configuration info
|
|
|
|
or
|
|
|
|
make pristine # discard results of previous builds
|
|
|
|
# and restore pre-defined configuration info
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
Sample Output:
|
|
|
|
|
|
|
|
tc_start() - Boot Time Measurement
|
2017-04-09 23:50:18 +08:00
|
|
|
Boot Result: Clock Frequency: 25 MHz
|
|
|
|
__start : 88410717 cycles, 3536428 us
|
|
|
|
_start->main(): 2422894 cycles, 96915 us
|
|
|
|
_start->task : 2450930 cycles, 98037 us
|
|
|
|
_start->idle : 37503993 cycles, 1500159 us
|
2016-11-06 02:34:40 +08:00
|
|
|
Boot Time Measurement finished
|
|
|
|
===================================================================
|
2017-04-09 23:50:18 +08:00
|
|
|
PASS - main.
|
2016-11-06 02:34:40 +08:00
|
|
|
===================================================================
|
|
|
|
PROJECT EXECUTION SUCCESSFUL
|