-
Notifications
You must be signed in to change notification settings - Fork 68
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
[Nexys4 DDR] Struggling to load into ICCM (address 0xEE000000) #46
Comments
Some notes: Running OpenOCD under debug confirms that upon sending the command to execute a write to the address of
|
HI @olofk, I was wondering if perhaps you're more familiar with the core and have any ideas? |
Hi @mablinov, are you explicitly building yor SweRVolf with ICCM enabled? The default build (see configs/swerv.config) is to build with ICCM disabled (i.e not present). Without an ICCM, the address provide will be steered towards the system bus - where here is probably no memory attached at this address - hence the bus error indication. |
Hi all,
I've been interested in running some tests on the SweRVolf, and have been succesfully programming it within the RAM region (0x00000000-0x07FFFFFF) and the DCCM region (0xF0040000-0xF004FFFF).
However, as I understand the EH1 core also has a memory region called "ICCM" for fast instruction access, at (0xEE000000-0xEE00FFFF).
The DCCM works quite well: Infact I've already got some figures for the memory bandwidth:
code in RAM, data in RAM: read @ 21.5MB/s, write @ 25MB/s
code in RAM, data in DCCM: read @ 136MB/s, write @ 136MB/s
(p.s. not sure why RAM is slower to read than to write, but anyway...)
What I'd like to do now is to put my code into ICCM - but I'm having issues loading it. Here is my gdb input:
And here are the OpenOCD errors that I see after issuing the
load
gdb command:If I try memory dumping the location, I get
and OpenOCD also spews out more errors at me:
The OpenOCD launch command is
openocd -f swervolf_nexys_debug.cfg
and theswervolf_nexys_debug.cfg
is the default one supplied with the repo (md5sum:af7ea2b7922e9b34f8e578c18bbccfbd
)openocd --version
report: (p.s. Ignore thebb96dc521
- that is my commit to fix the texinfo documentation build on my old ubuntu. the actual last meaningful commit is5215fc52a Fix flashing on HiFive1. (#649)
)Any ideas? I'm pretty sure there is an ICCM present, because if I look into the following file in the core build directory (
build/swervolf_0.7.4/nexys_a7-vivado/config/common_defines.vh
), I findSo it's definitely at 0xee000000, and it should be present, but I'm struggling to load into it. Should I be manually enabling the ICCM?
The text was updated successfully, but these errors were encountered: