<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Ano ECC je zapnuty, zapisuji do bufferu 2048+64 bajtu.<br>
    Tedy  cca zapis do bufferu pameti :  for 0 to 2112  SPIwrite[buf++];<br>
    <br>
    Ale v buf jsou vzdy same 0xff a uzivatelskych 512 dat a zapise se
    execute  cely buffer.<br>
    <br>
    Adresa si myslim je pocitana spravne tedy DIV 2048  a zapsani do 16
    bitu pri prikazu Execute.<br>
    (zkousel jsem najit nejaky drivery a tam to maji taky tak).<br>
    <br>
    Nic uz me nenapada, data se zapisuji  spravne do adresy 0x77FF a
    pak  to zapisuje spravne az od 0x8000 .<br>
    Nad 7800 se to  prepisuje.<br>
    nepomaha posunout zapis adresy  o cely blok, opakuje se to, je tam
    evidentni zavislost, ale netusim jaka ;-)<br>
    <br>
    Ty spare data se musi nejake zapisovat (4x16bajtu)  pri zapisu po
    512 bajtech dat , nestaci tam mit taky 0xFF?<br>
    <br>
    LK<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">Dne 1.5.2019 v 12:38 Slavo Tomascik
      napsal(a):<br>
    </div>
    <blockquote
cite="mid:CAGDHY_tcf9do4-0YMRpBG-N1KwCTpLoQ999BUYdA2O33RRQUdQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>A ECC controller je teda teraz zapnuty? Tazko hadat, preco
          k tomu dojde pri cca 31kB. Zle generovana adresa stranky?
          Niekde zabudnute pripocitanie spare oblasti? Prepisanie buffra
          pred ukoncenim programovania stranky?<br>
        </div>
        <div>NOR a NAND pamete sa nedaju porovnavat. NAND _su_
          komplikovane. Je to dan za vysoke kapacity. No ked sa ide
          dosledne podla dataheetu...</div>
        <div>Skoro kazdy vyrobca MCU ma kniznice pre pracu s NAND. Treba
          hladat tam.<br>
        </div>
        <div><br>
        </div>
        <div>Slavo T.<br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Tue, Apr 30, 2019 at 8:41
          PM Libor Konečný <<a moz-do-not-send="true"
            href="mailto:support@mikrovlny.cz">support@mikrovlny.cz</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div bgcolor="#FFFFFF"> Tak  zapis po 512 bajtech pomohl, ale
            trapim se dale....<br>
            Kdyz zapisu cca 31kbytes, tak zapis dalsi page totalne
            jakoby prepsala i castene page pred ni.<br>
            Se mi nechce verit, ze by to bylo tak komplikovane.U NOR
            paralelni flash  mi to nedelalo.<br>
            SPI sbernici mam napsanou vlastni a vyuzivam 4 bitove cteni
            na jeden clock, ale ani po jednom bitu neni zmena k lepsimu.<br>
            SPI radic z procesoru s presnym casovanim nepouzivam.<br>
            Je mozny problem v casovani ?<br>
            U paralelni NOR tam to casovani musi byt presne, ale u NAND
            SPI taky ?<br>
            <br>
            Existuje nejaky levny USB programator, ktery bych koupil pro
            test?<br>
            Existuje  SDK s podobnou SPI NAND pameti?<br>
            Zkusim jeste jineho vyrobce.<br>
            <br>
            Dekuji<br>
            LK<br>
            <br>
            <br>
            <div class="gmail-m_-1604410483747945309moz-cite-prefix">Dne
              28.4.2019 v 22:11 Slavo Tomascik napsal(a):<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">
                <div>Aha, tak to je jasne. ECC je podmienka. Bud
                  pouzivat integrovany controller, alebo si napisat
                  vlastny. To je NAND pamet. Zapisom sa menia hodnoty
                  susednych buniek, citanim sa menia bunky, bunky
                  nedrzia hodnotu...</div>
                <div>Bez ECC ani byte.</div>
                <div><br>
                </div>
                <div>Slavo T.<br>
                </div>
              </div>
              <br>
              <div class="gmail_quote">
                <div dir="ltr" class="gmail_attr">On Sun, Apr 28, 2019
                  at 9:34 PM Libor Konečný <<a moz-do-not-send="true"
                    href="mailto:support@mikrovlny.cz" target="_blank">support@mikrovlny.cz</a>>

                  wrote:<br>
                </div>
                <blockquote class="gmail_quote" style="margin:0px 0px
                  0px 0.8ex;border-left:1px solid
                  rgb(204,204,204);padding-left:1ex">
                  <div bgcolor="#FFFFFF"> Ano je to tento obvod.<br>
                    Dekuji vsem za hodnotne podnety.<br>
                    <br>
                    Tu kapitolu jsem cetl, ECC mam vypnuty =0, ale
                    nebylo mi jasne, ze je podminkou minimalni blok
                    strikne 512.<br>
                    <br>
                    Jaky je vyznam pri ECC=1 a spare area ? Je lepsi 
                    mit ECC 1 nebo 0?<br>
                    Ja budu potebovat jen 2048 bajtu na stranku,
                    opetovny zapis bude tak jednou do roka, nez se pamet
                    zaplni.<br>
                    Cteni bude hodne caste.<br>
                    <br>
                    Upravim tedy zapis do pameti na min 512,  data totiz
                    maji ruznou delku, tak to bude komplikovanejsi.<br>
                    A otestuji jeste vydrz na pocet ctecich cyklu.<br>
                    <br>
                    LK<br>
                    <br>
                    <br>
                    <br>
                    <div
