<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Pokud vymazu blok a zapisu celou page na 0x7800 pak se zapise v
    poradku a nic neprepise.<br>
    Pokud vymazu blok a zapisu page na 0xF800, tak se zapise cela page
    na 0x7800<br>
    Takze problem je v zapisu a vypoctu stranky..<br>
    Diky za nakopnuti, ted se jen dopocitat.<br>
    <br>
    LK<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">Dne 1.5.2019 v 16:37 Slavo Tomascik
      napsal(a):<br>
    </div>
    <blockquote
cite="mid:CAGDHY_uucXDSVcx1nUfdWoVhy+CEq5MMQhJA8rZ2UwYrggU_Mg@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>Momentalne mi nic nenapada, ale 0x7800 je nahodou 2048*15.
          Nieje niekde +-1 problem? Na ktorych adresach nastane prepis,
          ked sa zapisuje od adresy 0x7800? Skus zapis nad 0xF7FF.
          Myslim, ze tam dojde k rovnakej chybe. V tom pripade by som to
          videl na chybu vo vyratavani/zapise adresy page.<br>
        </div>
        <div>Spare data nie je potrebne myslim zapisovat. V ramci page
          load ked tam bude 0xFF, tak by to malo byt OK. <br>
        </div>
        <div><br>
        </div>
        <div>Slavo T.</div>
        <div><br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Wed, May 1, 2019 at 4:02 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"> 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="gmail-m_-1701601866434457960moz-cite-prefix">Dne
              1.5.2019 v 12:38 Slavo Tomascik napsal(a):<br>
            </div>
            <blockquote 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" 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"> 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_-1701601866434457960gmail-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"><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">
                          <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_-1701601866434457960gmail-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"
class="gmail-m_-1701601866434457960moz-txt-link-abbreviated"
                                    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">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_-1701601866434457960moz-txt-link-abbreviated"
                                    href="http://www.HW.cz"
                                    target="_blank">www.HW.cz</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_-1701601866434457960gmail-m_-1604410483747945309gmail-m_3272504602421027972mimeAttachmentHeader"></fieldset>
                              <br>
                              <pre>_______________________________________________
HW-list mailing list  -  sponsored by <a moz-do-not-send="true" class="gmail-m_-1701601866434457960gmail-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_-1701601866434457960gmail-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_-1701601866434457960gmail-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_-1701601866434457960moz-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_-1701601866434457960gmail-m_-1604410483747945309mimeAttachmentHeader"></fieldset>
                      <br>
                      <pre>_______________________________________________
HW-list mailing list  -  sponsored by <a moz-do-not-send="true" class="gmail-m_-1701601866434457960gmail-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_-1701601866434457960gmail-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_-1701601866434457960gmail-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"
                    class="gmail-m_-1701601866434457960moz-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_-1701601866434457960mimeAttachmentHeader"></fieldset>
              <br>
              <pre>_______________________________________________
HW-list mailing list  -  sponsored by <a moz-do-not-send="true" class="gmail-m_-1701601866434457960moz-txt-link-abbreviated" href="http://www.HW.cz" target="_blank">www.HW.cz</a>
<a moz-do-not-send="true" class="gmail-m_-1701601866434457960moz-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_-1701601866434457960moz-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>