This project is SBE repository for P, Odyssey & Z projects.
source public/src/tools/utils/sbe/sbe_complete
The SBE has a set of environment variables that could be customized as per
the user's needs. Refer at sample_customrc.
These configuration will be applied during workon.
The pointed customrc can be used in two different contexts.
i. The user-specific customization can be put in HOME/.sbe/customrc.
If the HOME/.sbe does not exist, please create it.
ii. The workspace-specific customization can be put in SBE_ROOT/customrc.
Replace the SBE_ROOT with the interested sbe workspace path.
iii. The workspace-specific customization customrc has higher priority than
the user-specific customization customrc to support different
customization between different sbe codes.
SBE workon command utilizes a Python virtual environment, with all Python
packages typically installed in SBE_ROOT/venv/ by default. Users have the
option to override this path before using workon either through customrc by
setting SBE_VENV_PATH or directly setting SBE_VENV_PATH.
Note: The customrc has higher priority than the projectrc so the project
specific customization will be overwritten based on the customrc.
./sbe workon <project> <imageType>
For example: ./sbe workon odyssey pnor
- To list out available
projectandimageType
./sbe --help
Refer at workon command usage.
Note:
- If
projectoption is not provided, it defaults toall. - If
imageTypeoption is not provided, it defaults toall.
In this case all images will be built for all supported platforms in the repo unless user manually over-rides using mesonwrap option's.
./sbe build
./sbe clean
Note:
- After build, all images are available in
imagesdirectory that will be created in sbe root directory during thebuild. - All .o, .s, .a etc are available in
builddirthat will be created in sbe root directory during thebuild.
- Please refer here to prepare odyssey image.
-
All options will take care to prepare the genesis NOR image to use in the simics.
-
The SBE supports different standalone simics model to validate so use the
SIMICS_MODELenvrionment varaible to switch the model for the validation as per needs.
- After building the SBE vanilla image run below command.
./sbe runsimics
- In simics console run this.
simics> poz-start-cbs 0
simics> run # This code will start exeuting code form reset vector.
# Put any breakpoint before this if required.
- After building the SBE vanilla image run below command.
./sbe runsimics till_boot # if 'till_boot' option used, simics will run-till sbe-ready state.
- A single command to do the build, prepare nor image, setup simics and runsimics.
./sbe execute [till_boot] # if 'till_boot' option used, simics will run-till sbe-ready state.
- Run below command at the simics console.
simics> poz-sbe-trace 0
- A single command to do the build, prepare nor image, setup simics, runsimics and run test cases.
./sbe citest