class="gmail-m_-1604410483747945309gmail-m_3272504602421027972moz-cite-prefix">Dne

                      28.4.2019 v 21:14 Slavo Tomascik napsal(a):<br>
                    </div>
                    <blockquote type="cite">
                      <div dir="ltr">
                        <div>Zdravim,</div>
                        <div><br>
                        </div>
                        <div>ak je to tento obvod,<br>
                        </div>
                        <div dir="ltr"><a moz-do-not-send="true"
href="https://www.mouser.sk/datasheet/2/877/Toshiba%20Memory%20America%20Inc_10242017_TC58CVG0S3HxAI-1218038.pdf"
                            target="_blank">https://www.mouser.sk/datasheet/2/877/Toshiba%20Memory%20America%20Inc_10242017_TC58CVG0S3HxAI-1218038.pdf</a></div>
                        tak je v datasheete priamo kapitola<br>
                        <div>6.4. Several Programming Cycles on the Same
                          Page (Partial Page Program)</div>
                        <div>nie je to celkom jasne napisane, ale mam za
                          to, ze treba zapisovat 512B, aby fungoval ECC
                          controller.</div>
                        <div><br>
                        </div>
                        <div>Slavo T.<br>
                        </div>
                        <div><br>
                        </div>
                      </div>
                      <br>
                      <div class="gmail_quote">
                        <div dir="ltr" class="gmail_attr">On Sun, Apr
                          28, 2019 at 8:21 PM Libor Konečný <<a
                            moz-do-not-send="true"
                            href="mailto:support@mikrovlny.cz"
                            target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:support@mikrovlny.cz">support@mikrovlny.cz</a></a>>
                          wrote:<br>
                        </div>
                        <blockquote class="gmail_quote"
                          style="margin:0px 0px 0px
                          0.8ex;border-left:1px solid
                          rgb(204,204,204);padding-left:1ex">Zdravim
                          osazenstvo.<br>
                          Jelikoz jsem zde fachmani na pameti, prosim je
                          o radu.<br>
                          Poprve pouzivam SPI NAND NOR flash 1Gbit
                          TC58CVG0S3HxAI, zapisuji a ctu <br>
                          data pres buffery  2048 bajtu, takova mirna
                          podivnost.<br>
                          Coz neni problem, problem je jak zapisovat
                          sekvencne data, ktere mi <br>
                          chodi pres tcpip stack a maji velikost, par
                          desitek bajtu.<br>
                          Napsal jsem driver za par hodin, overil
                          funkcnost a vse se zdalo ok, <br>
                          zajasal jsem ze konecne vec, ktera sla rychle
                          ;-)<br>
                          Ale jen do nejake doby, kdy se pak bajty
                          zacaly menit, tedy  jako by do <br>
                          nejakeho nahodneho  bitu se zapsala 0.<br>
                          <br>
                          Zapis mam reseny tak, ze poprve vymazu blok ,
                          bajty jsou na 0xFF<br>
                          Pak do bufferu (2048) nastavim same 0xFF a
                          nahradim je bajty k zapsani ( <br>
                          adresa zapisu je posunute o delku
                          predchozich).<br>
                          <br>
                          Udelal jsem test, kdy do bufferu nastavim <br>
