- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have an interesting problem. I have designed a NIOS system that I have implemented onto a custom boad. I have written a simple frimware program to check parts of the system. When I execute the firmware using the debug download of the IDE I get all the expected writes. However when I execute the firmware using the "run" download a lot of the writes are missed. I thought this may be related to some sort of configuration of the IDE. However when I downloaded my code to the EPCS and ran from there on a reset I got the same results !?
I found this bug both when writing to my Dual Port Ram (via a custom component) and also my Logic Interface (via a custom component)! Does anyone has any suggestion ?Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- originally posted by shmueld@May 16 2006, 05:10 PM i have an interesting problem. i have designed a nios system that i have implemented onto a custom boad. i have written a simple frimware program to check parts of the system. when i execute the firmware using the debug download of the ide i get all the expected writes. however when i execute the firmware using the "run" download a lot of the writes are missed. i thought this may be related to some sort of configuration of the ide. however when i downloaded my code to the epcs and ran from there on a reset i got the same results !?
i found this bug both when writing to my dual port ram (via a custom component) and also my logic interface (via a custom component)!
does anyone has any suggestion ?
<div align='right'><{post_snapback}> (index.php?act=findpost&pid=15408)
--- quote end ---
--- Quote End --- Try to use a NIOS without caches - if it then works you should check your hardware access commands (always use IO commands to access hardware and not C pointers).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try to use a NIOS without caches - if it then works you should check your hardware access commands (always use IO commands to access hardware and not C pointers).
<div align='right'><{post_snapback}> (index.php?act=findpost&pid=15424)</div> --- Quote End --- Dear stonie, Thanks for your reply. I am not a software guy, so could you please explain to me what you mean by : "always use IO commands to access hardware and not C pointers" and why this should make a difference when running the code on my custom hardware directly compared to debug mode (which doesn't work properly)?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Are you using -O2 or -O3 in the run configuration? there may be some optimizations done by the compiler that removes some "unuseful" writes to memory.... did you declared your data as "volatile"?
Paolo- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Another Interesting result:-
When I was carrying out single writes to my cusotmized NIOS logic Interface component, after every write I found that reads of every single address in the range of the interface was being done. With further investigation I found that these reads were even being done during the initialization of the pointers - (yes we are using pointers - I have requested from the software enginner to look into changing this and use "IO commands to access hardware " - although we are not yet sure what these are !) ! Does Anyone have any further suggestions ? Note I have also requested from the Software Engineer to try to bypass the cache - it is all done through the softeware right ?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- originally posted by shmueld@May 16 2006, 08:10 AM i have an interesting problem. i have designed a nios system that i have implemented onto a custom boad. i have written a simple frimware program to check parts of the system. when i execute the firmware using the debug download of the ide i get all the expected writes. however when i execute the firmware using the "run" download a lot of the writes are missed. i thought this may be related to some sort of configuration of the ide. however when i downloaded my code to the epcs and ran from there on a reset i got the same results !?
i found this bug both when writing to my dual port ram (via a custom component) and also my logic interface (via a custom component)!
does anyone has any suggestion ?
<div align='right'><{post_snapback}> (index.php?act=findpost&pid=15408)
--- quote end ---
--- Quote End --- Read through the Nios II Software User's Guide. All of your answers/options are clearly stated there. - slacker
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"IO commands" = IORD and IOWR

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page