 |

|
|
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 12 22, 07:06. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » ARM9 ir embedded Linux
|
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
|
|
|
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 10, 16:53 |
|
|
|
|
| nu jo, mazdaug jau supratau. kai ismoksiu draiverius likux'ui rasyt tada neturetu buti sunku. |
|
|
|
|
|
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 10, 17:09 |
|
|
|
|
jei tu nori palesiti linuksa ant naujos sustemos tai draverius rasyti yra butina moketi. tuo labiau kad tai labai lengva.
jei tu noresi kazka su tuo linuksu dirbti tai tau butinai reikes rasyti draiverius kiekvienam savo pajungtam irenginiui. arba mazu maziausia tai reikes koreguoti esamus |
|
|
|
|
|
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 11, 08:14 |
|
|
|
|
| Kiek susiduriau savo trumpoje praktikoje, teko pajungti keleta devaisu, tai isvengiau rasymo nuo 0. Yra jau parasyti spi, uart, i2c ir pan draiveriai. Daznai uztenka tiktai paredaguoti esama, kad veiktu taip kaip reikia. Pvz atmelis beveik visai imanomai pefirerijai pateikia gatavus draiverius, o kazkas labai nestandartinio gali buti valdoma bitbangingu per I/O kuriem velgi draiveris yra parasytas. Seip ar taip sekmes, laikas nuo laiko parasyk kaip sekasi, idomu visgi :). Cia turbut GSM'us darysi? |
|
_________________ -----
That's what she said. |
|
|
|
 |
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 13, 22:16 |
|
|
|
|
na konkreciai mano programavimas su GSM daug bendro netures. su modemu 'kalbetis' tiesa, teks.
o kolkas tai iklimpau i arm9tdmi asembleri... ajna nafik:)
tai linuxas tures biski palaukt kol bootloaderi pasirasysiu.
gal kartais kas turit pasidalinti arm920t start.S (gali kitaip vadintis, crt0.S) failiuku? juokingiausia kad niekur rasti teisingo ir normalaus nepavyksta...
niekaip nepadarau nukopijavimo inicializuotu duomenu i RAM. pavyzdziuose visur naudojamos ASM instrukcijos, kuriu arm920t instruction set netgi nera... |
|
|
|
|
|
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 13, 22:20 |
|
|
|
|
nenoretum kartasi to inicializacijos failo pavogti nuo sakykime U-boot bootloaderio.
ten ko gero bus daug siuksliu bet isvalyti sunku nebus. |
|
|
|
|
|
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 13, 22:28 |
|
|
|
|
jau "pavogiau" as tu *.S failu is bent kokiu 3 bootloaderiu (umon, blob, uboot...). vienintele esme - tenais yra visas bootloaderis kopijuojamas i RAM. todel atskirai kintamuju kopijavimo nera. o kai kopijuojamas visas bootloaderio kodas, tai ir linkerio scriptas kitoks ir algoritmas kopijavimo skiriasi nuo tarkim arm7 startup kodo. arm7 turiu, bet ten visai kitos asm instrukcijos.
zodziu painiava.
svarbiausia dokumentuota to niekur nera. nei pas viena gamintoja, nei paciam www.arm.com nei pas gnuarm. |
|
|
|
|
|
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 13, 22:35 |
|
|
|
|
tai ismesk ta kopijavima lauk, tau jug tereikia kad butu inicializuotas ram ir visa kita o kas toliau mesk lauk
tikrai negali buti padaryta taip kad pirmiau perkopijuotu i neveikianti ram o paskui ten inicializuotu ram, kontroleri. |
|
|
|
|
|
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 13, 22:46 |
|
|
|
|
ne taip supratai.
sdram kontrolerio inicializavimas yra ir viska gerai su juo.
bet po to uboot (ir visi kiti) bootloaderiai patys save perkelia i RAM ir tada vykdosi is tenais.
man reikia i RAM perkelti tik inicializuotus C kintamuosius, kurie pradzioje saugomi flash'e, .text segmente, o veliau turi buti perkelti i RAM, .data segmenta. va sito nukopijavimo ir nesiseka nei rasti nei parasyti paciam. nes reikia perprasti arm9 asembleri ir ld linkerio scriptu rasyma. |
|
|
|
|
|
 |
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 13, 22:53 |
|
|
|
|
o kam tau tie kintamieji as nesuprantu?
visi kintamieji laikomi steke. iskyrus globalus kintamieji kokioje nors kitoje ram vietoje.
pvz man tokiu problemu nekilo ir net neteko apie tai pagalvoti.
tiesiog inicializuok viska su C kalba o jei nori nurodyti kur laikyti kintamuosius galima nurodyti linkeriui kokioje vietoje jie turi buti. arba tiesiog C kalboje gali kintamuosius daryti kaip pointerius.
zinoma ta atminties vieta bus tuscia programai prsidedant, bet niekas jug netrukdo visus kintamuosius uzpildyti main funkcijoje. ar tada kai to reikia.
bet viso to isvengsi tiesiog nenaudodamas globaliu kintamuju isvis.
o veliau perduodi valdyma linuksui ir tegul jis jau tvarkosi kaip reikia. |
|
|
|
|
|
 |
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 13, 23:19 |
|
|
|
|
kazkaip susimaisiau. tarkim turi globalu masyva:
int mas [3] = { 1, 2, 3};
startavus procui jis kazkaip turi atsidurti ram'e. kaip ji ten igrusti? perziurejau arm7 startup kodus - visur nukopijuojami duomenys panasiai, beto dar isvalomas .bss segmentas (neinicializuoti globalus kintamieji).
// Copy initialized data to its execution address in RAM
// -----------------------------------------------------
#ifdef ROM_RUN
ldr r1,=_etext // -> ROM data start
ldr r2,=_data // -> data start
ldr r3,=_edata // -> end of data
1: cmp r2,r3 // check if data to move
ldrlo r0,[r1],#4 // copy it
strlo r0,[r2],#4
blo 1b // loop until done
#endif
// Clear .bss
// ----------
mov r0,#0 // get a zero
ldr r1,=__bss_start // -> bss start
ldr r2,=__bss_end__ // -> bss end
2: cmp r1,r2 // check if data to clear
strlo r0,[r1],#4 // clear 4 bytes
blo 2b // loop until done |
|
|
|
|
|
 |
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 13, 23:30 |
|
|
|
|
gerai, visu pirma kam tau reikia to masyvo ram atmintyje?
jug tu rasai tim maziuka botloaderi o ne nauja linukso kerneli.
jei jau taip baisiai nori tada daryk sitaip
int *mas;
paskui main funkcijoje
mas=<norima atminties vieta>
mas[0]=1;
mas[1]=2;
mas[2]=3;
galima ir kitais budais ta padaryti, bet kaip bebutu asamblerio neikam nereikia, absoliuciai viska galima atlikti C kalba, svarbaiusai kad busu inicializuotas stekas, kitaip C funkcijos neveiks nes nebus kur kintamuju laikyti.
nrs ir cia imanoma visokiask gudriais metodais apeti tas problemas ir uazteks pasitenkinti inline asambleriu.
bet del neaiskiu priezasciu inicializacija daznai atliekama asableriu, ko gero del vietos taupymo. |
|
|
|
|
|
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 19, 00:07 |
|
|
|
|
| Sveiki. Gal kas is kaune gyvenanciu galetu mane pamokyt kompiliuot ? sumokeciau. |
|
|
|
|
|
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 19, 00:10 |
|
|
|
|
zadi pats kompiliuoti? paprastai visi naudoja kompilatoriu?
gal prasai mokyti programuoti? |
|
|
|
|
|
 |
ARM9 ir embedded Linux |
Parašytas: 2007 12 19, 00:43 |
|
|
|
|
Iš kur traukiat tuos ARM procus? Iš užsienio perkat ar iš kokių devaisų?  |
|
|
|
|
|
|
 |
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 |
 |
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 |
 |
Must have farming mods
Farming simulator modhub,
Best farming simulator mods |
|

|
 |