-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Boot procedure bypass ROM FW copy to SRAM #16
Comments
You can do the same things with other examples. Image is copying under conditions in bootloader:
It means: not behaviour simulation AND run the first time after power-on. So I suppose you are running NOT behaviour simulation. |
Hi Sergey, Looks like we can modify void _init() {
///////////////////////////// PUT NEW PERIPHERAL CODE HERE //////////////// |
You can remove copy_image() method if your target (configuration parameter) CFG_MEMTECH = inferred OR /rtl/techmap/gencomp/gencomp.vhd is_fpga() returns 1. Otherwise you will have unpredicatable behaviour after jump to SRAM base address. I forget is there compressed instruction corresponding to zero value 0x0000 that CPU will try to execute or it will raise an exception "unknown instruction". |
Hi Sergey,
Thanks again for making this RISCV design open to design community.
I'm trying to add a new peripheral and add programming.
So I modified the ADDRESS MAP and logic to add this peripheral.
Is there a shortcut way to add my new code right after
"Registers initialization"
and before
"Copying ROM FW Image into internal SRAM"
"Go to SRAM entry point 0x10000000 in user mode"
"Initialization of the "Interrupt Registers" by proper handler"
"Initialization of the UART"
"Start main task"
?
The sample code also has GPIO writing to the LED.
How to make new code also work before or after GPIO writing to LED.
For simulation, the ROM FW Image copying into internal SRAM is consuming lots of
simulation time and doesn't make for quick and easy debug of my code and logic.
Any other recommendations ?
Thanks,
David
The text was updated successfully, but these errors were encountered: