Shop OBEX P1 Docs P2 Docs Learn Events
Some questions regarding the Propeller memory card by Parallax - Page 2 — Parallax Forums

Some questions regarding the Propeller memory card by Parallax

24567

Comments

  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-07 12:54
    Hi David and Steve,

    I have changed the Prop pin to memory card mapping starting at pin 8 of the propeller. But that didn't change anything. The SD test example works in LMM model, the hello world example does not work in any
    XMM mode. I have tested it without sd card inserted into the sd card holder but my test also fails.

    To test if I will get error messages from the propeller loader when loading the hello world example to the propeller in xmm-split mode, I disconnected the 4 data wires one at a time.
    If I disconnect data 0 or data 1, the loader can't load the program to flash memory and brings up an error message. If I disconnect data 3 and/or data 4, no error message comes up.
    The loader tells me that everything worked well.

    So there could be an issue with the data 3 and data 4 pins of the memory card which I can't test because the loader "ignores" errors even if these are disconnected so I can't verify that
    data communication on all 4 ports is working.

    I want to say a big thanks to both of you for being patient and helping me out!!!
    I think I will get in contact with parallax asking if they are willing to give me a replacement.

    Do you know a contact person at parallax who is responsible for replacing products?


    Cheers,
    Christian
    I have a cache test program you could try running. It bypasses the cache logic and just tries to read/write blocks of flash and/or SRAM. This should verify that all of the data lines are working. Otherwise, you're right. There is no error checking in the driver so having data 2 or 3 disconnected won't be noticed except that the data read/written will be wrong. You can't disconnect data 0 or data 1 because they are used by the SPI protocol. If you'd like to try the cache test program let me know and I'll post it along with instructions on how to use it.
  • trancefreaktrancefreak Posts: 186
    edited 2013-10-07 13:27
    Hi David,

    Yes, please could you post it with some how to notes? I would really like to find out what is causing the problems because I want to use the card in my pinball project ;)

    Thanks,
    Christian
  • jazzedjazzed Posts: 11,803
    edited 2013-10-07 13:27
    I want to say a big thanks to both of you for being patient and helping me out!!!
    I think I will get in contact with parallax asking if they are willing to give me a replacement.

    Don't call for a replacement.

    I do not believe this is hardware problem.

    Once David has a driver that initializes the SDIO mode, we can verify.
    If it turns out to be a hardware problem, I'm sure Parallax will replace it.

    Thanks,
    --Steve
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-07 13:37
    jazzed wrote: »
    Don't call for a replacement.

    I do not believe this is hardware problem.

    Once David has a driver that initializes the SDIO mode, we can verify.
    If it turns out to be a hardware problem, I'm sure Parallax will replace it.

    Thanks,
    --Steve
    But he says he has this problem even with no SD card inserted.
  • trancefreaktrancefreak Posts: 186
    edited 2013-10-07 13:39
    Yes, it is not working even with no sd card inserted.
    But I'll first try the test program from David before I'm going to contact Parallax.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-07 14:01
    Yes, it is not working even with no sd card inserted.
    But I'll first try the test program from David before I'm going to contact Parallax.
    This isn't a very through test program but it should verify the basic functioning of the PMC. Here is the output that should be generated. This assumes the PMC is connected to P0-P7.
    $ propeller-load cachetest.elf -r -t
    Propeller Version 1 on /dev/cu.usbserial-A601FCST
    Loading cachetest.elf to hub memory
    11984 bytes sent                  
    Verifying RAM ... OK
    [ Entering terminal mode. Type ESC or Control-C to exit. ]
    mbox  00002ed0
    cache 00002edc
    buf   000050dc
    Flash test
    Starting with 00003961
    buf[0] = 00003961
    buf[1] = 00003962
    buf[2] = 00003963
    buf[3] = 00003964
    buf[4] = 00003965
    buf[5] = 00003966
    buf[6] = 00003967
    buf[7] = 00003968
    buf[8] = 00003969
    buf[9] = 0000396a
    buf[10] = 0000396b
    buf[11] = 0000396c
    buf[12] = 0000396d
    buf[13] = 0000396e
    buf[14] = 0000396f
    buf[15] = 00003970
    buf[16] = 00000000
    buf[17] = 00000000
    buf[18] = 00000000
    buf[19] = 00000000
    buf[20] = 00000000
    buf[21] = 00000000
    buf[22] = 00000000
    buf[23] = 00000000
    buf[24] = 00000000
    buf[25] = 00000000
    buf[26] = 00000000
    buf[27] = 00000000
    buf[28] = 00000000
    buf[29] = 00000000
    buf[30] = 00000000
    buf[31] = 00000000
    done
    Big RAM test
    Filling RAM
    Writing 20000000
    Writing 20000080
    Writing 20000100
    Writing 20000180
    Writing 20000200
    Writing 20000280
    Writing 20000300
    Writing 20000380
    Checking RAM
    Reading 20000000
    Reading 20000080
    Reading 20000100
    Reading 20000180
    Reading 20000200
    Reading 20000280
    Reading 20000300
    Reading 20000380
    done
    

    cachetest.zip
  • jazzedjazzed Posts: 11,803
    edited 2013-10-07 14:12
    I see. Having seen different results is confusing though.

    Maybe try the Parallax test without the SD Card.

    The Parallax Flash/SRAM SPIN test program is here:
    http://www.parallax.com/downloads/propeller-memory-card-demo-code

    Rewire your connections to match the demo. Wiring errors or possibly bad wires is always a possibility.

    Also, use shorter red/black power and ground wires if possible.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-07 14:16
    jazzed wrote: »
    I see. Having seen different results is confusing though.

    Maybe try the Parallax test without the SD Card.

    The Parallax Flash/SRAM SPIN test program is here:
    http://www.parallax.com/downloads/propeller-memory-card-demo-code

    Rewire your connections to match the demo. Wiring errors or possibly bad wires is always a possibility.

    Also, use shorter red/black power and ground wires if possible.
    Christian: I forgot the Parallax test program. Does that work on your board?
  • trancefreaktrancefreak Posts: 186
    edited 2013-10-07 14:36
    jazzed wrote: »
    Rewire your connections to match the demo. Wiring errors or possibly bad wires is always a possibility.

    Also, use shorter red/black power and ground wires if possible.

    That was one of my first thoughts. I changed the cables several times and carefully checked the pin to memory card mappings.
    Always get the same results: Not working (except SD access).

    @David:
    I executed the test program you attached to your post. I get the following output:
    C:\Users\Christian\Documents\SimpleIDE\MemoryCardTest>"C:\Program Files (x86)\Si
    mpleIDE\propeller-gcc\bin\propeller-load.exe" cachetest.elf -r -t
    Propeller Version 1 on COM3
    Loading cachetest.elf to hub memory
    11984 bytes sent
    Verifying RAM ... OK
    [ Entering terminal mode. Type ESC or Control-C to exit. ]
    mbox  00002ed0
    cache 00002edc
    buf   000050dc
    Flash test
    Starting with 000043be
    buf[0] = 000043be
    buf[1] = 000043bf
    buf[2] = 000043c0
    buf[3] = 000043c1
    buf[4] = 000043c2
    buf[5] = 000043c3
    buf[6] = 000043c4
    buf[7] = 000043c5
    buf[8] = 000043c6
    buf[9] = 000043c7
    buf[10] = 000043c8
    buf[11] = 000043c9
    buf[12] = 000043ca
    buf[13] = 000043cb
    buf[14] = 000043cc
    buf[15] = 000043cd
    buf[16] = 00000000
    buf[17] = 00000000
    buf[18] = 00000000
    buf[19] = 00000000
    buf[20] = 00000000
    buf[21] = 00000000
    buf[22] = 00000000
    buf[23] = 00000000
    buf[24] = 00000000
    buf[25] = 00000000
    buf[26] = 00000000
    buf[27] = 00000000
    buf[28] = 00000000
    buf[29] = 00000000
    buf[30] = 00000000
    buf[31] = 00000000
    done
    Big RAM test
    Filling RAM
    Writing 20000000
    Writing 20000080
    Writing 20000100
    Writing 20000180
    Writing 20000200
    Writing 20000280
    Writing 20000300
    Writing 20000380
    Checking RAM
    Reading 20000000
    Reading 20000080
    200000e0: expected 200000e0, found 9f733932
    200000e4: expected 200000e4, found bf477cfb
    200000e8: expected 200000e8, found 628a97fb
    200000ec: expected 200000ec, found 97c23efe
    200000f0: expected 200000f0, found f8b82b18
    200000f4: expected 200000f4, found 0bdff44f
    200000f8: expected 200000f8, found f9724c4e
    200000fc: expected 200000fc, found 6f8db157
    Reading 20000100
    Reading 20000180
    200001e0: expected 200001e0, found 7baaa5a4
    200001e4: expected 200001e4, found 9deb1689
    200001e8: expected 200001e8, found 65d8fe7b
    200001ec: expected 200001ec, found ead7a0fe
    200001f0: expected 200001f0, found 4afe96fd
    200001f4: expected 200001f4, found 5bebb3a5
    200001f8: expected 200001f8, found f69f663c
    200001fc: expected 200001fc, found ddbfc8d3
    Reading 20000200
    Reading 20000280
    200002e0: expected 200002e0, found 46bf39b6
    200002e4: expected 200002e4, found 379d83fd
    200002e8: expected 200002e8, found e289839d
    200002ec: expected 200002ec, found bad73463
    200002f0: expected 200002f0, found 3c2ec50b
    200002f4: expected 200002f4, found c9ecd975
    200002f8: expected 200002f8, found 1595ae7f
    200002fc: expected 200002fc, found ffd9eaf7
    Reading 20000300
    Reading 20000380
    200003e0: expected 200003e0, found 796df5b5
    200003e4: expected 200003e4, found d154fcbe
    200003e8: expected 200003e8, found 1d6dd9f7
    200003ec: expected 200003ec, found f18add6a
    200003f0: expected 200003f0, found 37bf3872
    200003f4: expected 200003f4, found fb3ef9da
    200003f8: expected 200003f8, found 142f4c3d
    200003fc: expected 200003fc, found beaa9cff
    done
    

    I don't know if flash ram gets verified after writing but there are no errors. But when checking RAM there are many errors.
    Does that indicate a defect SRAM module or something in that direction?

    Oh, ok I'll also use the Parallax spin test and post the output in a few minutes.
  • trancefreaktrancefreak Posts: 186
    edited 2013-10-07 14:53
    Here is the output of the spin test program:
    Initializing SRAM and mounting flash memory:
    
    
    Flash memory has 0 blocks.
    
    
    First 64 bytes of flash memory:
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    
    
    Write "Hello World!" to flash memory? [y/N]
    
    
    Writing "Hello World!" to flash memory.
    
    
    First 64 bytes of flash memory:
    48 65 6C 6C 6F 20 57 6F 72 6C 64 21 00 FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    
    
    First 64 bytes of SRAM:
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    
    
    Write "Hello World!" to SRAM? [y/N]
    
    
    Randomizing first 64 bytes of SRAM:
    Writing "Hello World!" to SRAM.
    
    
    First 64 bytes of SRAM:
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
    
    
    Demonstration complete.
    

    Writing Hello World! to Flash seems to be working. But writing to RAM not. After writing Hello World! to SRAM the first 64 bytes are still empty?
    Looks like writing to SRAM does not work?
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-07 14:56
    I don't know if flash ram gets verified after writing but there are no errors. But when checking RAM there are many errors.
    Does that indicate a defect SRAM module or something in that direction?
    The flash doesn't get verified. It's just that I write sequential numbers starting at the one on the "Starting with" line. It looks like your data is correct. I never had too much trouble with flash so I just wrote a simple test. I can expand the test program if you think that's necessary. However, flash seems to be working on your board which suggests to me that xmmc mode ought to work. Have you tried it?
    Oh, ok I'll also use the Parallax spin test and post the output in a few minutes.
    Yes, it will be interesting to see the results of running that test.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-07 14:57
    Write "Hello World!" to SRAM? [y/N]


    Randomizing first 64 bytes of SRAM:
    Writing "Hello World!" to SRAM.


    First 64 bytes of SRAM:
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
    FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF


    Demonstration complete.
    [/code]

    Writing Hello World! to Flash seems to be working. But writing to RAM not. After writing Hello World! to SRAM the first 64 bytes are still empty?
    Looks like writing to SRAM does not work?
    Looks like that to me too. That's odd because I imagine Parallax runs this test before shipping the boards. I guess it's pointless to ask if you're sure that the SRAM CS line is connected properly. You've checked those connections a zillion times already, right?
  • trancefreaktrancefreak Posts: 186
    edited 2013-10-07 15:10
    Just checked the connections but SRAM CS is definitely connected to Pin 6 on the Propeller. The other wires are also correct (Writing to Flash works according to the spin test).
    I tried to run the hello world c example in XMMC mode but that's not working. I do not get any output in the terminal window.

    It's really strange.

    The spin test also outputs that I have 0 Flash blocks. Does that mean anything weird or is that ok and the chip just doesn't send the correct block count?
  • David CarrierDavid Carrier Posts: 294
    edited 2013-10-07 16:39
    There is a bug in the Spin example that causes it to list the number of blocks as '0'. It doesn't display the number of blocks until at has successfully communicated with the flash memory, so that '0' does mean that it works.

    — David Carrier
    Parallax Inc.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-07 19:06
    There is a bug in the Spin example that causes it to list the number of blocks as '0'. It doesn't display the number of blocks until at has successfully communicated with the flash memory, so that '0' does mean that it works.

    — David Carrier
    Parallax Inc.
    Thanks David but what about his SRAM results. Do they indicate a problem with the board?
  • trancefreaktrancefreak Posts: 186
    edited 2013-10-07 23:59
    @David Carrier: Do you have any ideas what I else could do or test to find out if the board has an issue or not? Currently it looks like I can't use it because the results indicate a problem.

    Any help would be really appreciated.

    Thanks,
    Christian
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-08 04:30
    David Betz wrote: »
    This isn't a very through test program but it should verify the basic functioning of the PMC. Here is the output that should be generated. This assumes the PMC is connected to P0-P7.
    $ propeller-load cachetest.elf -r -t
    Propeller Version 1 on /dev/cu.usbserial-A601FCST
    Loading cachetest.elf to hub memory
    11984 bytes sent                  
    Verifying RAM ... OK
    [ Entering terminal mode. Type ESC or Control-C to exit. ]
    mbox  00002ed0
    cache 00002edc
    buf   000050dc
    Flash test
    Starting with 00003961
    buf[0] = 00003961
    buf[1] = 00003962
    buf[2] = 00003963
    buf[3] = 00003964
    buf[4] = 00003965
    buf[5] = 00003966
    buf[6] = 00003967
    buf[7] = 00003968
    buf[8] = 00003969
    buf[9] = 0000396a
    buf[10] = 0000396b
    buf[11] = 0000396c
    buf[12] = 0000396d
    buf[13] = 0000396e
    buf[14] = 0000396f
    buf[15] = 00003970
    buf[16] = 00000000
    buf[17] = 00000000
    buf[18] = 00000000
    buf[19] = 00000000
    buf[20] = 00000000
    buf[21] = 00000000
    buf[22] = 00000000
    buf[23] = 00000000
    buf[24] = 00000000
    buf[25] = 00000000
    buf[26] = 00000000
    buf[27] = 00000000
    buf[28] = 00000000
    buf[29] = 00000000
    buf[30] = 00000000
    buf[31] = 00000000
    done
    Big RAM test
    Filling RAM
    Writing 20000000
    Writing 20000080
    Writing 20000100
    Writing 20000180
    Writing 20000200
    Writing 20000280
    Writing 20000300
    Writing 20000380
    Checking RAM
    Reading 20000000
    Reading 20000080
    Reading 20000100
    Reading 20000180
    Reading 20000200
    Reading 20000280
    Reading 20000300
    Reading 20000380
    done
    

    cachetest.zip

    Darn! I just realized that this test isn't working correctly on my board either. If you look at the code it fills 32 longs with incrementing values, writes them to the first block of flash, then reads them back. However, only the first 16 are correct. I'm going to have to track down this problem. Please don't ask Parallax for a replacement board until I figure out what is going wrong with my test program. However, as I said earlier, this driver does seem to work with the hello example you were trying in the first place so it seems like this may actually be a test program bug rather than a cache driver bug. Give me a bit of time to figure this out. Sorry!!!
  • trancefreaktrancefreak Posts: 186
    edited 2013-10-08 04:59
    Hi David,

    No worries!! I will do the test again if you have found the issue. But I also had a problem with the spin test and SRAM while your test on your side worked with SRAM.

    Regards,
    Christian
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-08 05:41
    Hi David,

    No worries!! I will do the test again if you have found the issue. But I also had a problem with the spin test and SRAM while your test on your side worked with SRAM.

    Regards,
    Christian
    Yes, I know about the problem you had with the Spin test. I'm hoping David Carrier will comment on that one.
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-08 05:57
    Okay, I found the bug. It was actually in the cache driver but I don't think it would have caused a problem with using it for running C code. It only caused a problem for the test program. In any case, here is a new copy of cachetest with a better flash test as well as a less verbose SRAM test. You should expect the following output:
    $ propeller-load cachetest.elf -r -t
    Propeller Version 1 on /dev/cu.usbserial-A601FCST
    Loading cachetest.elf to hub memory
    13016 bytes sent                  
    Verifying RAM ... OK
    [ Entering terminal mode. Type ESC or Control-C to exit. ]
    mbox  00003588
    cache 00003594
    buf   00005794
    Big flash test
    Start value 30000a48
    Filling flash
    Checking flash
    Filling flash inverted
    Checking flash inverted
    done
    Big RAM test
    Filling RAM
    Start value 20004981
    Checking RAM
    Filling RAM inverted
    Checking RAM inverted
    done
    cache test
    done
    

    cachetest.zip

    Edit: updated the attachment with a test that provides better coverage.
    Edit2: I've run this test successfully on a QuickStart+HIB+PMC as well as a DemoBoard+PMC.
  • trancefreaktrancefreak Posts: 186
    edited 2013-10-08 06:40
    I'm at work currently. I'll execute the test as soon as I'm at home. :)
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-08 06:48
    I'm at work currently. I'll execute the test as soon as I'm at home. :)
    No problem. Since you won't be running the test right away, I'll replace the attachment with a slightly newer test that should give better coverage and also enables the cache test itself. The other tests are just for flash and SRAM block I/O.
  • trancefreaktrancefreak Posts: 186
    edited 2013-10-08 10:59
    I executed the cache test. Got lots of errors so I had to shrink the output because the complete output didn't fit into the windows command window buffer.
    Here is the result. Looks like Flash and SRAM are failing:
    C:\Users\Christian\Documents\SimpleIDE\MemoryCardTest>propeller-load cachetest.e
    lf -r -t
    Propeller Version 1 on COM3
    Loading cachetest.elf to hub memory
    13704 bytes sent
    Verifying RAM ... OK
    [ Entering terminal mode. Type ESC or Control-C to exit. ]
    mbox  00003588
    cache 00003594
    buf   00005794
    Big flash test
    Start value 300061f3
    Filling flash
    Checking flash
    30000000: expected 300061f3, found 0f031036
    30000004: expected 300061f4, found 0f031046
    30000008: expected 300061f5, found 0f031056
    3000000c: expected 300061f6, found 0f031066
    30000010: expected 300061f7, found 0f031076
    30000014: expected 300061f8, found 0f031086
    30000018: expected 300061f9, found 0f031096
    3000001c: expected 300061fa, found 0f0310a6
    30000020: expected 300061fb, found 0f0310b6
    30000024: expected 300061fc, found 0f0310c6
    30000028: expected 300061fd, found 0f0310d6
    3000002c: expected 300061fe, found 0f0310e6
    30000030: expected 300061ff, found 000310f6
    30000034: expected 30006200, found 00032006
    30000038: expected 30006201, found 00032016
    3000003c: expected 30006202, found 00032026
    30000040: expected 30006203, found 00032036
    30000044: expected 30006204, found 00032046
    30000048: expected 30006205, found 00032056
    3000004c: expected 30006206, found 00032066
    30000050: expected 30006207, found 00032076
    30000054: expected 30006208, found 00032086
    30000058: expected 30006209, found 00032096
    3000005c: expected 3000620a, found 000320a6
    30000060: expected 3000620b, found 000320b6
    30000064: expected 3000620c, found 000320c6
    30000068: expected 3000620d, found 000320d6
    3000006c: expected 3000620e, found 000320e6
    30000070: expected 3000620f, found 010320f6
    30000074: expected 30006210, found 01032006
    30000078: expected 30006211, found 01032016
    3000007c: expected 30006212, found 01032026
    30000400: expected 300062f3, found 0f032036
    30000404: expected 300062f4, found 0f032046
    30000408: expected 300062f5, found 0f032056
    3000040c: expected 300062f6, found 0f032066
    30000410: expected 300062f7, found 0f032076
    30000414: expected 300062f8, found 0f032086
    30000418: expected 300062f9, found 0f032096
    3000041c: expected 300062fa, found 0f0320a6
    30000420: expected 300062fb, found 0f0320b6
    30000424: expected 300062fc, found 0f0320c6
    30000428: expected 300062fd, found 0f0320d6
    3000042c: expected 300062fe, found 0f0320e6
    30000430: expected 300062ff, found 000320f6
    30000434: expected 30006300, found 00033006
    30000438: expected 30006301, found 00033016
    3000043c: expected 30006302, found 00033026
    30000440: expected 30006303, found 00033036
    30000444: expected 30006304, found 00033046
    30000448: expected 30006305, found 00033056
    3000044c: expected 30006306, found 00033066
    30000450: expected 30006307, found 00033076
    30000454: expected 30006308, found 00033086
    30000458: expected 30006309, found 00033096
    3000045c: expected 3000630a, found 000330a6
    30000460: expected 3000630b, found 000330b6
    30000464: expected 3000630c, found 000330c6
    30000468: expected 3000630d, found 000330d6
    3000046c: expected 3000630e, found 000330e6
    30000470: expected 3000630f, found 010330f6
    30000474: expected 30006310, found 01033006
    30000478: expected 30006311, found 01033016
    3000047c: expected 30006312, found 01033026
    30000800: expected 300063f3, found 0f033036
    30000804: expected 300063f4, found 0f033046
    30000808: expected 300063f5, found 0f033056
    3000080c: expected 300063f6, found 0f033066
    30000810: expected 300063f7, found 0f033076
    30000814: expected 300063f8, found 0f033086
    30000818: expected 300063f9, found 0f033096
    3000081c: expected 300063fa, found 0f0330a6
    30000820: expected 300063fb, found 0f0330b6
    30000824: expected 300063fc, found 0f0330c6
    30000828: expected 300063fd, found 0f0330d6
    3000082c: expected 300063fe, found 0f0330e6
    30000830: expected 300063ff, found 000330f6
    30000834: expected 30006400, found 00034006
    30000838: expected 30006401, found 00034016
    3000083c: expected 30006402, found 00034026
    30000840: expected 30006403, found 00034036
    30000844: expected 30006404, found 00034046
    30000848: expected 30006405, found 00034056
    3000084c: expected 30006406, found 00034066
    30000850: expected 30006407, found 00034076
    30000854: expected 30006408, found 00034086
    30000858: expected 30006409, found 00034096
    3000085c: expected 3000640a, found 000340a6
    30000860: expected 3000640b, found 000340b6
    30000864: expected 3000640c, found 000340c6
    30000868: expected 3000640d, found 000340d6
    3000086c: expected 3000640e, found 000340e6
    30000870: expected 3000640f, found 010340f6
    30000874: expected 30006410, found 01034006
    30000878: expected 30006411, found 01034016
    3000087c: expected 30006412, found 01034026
    30000c00: expected 300064f3, found 0f034036
    30000c04: expected 300064f4, found 0f034046
    30000c08: expected 300064f5, found 0f034056
    30000c0c: expected 300064f6, found 0f034066
    30000c10: expected 300064f7, found 0f034076
    30000c14: expected 300064f8, found 0f034086
    30000c18: expected 300064f9, found 0f034096
    30000c1c: expected 300064fa, found 0f0340a6
    30000c20: expected 300064fb, found 0f0340b6
    30000c24: expected 300064fc, found 0f0340c6
    30000c28: expected 300064fd, found 0f0340d6
    30000c2c: expected 300064fe, found 0f0340e6
    30000c30: expected 300064ff, found 000340f6
    30000c34: expected 30006500, found 00035006
    30000c38: expected 30006501, found 00035016
    30000c3c: expected 30006502, found 00035026
    30000c40: expected 30006503, found 00035036
    30000c44: expected 30006504, found 00035046
    30000c48: expected 30006505, found 00035056
    30000c4c: expected 30006506, found 00035066
    30000c50: expected 30006507, found 00035076
    30000c54: expected 30006508, found 00035086
    30000c58: expected 30006509, found 00035096
    30000c5c: expected 3000650a, found 000350a6
    30000c60: expected 3000650b, found 000350b6
    30000c64: expected 3000650c, found 000350c6
    30000c68: expected 3000650d, found 000350d6
    30000c6c: expected 3000650e, found 000350e6
    30000c70: expected 3000650f, found 010350f6
    30000c74: expected 30006510, found 01035006
    30000c78: expected 30006511, found 01035016
    30000c7c: expected 30006512, found 01035026
    30001000: expected 300065f3, found 0f035036
    30001004: expected 300065f4, found 0f035046
    30001008: expected 300065f5, found 0f035056
    3000100c: expected 300065f6, found 0f035066
    30001010: expected 300065f7, found 0f035076
    30001014: expected 300065f8, found 0f035086
    30001018: expected 300065f9, found 0f035096
    3000101c: expected 300065fa, found 0f0350a6
    30001020: expected 300065fb, found 0f0350b6
    30001024: expected 300065fc, found 0f0350c6
    30001028: expected 300065fd, found 0f0350d6
    3000102c: expected 300065fe, found 0f0350e6
    ................................
    ................................
    30007d60: expected 30003e0f, found 0103e0f3
    30007d64: expected 30003e10, found 0103e003
    30007d68: expected 30003e11, found 0103e013
    30007d6c: expected 30003e12, found 0103e023
    30007d70: expected 30003e13, found 0103e033
    30007d74: expected 30003e14, found 0103e043
    30007d78: expected 30003e15, found 0103e053
    30007d7c: expected 30003e16, found 0103e063
    Filling flash inverted
    Checking flash inverted
    done
    Big RAM test
    Filling RAM
    Start value 2000673a
    Checking RAM
    2000000c: expected 2000673d, found 2000203d
    20000010: expected 2000673e, found 20002067
    20000014: expected 2000673f, found 20002068
    20000018: expected 20006740, found 20002069
    2000001c: expected 20006741, found 2000206a
    20000020: expected 20006742, found 003ee720
    20000024: expected 20006743, found 003ee820
    20000028: expected 20006744, found 003ee920
    2000002c: expected 20006745, found 003eea20
    20000030: expected 20006746, found 003eeb20
    20000034: expected 20006747, found 003eec20
    20000038: expected 20006748, found ed3fed20
    2000003c: expected 20006749, found dd8e9f55
    20000040: expected 2000674a, found bf7216df
    20000044: expected 2000674b, found 663fb2df
    20000048: expected 2000674c, found 70b712fd
    2000004c: expected 2000674d, found b3fdb9bc
    20000050: expected 2000674e, found 6ff6ff8d
    20000054: expected 2000674f, found ac5d2ada
    20000058: expected 20006750, found adff5bdb
    2000005c: expected 20006751, found d7b2d47f
    20000060: expected 20006752, found cd62f73e
    20000064: expected 20006753, found 3bb81883
    20000068: expected 20006754, found bebd6f8f
    2000006c: expected 20006755, found f47f0fa9
    ........................................................
    ........................................................
    20007f7c: expected 00007f7c, found ffffffff
    20007f80: expected 00007f80, found ffee0000
    20007f84: expected 00007f84, found ffffffff
    20007f88: expected 00007f88, found ffffffff
    20007f8c: expected 00007f8c, found ffffffff
    20007f90: expected 00007f90, found ffffffff
    20007f94: expected 00007f94, found ffffffff
    20007f98: expected 00007f98, found ffffffff
    20007f9c: expected 00007f9c, found ffffffff
    20007fa0: expected 00007fa0, found ffffffff
    20007fa4: expected 00007fa4, found ffffffff
    20007fa8: expected 00007fa8, found ffffffff
    20007fac: expected 00007fac, found ffffffff
    20007fb0: expected 00007fb0, found ffffffff
    20007fb4: expected 00007fb4, found ffffffff
    20007fb8: expected 00007fb8, found ffffffff
    20007fbc: expected 00007fbc, found ffffffff
    20007fc0: expected 00007fc0, found ffee0000
    20007fc4: expected 00007fc4, found ffffffff
    20007fc8: expected 00007fc8, found ffffffff
    20007fcc: expected 00007fcc, found ffffffff
    20007fd0: expected 00007fd0, found ffffffff
    20007fd4: expected 00007fd4, found ffffffff
    20007fd8: expected 00007fd8, found ffffffff
    20007fdc: expected 00007fdc, found ffffffff
    20007fe0: expected 00007fe0, found ffffffff
    20007fe4: expected 00007fe4, found ffffffff
    20007fe8: expected 00007fe8, found ffffffff
    20007fec: expected 00007fec, found ffffffff
    20007ff0: expected 00007ff0, found ffffffff
    20007ff4: expected 00007ff4, found ffffffff
    20007ff8: expected 00007ff8, found ffffffff
    20007ffc: expected 00007ffc, found ffffffff
    done
    

    What do you think about that output? Is it possible that a defect card produce such an output?
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-08 11:06
    What do you think about that output? Is it possible that a defect card produce such an output?
    It certainly doesn't look good. I suppose it could be some timing problem in my driver that causes problems for some PMC boards but not others. How do you have your board wired up? Maybe I can try to duplicate your exact setup. In other words, what board are you using and how do you have the PMC connected? Wire length, etc?
  • jazzedjazzed Posts: 11,803
    edited 2013-10-08 11:19
    Hi.

    Can you take a picture of the front-side of the board that clearly shows the chip numbers and post it here?

    Thanks.
  • David CarrierDavid Carrier Posts: 294
    edited 2013-10-08 11:19
    Regarding the Spin test, it looks like the Flash is working as well as all of the data pins, but there is some sort of SRAM specific issue or chip-select issue. Try swapping out the I/O pins for flash and SRAM CS with a new set of I/O pins, e.g. 8 and 9 instead of 5 and 6. Also there should be internal 100 k ohm pull-up resistors on all of the CS pins. Unplug the card and check it with an ohmmeter to make sure those connections are good.

    We test all of the connections before shipping the memory card, and it is simple enough that we have never had one fail in production. (We did simulate failures on prototypes to test the test code.) You should also be able to see any soldering issues. The SRAM is the smaller chip near the bottom edge of the PCB, and the pull-up resistors are in the rightmost resistor network of the two immediately below the microSD card socket.
  • trancefreaktrancefreak Posts: 186
    edited 2013-10-08 11:34
    Hi David,

    I have to watch my little daughter. She is a bit sick the last days. When she is in bed I'll provide you the asked information ;)

    Thx,
    Christian
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-08 11:36
    Hi David,

    I have to watch my little daughter. She is a bit sick the last days. When she is in bed I'll provide you the asked information ;)

    Thx,
    Christian
    Sorry to hear your daughter is ill. Of course you should watch her! I hope she recovers quickly.
  • dgatelydgately Posts: 1,630
    edited 2013-10-08 12:00
    David Betz wrote: »
    It certainly doesn't look good. I suppose it could be some timing problem in my driver that causes problems for some PMC boards but not others. How do you have your board wired up? Maybe I can try to duplicate your exact setup. In other words, what board are you using and how do you have the PMC connected? Wire length, etc?

    David, trancefreak,

    I'm getting basically the same result as trancefreak on my QS + HIB + PMC... I've attached an image that shows the PMC's chips for identification purposes.
    propeller-load -p /dev/cu.usbserial-A1013PDN cachetest.elf -r -t -S
    Propeller Version 1 on /dev/cu.usbserial-A1013PDN
    Loading cachetest.elf to hub memory
    13704 bytes sent                  
    Verifying RAM ... OK
    [ Entering terminal mode. Type ESC or Control-C to exit. ]
    mbox  00003588
    cache 00003594
    buf   00005794
    Big flash test
    Start value 30002223
    Filling flash
    Checking flash
    Filling flash inverted
    Checking flash inverted
    done
    Big RAM test
    Filling RAM
    Start value 20000c4c
    Checking RAM
    2000000c: expected 20000c4f, found 96000c4f
    20000010: expected 20000c50, found e79fb7ef
    20000014: expected 20000c51, found dfbeded7
    20000018: expected 20000c52, found 7ff95aed
    2000001c: expected 20000c53, found defd1bf7
    20000020: expected 20000c54, found 9d612298
    20000024: expected 20000c55, found e0631dea
    20000028: expected 20000c56, found 11494048
    2000002c: expected 20000c57, found 37598dea
    20000030: expected 20000c58, found 6c9c2951
    20000034: expected 20000c59, found 906f3994
    ...   
    
    PMC.jpg


    EDIT: Note: I get the same result whether the SD card is not inserted, inserted to the PMC, inserted to the HIB.

    dgately
    1024 x 1128 - 150K
  • David BetzDavid Betz Posts: 14,516
    edited 2013-10-08 12:02
    dgately wrote: »
    David, trancefreak,

    I'm getting basically the same result as trancefreak on my QS + HIB + PMC... I've attached an image that shows the PMC's chips for identification purposes.
    propeller-load -p /dev/cu.usbserial-A1013PDN cachetest.elf -r -t -S
    Propeller Version 1 on /dev/cu.usbserial-A1013PDN
    Loading cachetest.elf to hub memory
    13704 bytes sent                  
    Verifying RAM ... OK
    [ Entering terminal mode. Type ESC or Control-C to exit. ]
    mbox  00003588
    cache 00003594
    buf   00005794
    Big flash test
    Start value 30002223
    Filling flash
    Checking flash
    Filling flash inverted
    Checking flash inverted
    done
    Big RAM test
    Filling RAM
    Start value 20000c4c
    Checking RAM
    2000000c: expected 20000c4f, found 96000c4f
    20000010: expected 20000c50, found e79fb7ef
    20000014: expected 20000c51, found dfbeded7
    20000018: expected 20000c52, found 7ff95aed
    2000001c: expected 20000c53, found defd1bf7
    20000020: expected 20000c54, found 9d612298
    20000024: expected 20000c55, found e0631dea
    20000028: expected 20000c56, found 11494048
    2000002c: expected 20000c57, found 37598dea
    20000030: expected 20000c58, found 6c9c2951
    20000034: expected 20000c59, found 906f3994
    ...   
    
    PMC.jpg


    EDIT: Note: I get the same result whether the SD card is not inserted, inserted to the PMC, inserted to the HIB.

    dgately
    Is your SD card inserted all the way? That will certainly cause problems since the SD card comes up in SD bus mode not SPI mode. Try removing the SD card and running the test again.
Sign In or Register to comment.