 |

|
|
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, 23:04. 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
|
|
|
 |
ARM asembleris, optimizacija |
Parašytas: 2008 06 12, 14:29 |
|
|
|
|
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
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 |
Parašytas: 2008 06 13, 09:55 |
|
|
|
|
| Aišku įdomus sprendimas vėlinimus daryti su loop'ais.... Nebent visiškai nerūpi suvartojama energija. |
|
|
|
|
|
 |
ARM asembleris, optimizacija |
Parašytas: 2008 06 13, 10:50 |
|
|
|
|
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 |
Parašytas: 2008 06 20, 11:35 |
|
|
|
|
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 ) |
|
|
|
|
|
 |
 |
ARM asembleris, optimizacija |
Parašytas: 2008 07 11, 23:57 |
|
|
|
|
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
, 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...  |
|
|
|
|
|
 |
 |
ARM asembleris, optimizacija |
Parašytas: 2008 07 12, 00:26 |
|
|
|
|
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 |
Parašytas: 2008 07 12, 06:22 |
|
|
|
|
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 |
Parašytas: 2008 07 12, 13:52 |
|
|
|
|
| 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 |
|
|
|
|
|
|
 |
Google paieška forume |
|
|
 |
Naujos temos forume |
|
 |
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 |
|

|
 |