REFACTOR: change bootaddr register address and PC reset vector address #1605
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Go along with PR in testchipip #196
The motivation is that the current organization of the bootrom code and the reset vector is rather confusing. One would normally assume that the reset vector is pointed toward the base of a memory section (e.g. 0x10000).
This could also benefit future bootrom code development.
The boot-up sequence of the SoC would now be:
PC resets at address
0x00010000
, and reads from the BootROM code. Within the BootROM code, the hart will read from BOOTSEL register, which is controlled by a external boot select pin, located at0x00001000
on the memory map, to determine the following boot sequence.Related PRs / Issues:
Type of change:
Impact:
Contributor Checklist:
main
as the base branch?changelog:<topic>
label?changelog:
label?.conda-lock.yml
file if you updated the conda requirements file?Please Backport
?