Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

C ja asmi koodi koostöö ?

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    C ja asmi koodi koostöö ?

    Probleem on järgnev.
    On mu oma asmis kirjutatud spektromeetri kood. Suht töötav release. Parajalt pikk.
    On Microchipi USBi stack, mis mõistagi C-s. Kah mitte eriti lihtne.
    Tahaks neid koos kasutada, raudki projekteeritud sellise suunitlusega.
    Tahaks teha nii, et USBi kaabli külge lükkamisel võtab juhtimise üle USBi stack (RAMi sisu võib unustada). Või, mis veel parem, kasutajalt küsitakse luba, nagu fotikates. Muul ajal ruuliks jälle minu kood.
    Kumbki on parajalt pikk ja transkodeerimine on tülikas kuigi teoreetiliselt võimalik.
    Katsetasin 2 eraldi prosega ja nii töötab täpselt minu meele järgi...v.a see et et on 2 kivi kuigi saaks hakkama ühega.
    Mismoodi oleks muret kõiga kavalam leevendada? Kuidas profid asjale läheneksid?

    /Felch
    - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
    - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

    #2
    Vs: C ja asmi koodi koostöö ?

    kardan et head suppi sellest ei tule, as 1 või teine tuleb ringi teha, tean seda et asmis C muutujatele saab ligi _muutuja nimi.
    Modelleerimises ja tootmises kehtivad:
    1. Avariikindel vooluring lühistab kõik teised.
    2. Transistor, millel on kiiresti toimiv kaitse, säästab kaitset, sulades kõigepealt ise.

    Comment


      #3
      Vs: C ja asmi koodi koostöö ?

      midagi keerulist ei tohiks ju olla, C projektis on ASMi moodulid lubatud. hea, kui RAMi on niipalju et kummalegi koodile oma ala saab anda, siis saab asmi koodi C projekti sisse tõsta ja ühest teise siirdumised goto-ga lahendada või main() sisse kirjutada.

      kui ei ole, siis võib läbi reseti teha :
      reseti aegu vaadatakse USBi pinni ja minnakse ühte või teise.
      ja kummagi mooduli sees on USBi kontroll, kui see muutub "defaultist" erinevaks tehakse reset. sel juhul peaksid asmi mooduli ehitama Ckoodist erinevale aadressile ( on sihuke dir nagu ORG - asmi jaoks; C-s tuleb sama asja jaoks enamasti linkeri käsufaili näppida). katkestustega natuke janti tuleb, aga saad hakkama , kasvõi jäiga adresseerimisega.
      kui jääd hätta, pane siia INTide jaotus ja plokkide suurus kirja, küll välja mõtleme.

      Comment


        #4
        Vs: C ja asmi koodi koostöö ?

        Modi oma asmijuppi nii et see sobiks kokku C frameworgiga (funktsiooni entry/exit kood) ja tekita sellest lihtsalt üks C funktsioon. Või siis, kirjuta see C-s ümber, võitle oma laiskusega Felch !

        Comment


          #5
          Vs: C ja asmi koodi koostöö ?

          Ümber kirjutamine C-s on ilmselt kõige harivam meetod aga laiskus ei lase lahti...
          Kuidas ma näen C koodist selle või teise sub'i paiknemist mälus? Mälujaotust oleks aga vaja teada, kuna asmis sean oma jupikesed ikka mingitele kindlatele väärtustele. ORG käsuga.
          - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
          - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

          Comment


            #6
            Vs: C ja asmi koodi koostöö ?

            Enamus compilereid võimaldavad C koodi näha ka asmina, ja enamusel on C seletused kaasas. Kõik C compilerid ju tegelikult teevad asmi ja siis hex/bin vms. väljundi
            Modelleerimises ja tootmises kehtivad:
            1. Avariikindel vooluring lühistab kõik teised.
            2. Transistor, millel on kiiresti toimiv kaitse, säästab kaitset, sulades kõigepealt ise.

            Comment


              #7
              Vs: C ja asmi koodi koostöö ?

              Kui nina ees on C kood, millest just väga hästi aru ei saa ja kõrval sellest genereeritud asmi listing stiilis btfsc 0x0063
              goto label 0043, siis pole sellest just palju abi....
              - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
              - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

              Comment


                #8
                Vs: C ja asmi koodi koostöö ?

                Kas peab tingimata kasutama Microchipi frameworki?

                Oskuste korral võid ju USBi koodi ka ise asmis valmis kirjutada, sest raud seda võimaldab kuigi tõsi, see ei ole kaugeltki nii lihtne nagu RS232. Aga võibolla saab ära kasutada teiste nähtud vaeva.

                Asmile:
                1. Brad Minch, USB asm framework. Juttu siin.
                2. Uuem, Olin Lathropi USB stack

                Iseasi kuidas nende tingimused (litsents, jms) sinu projektiga sobivad.
                Võibolla otsimise peale leiab netist veel mingeid aretusi.

                Comment


                  #9
                  Vs: C ja asmi koodi koostöö ?

                  mis prose, kelle C, USBi stack kust ? lihtsaim tuleb otsida oskaja tuttav ja paaritunnine trial välja nuiata. teine variant, anda kellelgi teha ( seal tegemist max paar tundi, kusjures ega sinu koodi vaja ju pole, näiteks sobib ka LEDi vilgutamine asmis); kolmas, otsida netist kirjandust a-la "mixing C and asm".

                  Comment


                    #10
                    Vs: C ja asmi koodi koostöö ?

                    Tänud heade linkide ja ideede eest. Eks ma pusin vaikselt edasi. Kui miskit saavutan, panen kindlasti üles Suurele Ringile tutvumiseks.
                    - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                    - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                    Comment


                      #11
                      Vs: C ja asmi koodi koostöö ?

                      Kas tohib soovitada pikemas perspektiivis kalduda kas ühele (asm) või teisele (C) poole?

                      Projektid, kus on segamini kasutatud mitut keelt, on kõige tüütumad hallata.
                      If you think education is expensive, try ignorance.

                      Comment


                        #12
                        Vs: C ja asmi koodi koostöö ?

                        Pikemas perspektiivis olen oma valiku juba teinud Aga vahest peab end natuke pingutama ja midagi juurde õppima. Oehh, ei viitciks külll aga vist ikkagi peab.
                        - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                        - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                        Comment


                          #13
                          Vs: C ja asmi koodi koostöö ?

                          felch, kas basic sobiks? Paljud elektroonikud kasutavad basic-ut nii et pole asigi, võib-olla leiaksid endalegi sobiva variandi.
                          If you think education is expensive, try ignorance.

                          Comment


                            #14
                            Vs: C ja asmi koodi koostöö ?

                            Asi selles, et too konkreetne USBi stack on kirjutatud C-s. Muidu töötab ilusasti ja suutsin teda isegi veidi kohandada aga oleks soov pista kõik ühe prose sisse.
                            - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                            - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                            Comment

                            Working...
                            X