 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
ciko Član

Pridružen-a: Čet 27 Mar 2008 11:41 Prispevkov: 126 Aktiv.: 0.60 Kraj: Novo mesto
|
Objavljeno: Čet Apr 23, 2009 3:36 pm Naslov sporočila: iap funkcija težava |
|
|
Živjo!
Imam IAP funkcijo in jo normalno uporabljam. V enem primeru pa mi težava nastopi. IAP funkcija mi vrne vrednost 2 - SRC_ADDR_ERROR (Source address is not on a correct boundary).
V debug načinu sem ugotovil, da mi zapisuje iz naslova: 0x400005CD, 256 bytov(IRAM1 imam definiran: lokacija 0x40000000, velikost 0x8000).
Če pa naredim memcpy v malloc prostor (luceran v istem IRAMu), pa zapiše normalno. Ker gre za kar veliko podatkov, se bi seveda rad izognil memcpy funkciji.
Uporabljam pa lpc2378, uVison3, Ulink2.
Morda kak nasvet, kje je težava in kako jo rešiti?
Lep pozdrav!
Peter |
|
Nazaj na vrh |
|
 |
xay Član

Pridružen-a: Tor 03 Jun 2008 9:24 Prispevkov: 41 Aktiv.: 0.20
|
Objavljeno: Čet Apr 23, 2009 7:11 pm Naslov sporočila: |
|
|
Sicer nisem velik poznavalec tega, vendar se mi zdi logično, da ti vrne napako, glede na naslov iz katerega izpisuješ. Če prav vem (naj me kdo popravi, če ne), je beseda (word) v LPC2xxx dolga 4 bajte (32 bitov), torej mora biti naslov deljiv s štiri (da je word boundary). Če shranjuješ nek niz tipa char, lahko zadevo rešiš tako, da niz deklariraš kot tipa int (seveda 4x krajši) in mu nato spremeniš tip v char, tako bo njegov naslov "poravnan" z 32 bitnim "zaporedjem". Upam da sem napisal vsaj približno razumljivo
LP,
Blaž |
|
Nazaj na vrh |
|
 |
ciko Član

Pridružen-a: Čet 27 Mar 2008 11:41 Prispevkov: 126 Aktiv.: 0.60 Kraj: Novo mesto
|
Objavljeno: Pet Apr 24, 2009 1:42 pm Naslov sporočila: |
|
|
xay je napisal/a: |
Sicer nisem velik poznavalec tega, vendar se mi zdi logično, da ti vrne napako, glede na naslov iz katerega izpisuješ. Če prav vem (naj me kdo popravi, če ne), je beseda (word) v LPC2xxx dolga 4 bajte (32 bitov), torej mora biti naslov deljiv s štiri (da je word boundary). Če shranjuješ nek niz tipa char, lahko zadevo rešiš tako, da niz deklariraš kot tipa int (seveda 4x krajši) in mu nato spremeniš tip v char, tako bo njegov naslov "poravnan" z 32 bitnim "zaporedjem". Upam da sem napisal vsaj približno razumljivo
LP,
Blaž |
Hvala za odgovor!
Na to pa niti nism bil pozoren. Mi je vse jasno zakaj ne dela.
Lep pozdrav!
Peter |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 494 dni
Powered by phpBB © 2001, 2005 phpBB Group
|