C: XMMC And CFG Files
idbruce
Posts: 6,197
A while back, I started a thread about the use of the Propeller Memory Card, in combination with SimpleIDE (http://forums.parallax.com/showthread.php/160215-Propeller-Memory-Card-SimpleIDE-GCC), and this thread is related, but a bit more specific. Additionally, within in that thread, David Betz was kind enough to post a CFG file for the Propeller Memory Card.
I have reached a point in my project, where the flash memory functionality of the Propeller Memory Card has become an absolute necessity. As the title clearly states, I am shooting for the XMMC memory model.
Okay so now back to David's CFG file..... It is my understanding that I have to use the Propeller Loader of GCC to load this CFG file. Okay, I suppose I can live with that...... but what about the rest of my project...... Do I have to leave SimpleIDE behind and now use the Propeller Loader for the rest of my project?
I have reached a point in my project, where the flash memory functionality of the Propeller Memory Card has become an absolute necessity. As the title clearly states, I am shooting for the XMMC memory model.
Okay so now back to David's CFG file..... It is my understanding that I have to use the Propeller Loader of GCC to load this CFG file. Okay, I suppose I can live with that...... but what about the rest of my project...... Do I have to leave SimpleIDE behind and now use the Propeller Loader for the rest of my project?
Comments
Now that sounds cool enough. Thanks David, I will look into that.
If you use SimpleIDE, you will have a file named winbond.cfg on your computer. I am assuming that this configuration file is compatile with the Winbond W25Q32FV and that it is applicable to the Quad Peripheral Interface, and if not, then the Serial Peripheral Interface.
The contents of this file is as follows:
Considering that I am only interested in writing a configuration for the flash memory at this point, I believe I can alter the file to look like this:
I further believe that this configuration needs further alteration, in fact I am certain, but more specifically, the cache-param1 and cache-param2 values need to be altered. Just by looking at the associated comments for these values, I am making the following assumptions:
cache-param1 ss = IO0 on the Winbond chip
cache-param1 cc = CLK on the Winbond chip
cache-param1 pp = /CS on the Winbond chip
cache-param2 ce = (Your guess is as good as mine) on the Winbond chip
Does anyone have any idea what the heck "ce" is supposed to be????????
EDIT: At first I was thinking this was a pin value, but then I got to thinking what if I am wrong, so I began searching the data sheet and I found an instruction named chip erase and now I am assuming that is what "ce" is supposed to be and that value can remain unchanged, or so I think.
Now either that is the wrong driver or the values that I entered for the cfg file are incorrect.
Here are my pin values for the Winbond W25Q32FV flash memory chip: IO0 = 8, /CS = 13, CLK = 15.
And here is how they are entered, but I think it is wrong:
Is this the wrong driver? If so, David, could you please upload the required DAT files to go with that CFG file?
The lack of support on this product is really starting to upset me.
Well that explains a lot, however any info I found pertaining to cfg and dat files, you were there in the midst of the discussion. By the way, that was not intended to be a poke at you. I am more or less just disgusted that a driver does not already exist for this hardware.
This setup is on a Propeller Proto Board with the following pin assignments:
'Propeller Memory Card Pin Assignments
DI = 8 'IO0 / DI / MOSI / CD Pin
DO = 9 'IO1 / DO / MISO Pin
WP = 10 'IO2 / WP Pin
HOLD = 11 'IO3 / HOLD Pin
SD_CS = 12 'CS Pin For MicroSD Card Memory
FLASH_CS = 13 'CS Pin For Flash Memory
SRAM_CS = 14 'CS Pin For SRAM Memory
CLK = 15 'CLK Pin
Yes I am
***************************************************
How are the dat files made and what is in them? I cannot find any documentation on this subject.
If you are the most knowledgable person about XMM drivers, then perhaps this info may help you in the future.... http://openocd.org/doc/doxygen/html/spi_8c_source.html
Also, there were drivers released with the Propeller Memory Card but they were Spin drivers.
Thanks alot David, because I certainly need help with this issue.
I must admit that I am a tad confused. Is this what I want? Or is this same one that comes with SimpleIDE?
Or are you talking about the information that you gave me earlier? Which was:
And if so, just exactly where do I type this command?
If you want to checkout propgcc from google code you need the Mercurial version control system installed. I have no idea about that for windows but a proper machine you would then open up a command line window and type: Then change to the propgcc directory that creates and read the instruction found in there telling how to build it.
Of course propgcc is now migrating from Mercurial to git and from google to github. You might want to read the short thread about that on the front page here.
I'm sure David is a better person to talk about that than me.
Yes and that is another option. They do have something for Windows, but then I am unsure whether I have to install Python. It almost sounds endless.
It is beginning to seem like I am chasing after lost money and I have already wasted too much time on a product that should already be fully supported, since it is still up for sale at Parallax.com. In my opinion, this issue should be resolved quickly, but then again, I realize my opinion does not matter much.
Anyhow, what are the odds of you supplying me with the DAT file that you are using and it possibly working???
Okay, at that point, I would then assume that the development of my code would then be restricted to the build of the master branch. Is my assumption correct?
I have no idea about the intricacies of propgcc, but this also seems like another issue that should be resolved quickly. The use of drivers should be build independent, because there are bound to be numerous drivers down the road and requiring a new master build for each driver sounds like a major pain.
http://david.zemon.name/downloads/propgcc-win-32.zip
Sounds to me like a person would have to become fully entrenched in propgcc just to experiment with various types of memory and new memory chips, and memory support is limited to the chips that already have drivers. It would be nice if a person could just create the DAT and CFG files and test their new hardware.
Oh, sorry. I had my repo names confused. It's based off the old repo, which is now
https://github.com/parallaxinc/propgcc
Specifically, commit 3d1c062db245585d87875d4118e71b9a259374f4
Okay... Let me state it differently then....
Let's say that a person wanting to create a new hardware driver has to create it within a master branch build. At which point, they should be able to store both the CFG and DAT file within the C:\Program Files\SimpleIDE\propeller-gcc\propeller-load folder and test it using SimpleIDE.