Elektronika.lt
 2025 m. lapkričio 19 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2025 11 19, 21:42. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » ARM asembleris, optimizacija
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 11
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 ARM asembleris, optimizacija
PranešimasParašytas: 2008 06 12, 14:29 Pranešti apie taisyklių pažeidimą Atsakyti su citata
p12
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
sveiki,
gal kas žinot, ką tikliai išoptimizuoja gcc arm asembleryje? Anksčiau kai kurios mano bibliotekos išvis neveikdavo su optimizacija, o dabar pabandžiau švarią initializaciją (be visokio užsikaupusio š) pabandyt, tai iš visos main() liko
Kodas:
b    .


taigi:
tikrinimas
Kodas:

  volatile int* a = 0xabababab;
  while (*a);
turėtų ar neturėtų būt išoptimizuotas? Pagal mane ne..

kaip padaryt, kad neišoptimizuotų
Kodas:

  for (int i  = 0; i < 1234; i++);  //velinimo f-ja
 ARM asembleris, optimizacija
PranešimasParašytas: 2008 06 13, 09:55 Pranešti apie taisyklių pažeidimą Atsakyti su citata
circuit
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
Aišku įdomus sprendimas vėlinimus daryti su loop'ais.... Nebent visiškai nerūpi suvartojama energija.
 ARM asembleris, optimizacija
PranešimasParašytas: 2008 06 13, 10:50 Pranešti apie taisyklių pažeidimą Atsakyti su citata
p12
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
kolkas nerūpi. Bet negi kokiam 10-100 ciklų procesorių kišti į idle ypač kad sugrąžinimui iš ten reikia interupto. Kol pakursiu taimeri visas tas laikas praeis.

man optimizacija gadina visus I/O (spi, uart, sio..) draiverius, nenaudojancius dma
 ARM asembleris, optimizacija
PranešimasParašytas: 2008 06 20, 11:35 Pranešti apie taisyklių pažeidimą Atsakyti su citata
p12
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
nenorėjau kurt atskiros temos ne į tema (kitur negaučiau atsakymo), tad rašau čia:

gal kas žinot OCD commanderio atitikmenį linuxams? reikia, kad būtų wiggler adapterio palaikymas (macraigoro programinė įranga linuxams jo nepalaiko Sad )
 ARM asembleris, optimizacija
PranešimasParašytas: 2008 06 20, 15:15 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Digix
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
manau kad openocd
 ARM asembleris, optimizacija
PranešimasParašytas: 2008 07 11, 23:57 Pranešti apie taisyklių pažeidimą Atsakyti su citata
p12
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
vienas toks gan kvailas klausimas pasistojo beveik ne į temą - jei asembelrio kode yra kažkoks pointeris į atminties vietą pavyzdžiui duomenis. Duomenų daug = masyvas. Pvz:

Kodas:

.global pvData
pvData:
.word 0x15232130
.word 0x15232130
.word 0x15232130
.word 0x15232130
.word 0x15232130
.word 0x15232130
.word 0x15232130
.word 0x15232130


Kaip aš galiu c kode pasiimt tuos duomenis. Jei rašysiu
Kodas:
u32 a = pvData[i]
, tai kompiliatorius nesupras ko noriu, nežinos tipo. Reikia panašaus sprendimo į
Kodas:
.extern abc
 u32 abc[5]
, tik kad atvirkščiai, nes priešais kiekvieną kintamąjį vykdyti tipo keitimą nelabai noriu - veikt tai veiks, bet klaidų tikimybė didelė.
Čia labiau klausimas iš principo, nes ir paprastai turbūt galima preprocesoriaus galimybes išnaudot bet nepatogu... Sad
 ARM asembleris, optimizacija
PranešimasParašytas: 2008 07 12, 00:26 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Digix
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
nuo to niekur nedingsi, nes kitur deklaruotas ponteris be tipo bus tiesiog void.

tau reikia ji konvertuoti i koki nors savo kintamaji
pvz:
int *data=pvData;
o tada jau programoje naudokis tuo kintamoju kaip tau reikia.

o beje kuo tas extern variantas tau netinkamas?
tuetu irgi veikti

extern u32 *pvData
 ARM asembleris, optimizacija
PranešimasParašytas: 2008 07 12, 06:22 Pranešti apie taisyklių pažeidimą Atsakyti su citata
p12
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
tai vat kad aš žioplas. net juokinga. Ten .extern buvo asemblerio sekcijoje, o paprastas kintamasis C dalyje. Asembleryje kintamaji reikia paaukštinti darašant .global, o iš C pusės paprastas extern.
Bet man neveikė dėl kito dalyko. Į masyvą neina nieko persikonvertuot.

O šiaip kažkur mačiau, kad tuos visus errorus išmeta parašydami pvz (int) asd.

Kaip priversti GCC į kodą įterpti jau sulinkinto failo dydį - t.y. yra kas nors panašaus į sizeof(.text) ?
 ARM asembleris, optimizacija
PranešimasParašytas: 2008 07 12, 13:52 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Digix
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Citata:
Kaip priversti GCC į kodą įterpti jau sulinkinto failo dydį - t.y. yra kas nors panašaus į sizeof(.text) ?

abejoju ar tai isvis imanoma, nes sulinkinto failo dydi suzinosi kai ji sulinkinsi
tai abejojiu kad kompiliatorius gali irasyti skaiciu kurio dar nezino

ko gero toliais atvejais reikia pasinaudoti papildomu skriptu ar programa kuri kazkuri kintama ji esanti programos viduje pakeis i ta ko reikia
Pradėti naują temą  Atsakyti į pranešimą
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
Mokslo festivalis „Erdvėlaivis žemė“
www.mokslofestivalis.eu
Reklama


Reklama