0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,.........<br>
                          A zacnu jej bez mazani zapisovat a porovnavat.<br>
                          Po cca  110-122  zapisech  se objevi chyba,
                          tedy jakoby se dostal 0nit <br>
                          do jedineho bytu a data jsou tedy nespravne,
                          ukoncuji zapis a vytisknu <br>
                          si debug.<br>
                          Co je zahada, ze vzdy na stejne adrese, ale
                          pri podobnem mnozstvi cyklu. <br>
                          Zkousel jsem davat ruzne zpozdovaci smycky,
                          MCU uz nedela vubec nic <br>
                          navic, zadne preruseni atd..<br>
                          Dneska jsem si komunikaci odchytnul na
                          analyzatoru a taky nic, to co tam <br>
                          ma prijit tam prijde.<br>
                          Bad block taky neni na dane adrese.<br>
                          <br>
                          Nicmene stejny zapis  jsem resil u ST25 (spi
                          pameti, ale nejsou NAND) a <br>
                          tam to fungovalo bez problemu.<br>
                          Stejnou logiku zapisu jsem take rovnez
                          pouzival  u NAND flash HYNIX, <br>
                          takove ty tenke, ale paralelni a taky bez
                          problemu.<br>
                          Mazat to pred zapisem je nesmysl, blok ma
                          totiz 132kBytes.<br>
                          <br>
                          Ma otazka je tedy, zda se s tim nekdo setkal,
                          a zda budu muset zapis <br>
                          vyresit tak ze budu cekat az se naplni buffer
                          2048 a pak jej zapsat + <br>
                          dodelat nejaky timeout.<br>
                          <br>
                          A nebo se to zkratka neoporucuje a budu muset
                          resit driver, kdy zapisu <br>
                          do page maximalne jednou ?<br>
                          <br>
                          <br>
                          Dekuji<br>
                          LK<br>
                          <br>
                          <br>
                          <br>
                          <br>
                          <br>
_______________________________________________<br>
                          HW-list mailing list  -  sponsored by <a
                            moz-do-not-send="true"
                            class="gmail-m_-1604410483747945309moz-txt-link-abbreviated"
                            href="http://www.HW.cz" target="_blank"><a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a></a><br>
                          <a moz-do-not-send="true"
                            href="mailto:Hw-list@list.hw.cz"
                            target="_blank">Hw-list@list.hw.cz</a><br>
                          <a moz-do-not-send="true"
                            href="http://list.hw.cz/mailman/listinfo/hw-list"
                            rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
                        </blockquote>
                      </div>
                      <br>
                      <fieldset
class="gmail-m_-1604410483747945309gmail-m_3272504602421027972mimeAttachmentHeader"></fieldset>
                      <br>
                      <pre>_______________________________________________
HW-list mailing list  -  sponsored by <a moz-do-not-send="true" class="gmail-m_-1604410483747945309gmail-m_3272504602421027972moz-txt-link-abbreviated" href="http://www.HW.cz" target="_blank">www.HW.cz</a>
<a moz-do-not-send="true" class="gmail-m_-1604410483747945309gmail-m_3272504602421027972moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>
<a moz-do-not-send="true" class="gmail-m_-1604410483747945309gmail-m_3272504602421027972moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
                    </blockquote>
                    <br>
                  </div>
                  _______________________________________________<br>
                  HW-list mailing list  -  sponsored by <a
                    moz-do-not-send="true"
                    class="gmail-m_-1604410483747945309moz-txt-link-abbreviated"
                    href="http://www.HW.cz" target="_blank"><a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a></a><br>
                  <a moz-do-not-send="true"
                    href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br>
                  <a moz-do-not-send="true"
                    href="http://list.hw.cz/mailman/listinfo/hw-list"
                    rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
                </blockquote>
              </div>
              <br>
              <fieldset
                class="gmail-m_-1604410483747945309mimeAttachmentHeader"></fieldset>
              <br>
              <pre>_______________________________________________
HW-list mailing list  -  sponsored by <a moz-do-not-send="true" class="gmail-m_-1604410483747945309moz-txt-link-abbreviated" href="http://www.HW.cz" target="_blank">www.HW.cz</a>
<a moz-do-not-send="true" class="gmail-m_-1604410483747945309moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a>
<a moz-do-not-send="true" class="gmail-m_-1604410483747945309moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
            </blockquote>
            <br>
          </div>
          _______________________________________________<br>
          HW-list mailing list  -  sponsored by <a
            moz-do-not-send="true" href="http://www.HW.cz"
            rel="noreferrer" target="_blank"><a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a></a><br>
          <a moz-do-not-send="true" href="mailto:Hw-list@list.hw.cz"
            target="_blank">Hw-list@list.hw.cz</a><br>
          <a moz-do-not-send="true"
            href="http://list.hw.cz/mailman/listinfo/hw-list"
            rel="noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>