Shop OBEX P1 Docs P2 Docs Learn Events
KISS Eval board (general discussion) - Page 6 — Parallax Forums

KISS Eval board (general discussion)

123468

Comments

  • ErNaErNa Posts: 1,752

    Zzooommmm.... Orders of the KISS board can be placed in EU. Look to here!

  • I will be receiving an order of 30 KIS0001 boards to the US in the next week for distribution to North America. Price will be $29.50+$5.15 First Class mail in a padded envelope.

    I still have 16 KISS0000 without SD for $23.50+$5.15 First Class mail in a padded envelope.

    You can use my PayPal account in my sig.

  • Cluso99Cluso99 Posts: 18,069
    edited 2021-08-12 22:34

    @ManAtWork said:

    @ManAtWork said:
    BTW, the SD card seems to have priority over the SPI flash chip and even over the serial ProgPlug. So the SD card has to be removed if the latter are to be used.

    :s Strange, I can't reproduce this any more. Now, with the pullup at P61 and pulldown at P58 the SPI flash always takes priority over the SD card. So even if the SPI ROM is erased you can't boot from SD card unless you remove either the pullup or the pulldown resistor. So the options are:

    • load into RAM only with progplug, SD card has to be removed, pullup/down don't matter
    • load into flash and boot from flash, pullup+pulldown have both to be present, SD card can be used for data storage but not for booting
    • boot from SD card, pullup or pulldown has to be removed

    This is somehow inconvenient and not how it was meant to be. However, it is too late for a PCB layout change. I think, for a completely free choice of SD vs. SPI booting it would be indeed neccessary to add a DIP switch. Unfortunatelly, the "card inserted" switch of the SD socket can't be used as it is of the wrong polarity. A NC instead of a NO switch would be required to automatically disable the pulldown resistor. And even then the "SD card for data only" option wouldn't work.

    1. Is a timing issue on pnut - it does not wait long enough for the SD ROM boot code to initialise the SD card and determine there is no valid boot code avaiable. LoadP2 should work just fine.
    2. The pullup for Flash CS must be present. I don't have a pulldown.
    3. If the Flash contains valid boot code, the pullup will ensure that is loaded and so the SD ROM boot code will never be executed.

    I don't use an SD card socket with a switch. I do have a 2*0.050" link/jumper to enable/disable the Flash CS pullup.

  • MaciekMaciek Posts: 675
    edited 2021-08-13 15:51

    I had a look at the KISS0001 (KISS v2) schematic (post #116 on page #4 ) and found out it needs a very minor update to the name/type of flash used and also to accommodate the pull down resistor at P58, since it's fitted on the board by default.
    Not that I need it (I follow your, @ManAtWork, posts with great interest), but some of the new users might need it and to avoid unnecessary questions as well.

  • I KNow, I have to put up some documetation. It should contain at least the schematic and some instructions of how to solder in the pin headers and how to connect the prog plug. I'll do that when I'm back from holidays.

  • @ManAtWork said:
    I KNow, I have to put up some documetation. It should contain at least the schematic and some instructions of how to solder in the pin headers and how to connect the prog plug. I'll do that when I'm back from holidays.

    I can do changes with kanar wire for people that do not have the means to do it for NA.

  • @ManAtWork said:
    I KNow, I have to put up some documetation. It should contain at least the schematic and some instructions of how to solder in the pin headers and how to connect the prog plug. I'll do that when I'm back from holidays.

    Let me know if you need a hand with this.

    But, honestly, do we really need to go that basic as to describe how to solder pin headers ? I'm not sure. I'd skip that part.

  • Hi Nicolas,
    Thanks, the boards arrived this morning.
    Powered one up, seemed to be running a blinken lighten routine from flash.
    100 ms after boot to get serial mode, darn missed it again, who ever thought of that ;)
    Couldn't find full info on boot process in the official datasheet.
    Thanks Peter Jakacki, got the good oil from Parallax Propeller 2 Documentation v35.
    pullup p59
    Now have a TAQOZ boot prompt. 57 blink ... ok
    Tomorrow is another day ...
    Colin

  • MaciekMaciek Posts: 675
    edited 2021-08-17 21:36

    @ManAtWork , I can't see it clearly enough on the assembled board picture - would it be possible to solder in two kynar wires to the unused miniUSB socket pins ?
    I'm skilled enough with soldering but if there is no access to those pins with the soldering tip I'd like to know that in advance as I'm trying to decide which of the kisses is more suitable for my needs.

    EDIT: Never mind. I've found the answer to my question. It will not be an easy job but doable. Might require the removal of the bent down, rear part of the metal housing of the mini usb socket. Definitely doable.

  • @Cluso99 said:
    IIRC Flash boot comes before SD provided there is a pull-up on P61. If there is not valid code (checksum) in the Flash and P62 contains a pull-up (provided from the SD cards internals) the the SD Rom code initialises the SD card and then searches for the MBR, VOL and _BOOT_P2.BIX and _BOOT_P2.BIY files in that order and if not found (can take up to 1/2s or more depending on the SD card). If not found, the Rom code will try the serial next.

    Hi,
    question while I am waiting for my Kiss-SD...

    There is a pullup on P61.
    I want to boot Taqoz from SD-Card. Are these the steps needed?

    1. Format SD-Card >=4GB with FAT-32
    2. Unzip TAQOZ.zip, copy _BOOT_P2.BIX and TAQOZUP.WAV, MINION.BMP, BOOT.CFG to card.
    3. Make sure, that there is no valid code in the Flash. But how can it be erased?
    4. Insert SD-Card
    5. Connect Power and PC via Prop-Plug and Teraterm @921600 baud

    If I would need to boot Taqoz from SPI-Flash, then I would have to recompile it and load it with Propeller Tool?

    As far as I understand, serial boot with priority over ROM and SD-Card can be enabled with a pullup at Pin59?

    Many thanks in advance, Christof

  • @"Christof Eb." said:
    3. Make sure, that there is no valid code in the Flash. But how can it be erased?

    Yes, I also thought it would work like that. But my tests showed that the boot code does not check for valid code but only for the ACK signal of the SPI flash. So if the flash is empty the SPI boot is not skipped. I think, the only way this can be solved without requiring de-soldering of the pullup resistor is to place a "fake" 1st stage loader in the SPI flash that directly jumps to the SD boot loader.

  • @"Christof Eb." said:
    3. Make sure, that there is no valid code in the Flash. But how can it be erased?
    Many thanks in advance, Christof

    Easy. Boot the TAQOZ in ROM (you need an external pull up resistor of a 10kOhm between P59 and 3.3v pins before you power on the board).

    The steps are as follows:
    1. connect the external pullup resistor
    2. apply power to the board
    3. issue ">" then space then "ESC" then "ENTER" to boot to TAQOZ in ROM
    4. issue SFERASE
    5. you're done with erasing the flash

  • Cluso99Cluso99 Posts: 18,069

    @ManAtWork said:

    @"Christof Eb." said:
    3. Make sure, that there is no valid code in the Flash. But how can it be erased?

    Yes, I also thought it would work like that. But my tests showed that the boot code does not check for valid code but only for the ACK signal of the SPI flash. So if the flash is empty the SPI boot is not skipped. I think, the only way this can be solved without requiring de-soldering of the pullup resistor is to place a "fake" 1st stage loader in the SPI flash that directly jumps to the SD boot loader.

    >
    Definitely NO.....
    The boot code looks for a valid flash checksum (it actually sums ie adds the first $100 bytes and compares this sum to “Prop”). If it is valid then the flash code is executed.

    To erase the first block of flash, go into TAQOZ and then enter “0 SFER4”
    “SFERASE” does a chip erase but I know this does not work for S25FL256.
    You can check what’s in the flash with “0 $40 SF DUMP”
    0 are zeros and don’t enter the double quotes.

  • Cluso99Cluso99 Posts: 18,069

    @"Christof Eb." said:

    @Cluso99 said:
    IIRC Flash boot comes before SD provided there is a pull-up on P61. If there is not valid code (checksum) in the Flash and P62 contains a pull-up (provided from the SD cards internals) the the SD Rom code initialises the SD card and then searches for the MBR, VOL and _BOOT_P2.BIX and _BOOT_P2.BIY files in that order and if not found (can take up to 1/2s or more depending on the SD card). If not found, the Rom code will try the serial next.

    Hi,
    question while I am waiting for my Kiss-SD...

    There is a pullup on P61.
    I want to boot Taqoz from SD-Card. Are these the steps needed?

    1. Format SD-Card >=4GB with FAT-32
    2. Unzip TAQOZ.zip, copy _BOOT_P2.BIX and TAQOZUP.WAV, MINION.BMP, BOOT.CFG to card.
    3. Make sure, that there is no valid code in the Flash. But how can it be erased?
    4. Insert SD-Card
    5. Connect Power and PC via Prop-Plug and Teraterm @921600 baud

    If I would need to boot Taqoz from SPI-Flash, then I would have to recompile it and load it with Propeller Tool?

    As far as I understand, serial boot with priority over ROM and SD-Card can be enabled with a pullup at Pin59?

    Many thanks in advance, Christof

    Basically all correct.

  • This board has a 25Mhz Crystal, so most of the examples provided in the library and on the forum will not work as they need a 20Mhz crystal is that correct? Very confusing for a newie...

  • Well, "will not work as they need a 20Mhz crystal" is a bit exaggerated. You simply have to change a constant in the main object from 20_000_000 to 25_000_000. All "low level" code like drivers are designed to work with any clock frequency (within reasonable limits).

    I will document that as soon as all problems are solved.

    The reason for the 25MHz crystal is historical. I decided to use them because I had a full reel in stock because 25MHz ist commonly used for ethernet PHYs. Now, I won't change them because having two different versions would make things even worse.

  • @Fred777 said:
    This board has a 25Mhz Crystal, so most of the examples provided in the library and on the forum will not work as they need a 20Mhz crystal is that correct? Very confusing for a newie...

    Examples are just that - examples. They do not need to, nor necessarily will, work "out of the box" for any board with any configuration. Even for the examples to work you need to make some initial configurations, or at least one needs to check if the configuration in the example matches one's particular setup.

    @ManAtWork said:
    Well, "will not work as they need a 20Mhz crystal" is a bit exaggerated. You simply have to change a constant in the main object from 20_000_000 to 25_000_000. All "low level" code like drivers are designed to work with any clock frequency (within reasonable limits).

    I will document that as soon as all problems are solved.

    The reason for the 25MHz crystal is historical. I decided to use them because I had a full reel in stock because 25MHz ist commonly used for ethernet PHYs. Now, I won't change them because having two different versions would make things even worse.

    I agree. No need for a change.

  • @Maciek said:
    I agree. No need for a change.

    As a humble flexbasic user I found it very difficult to make the right changes in some spin or asm objects.
    So I removed the 25Mhz Crystal and now use an external 20Mhz Oszillatior to feed the board... harsh but effective

  • @Fred777 said:

    As a humble flexbasic user I found it very difficult to make the right changes in some spin or asm objects.
    So I removed the 25Mhz Crystal and now use an external 20Mhz Oszillatior to feed the board... harsh but effective

    Well, seems like you solved your problem your own way :smiley: . It is, after all, a valid option too.

    However, I do not imagine myself changing the quartz/oscillator frequency that way much often, let alone each time I might need another frequency.

    It is (close to) impossible to satisfy all of the different needs users might have with a simple board.

  • “SFERASE” does a chip erase but I know this does not work for S25FL256.

    Why is that ?

    And how to do a "one stop" full chip erase if that's not working ?

    I do have an original KISS board with the smaller, 512 kB flash and it worked a treat so I'm a bit surprised to hear that.

  • @Cluso99 said:

    @ManAtWork said:
    Yes, I also thought it would work like that. But my tests showed that the boot code does not check for valid code but only for the ACK signal of the SPI flash. So if the flash is empty the SPI boot is not skipped. I think, the only way this can be solved without requiring de-soldering of the pullup resistor is to place a "fake" 1st stage loader in the SPI flash that directly jumps to the SD boot loader.

    Definitely NO.....
    The boot code looks for a valid flash checksum (it actually sums ie adds the first $100 bytes and compares this sum to “Prop”). If it is valid then the flash code is executed.

    To erase the first block of flash, go into TAQOZ and then enter “0 SFER4”
    “SFERASE” does a chip erase but I know this does not work for S25FL256.
    You can check what’s in the flash with “0 $40 SF DUMP”
    0 are zeros and don’t enter the double quotes.

    OK, I checked it again. After inserting an SD card into a fresh board with empty SPI flash booting from SD does not work. Removing the pullup at P61 doesn't help. But if I remove the pulldown at P58 the P2 boots from SD card without problems. Surprisingly, the SD card can be read with TAQOZ with both pullup and pulldown installed. At least the card size and directory is listed if I type "DIR".

  • Cluso99Cluso99 Posts: 18,069

    @ManAtWork said:

    @Cluso99 said:

    @ManAtWork said:
    Yes, I also thought it would work like that. But my tests showed that the boot code does not check for valid code but only for the ACK signal of the SPI flash. So if the flash is empty the SPI boot is not skipped. I think, the only way this can be solved without requiring de-soldering of the pullup resistor is to place a "fake" 1st stage loader in the SPI flash that directly jumps to the SD boot loader.

    Definitely NO.....
    The boot code looks for a valid flash checksum (it actually sums ie adds the first $100 bytes and compares this sum to “Prop”). If it is valid then the flash code is executed.

    To erase the first block of flash, go into TAQOZ and then enter “0 SFER4”
    “SFERASE” does a chip erase but I know this does not work for S25FL256.
    You can check what’s in the flash with “0 $40 SF DUMP”
    0 are zeros and don’t enter the double quotes.

    OK, I checked it again. After inserting an SD card into a fresh board with empty SPI flash booting from SD does not work. Removing the pullup at P61 doesn't help. But if I remove the pulldown at P58 the P2 boots from SD card without problems. Surprisingly, the SD card can be read with TAQOZ with both pullup and pulldown installed. At least the card size and directory is listed if I type "DIR".

    P58 pull down? I thought it should be P59 ???
    My recollection for P59 was a pull-up caused serial always (or first ?) and only, and pull down prevented serial download ie a minimal security feature. You need to consult the write up and/or ROM listing - I am not at my computer atm. Under normal use a pull-up/pull down should not be present on this pin.

    Once in TAQOZ ROM (or the Monitor) this respective code can access the SD.

    FWIW My statement following “Definitely NO...” was after looking thru the ROM listing, so this is what the ROM actually does.

  • The P58 pulldown is not to select the boot priority but to work-around the bug in the ROM bootloader. The reset command to ready-to-read timing is violated. Some flash chips tolerate that but others don't. The pulldown causes the first status register read to get $00 data even if the flash chip doesn't respond at all (DO = tri-state). Details are discussed here.

  • Cluso99Cluso99 Posts: 18,069

    @ManAtWork said:
    The P58 pulldown is not to select the boot priority but to work-around the bug in the ROM bootloader. The reset command to ready-to-read timing is violated. Some flash chips tolerate that but others don't. The pulldown causes the first status register read to get $00 data even if the flash chip doesn't respond at all (DO = tri-state). Details are discussed here.

    Ok I had forgotten about this. FWIW there’s quite a lot of info on booting from flash in the RP2040 info.

  • Cluso99Cluso99 Posts: 18,069

    @ManAtWork said:

    @Cluso99 said:

    @ManAtWork said:
    Yes, I also thought it would work like that. But my tests showed that the boot code does not check for valid code but only for the ACK signal of the SPI flash. So if the flash is empty the SPI boot is not skipped. I think, the only way this can be solved without requiring de-soldering of the pullup resistor is to place a "fake" 1st stage loader in the SPI flash that directly jumps to the SD boot loader.

    Definitely NO.....
    The boot code looks for a valid flash checksum (it actually sums ie adds the first $100 bytes and compares this sum to “Prop”). If it is valid then the flash code is executed.

    To erase the first block of flash, go into TAQOZ and then enter “0 SFER4”
    “SFERASE” does a chip erase but I know this does not work for S25FL256.
    You can check what’s in the flash with “0 $40 SF DUMP”
    0 are zeros and don’t enter the double quotes.

    OK, I checked it again. After inserting an SD card into a fresh board with empty SPI flash booting from SD does not work. Removing the pullup at P61 doesn't help. But if I remove the pulldown at P58 the P2 boots from SD card without problems. Surprisingly, the SD card can be read with TAQOZ with both pullup and pulldown installed. At least the card size and directory is listed if I type "DIR".

    I certainly do not see this problem (without P58 pull down) with a valid SD card with a valid _BOOT_P2.BIX file (case is important) on my board or the P2D2 or P2-EVAL boards. What value are you using for pull down? I can try a pull down on my board for you.

  • ManAtWorkManAtWork Posts: 2,178
    edited 2021-08-25 10:57

    Yes, without the pulldown at pin 58 the booting from SD card works as expected, also with tghe KISS board. P2D2, P2-EVAL and your RetroBlade2 use the same Winbond flash chip (W25Q128 if I remember correctly), right? That one doesn't need the pulldown. It seems that the pulldown disturbs the boot process even if it does not prevent normal SD card usage after booting.

    I use a 4k7 pulldown, BTW.

  • @Cluso99 said:
    FWIW there’s quite a lot of info on booting from flash in the RP2040 info.

    What's that? Where can I find it?

  • Cluso99Cluso99 Posts: 18,069

    @ManAtWork said:
    Yes, without the pulldown at pin 58 the booting from SD card works as expected, also with tghe KISS board. P2D2, P2-EVAL and your RetroBlade2 use the same Winbond flash chip (W25Q128 if I remember correctly), right? That one doesn't need the pulldown. It seems that the pulldown disturbs the boot process even if it does not prevent normal SD card usage after booting.

    I use a 4k7 pulldown, BTW.

    Oh! 4K7 is a heavy pull down. Would 20K work?

    I have used Windbond, Adesto and Spansion without problems, other than the spansion 256Mb doesn’t do a chip erase using TAQOZ.

  • aaaaaaaarghaaaaaaaargh Posts: 82
    edited 2021-08-25 14:01

    deleted - oops sorry

  • @ManAtWork,
    I am impatiently waiting for the arrival of my Kiss eval board that shipped from Tn today! I have been laboriously going through every post regarding this board and somehow been unable to find the board layout and schematics. Any documentation that you can point me to would be much appreciated.
    Thanks
    Jim

Sign In or Register to comment.