 |

|
|
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 11, 09:01. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » MSP430 subtilybes
|
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 1 iš 2 Pereiti prie 1, 2 Toliau |
|
 |
 |
 |
MSP430 subtilybes |
Parašytas: 2005 12 17, 20:14 |
|
|
|
|
uzvesiu nauja tema apie siuos prociukus. kadangi jau su jais nemazai prisiterliojes esu tai galbut kazkam galesiu padet. is tikruju tai yra labai neblogi procai jei reikia sistema maitinti is baterijos - sroves suvartojimu jie toli toli palieka visus kitus procus.
ju modeliu yra gana daug, bet viena galiu parekomenduot kaip viena geresniu is sios seimos - MSP430F1611. turi du SPI, 48kb flash'o ir net 10kb RAM'o!!! butent apie RAM ir noriu si kart parasyt, nes tik pats nesenai atkasiau tai, ko nera aiskiai parasyta jokiam datasheet'e ar user guid'e. ir tai gali gana kvailai suklaidinti, jei bus dirbama su RAM atmintimi ir didesniais duomenu masyvais joje.
ta va:
konkreciai sitas (F1611) turi toki navarota kaip RAM mirror'as. savarankisko RAM'o yra 10kb, o dar 2kb papildomai yra skirti mirror'inti (dubliuoti) dali savarankisko ram'o. pvz, jei irasoma reiksme i mirror'inamo ramo adresa, tai reiksme automatiskai atkartojama ir dar viename adrese.
svarbiausia, kad datasheete parasyta, kad RAM prasideda nuo 0x200 adreso, bet cia butent tas mirror ramas yra, o tikras prasideda tik nuo 0x1100 adreso. IAR kompileris automatiskai kintamuosiuos kisa nuo 0x1100 adreso. norint duomenis pasiimti ar yrasyti i ta mirror rama reikia naudoti direktyva #pragma location=[adresas] ir toliau kintamojo priskyrimas.
dar vienas svarbus momentas. daznai sitas procas pasirenkamas jei reikia tarkim buferizuoti dideli duomenu kieki, pvz temperaturos parodymus. jei standartiskai programos pradzioje bus iniacilizuojamas didelis duomenu masyvas RAM'e, procas nedirbs. todel kad pagal defaulta pas MSP430 yra paleidziamas watchdog taimeris, o programinant C, pirmiau initinami visi kintamieji, poto pradedamas MAIN funkcijos vygdymas, kurioje turi buti pirmoje vietoje isjungiamas watchdog, jei jis nenaudojamas, kitaip procas persikraudines periodiskai. pateiksiu du pavyzdzius, gera ir bloga, kaip aprasyti dideli duomenu masyva:
GERAS:
#pragma location=0x1100
__no_init unsigned char masyvas [10000];
BLOGAS:
#pragma location=0x1100
unsigned char masyvas [10000];
DAR VIENAS BLOGAS:
#pragma location=0x0200
__no_init unsigned char masyvas [10000];
pirmu atveju nurodoma kad masyvas nebutu iniacializuojamas (rezervuojama atmintis startuojant procui).
antru atveju tai nenurodoma, todel initinus dali masyvo, pasibaigia watchdogo laikas, ir procas persikrauna, na ir taip uzburtas ratas.... nes nedaeinama iki main funkcijos, kurioje yra watchdog sustabdymas
treciu atveju nurodomas adresas 0x200, bet kadangi masyvas yra didelis (10000), o tarp mirror ramo ir extend ramo yra ROM atminties gabaliukas , tai dalis masyvo bus ne ram'e, o rom'e, ir su juo jau nepadirbsi....
tikiuosi kanors supratot ir nebus mano vargas veltui, nes kaip teisingai dirbt su ram'u, nera nei vieno kodo pavyzdzio www.ti.com puslapyje.
jei kam dar prisireik pagalbos su MSP430 tai raykit, bandysiu padet. |
|
|
|
|
|
 |
 |
MSP430 subtilybes |
Parašytas: 2005 12 19, 09:48 |
|
|
|
|
| o neina to watchdog isjungti procesoriu uzprogramuojant ? |
|
|
|
|
|
 |
MSP430 subtilybes |
Parašytas: 2005 12 19, 13:30 |
|
|
|
|
| nu ne, reikia pakeist registro reiksme, o kad tai padaryt reikia dasikast iki main funkcijos. |
|
|
|
|
|
 |
MSP430 subtilybes |
Parašytas: 2005 12 19, 13:36 |
|
|
|
|
| Anyway. Manau, kad cia naudinga informacija. Nes is tikro tiap gali ir kabliuotis vienoj vietoj nesuprasdamas ko cia neveikia. Siaip ziuriu jog tie prociukai ramo nepsykstejo, del to jie tikrai turi savo nisha. |
|
|
|
|
|
 |
MSP430 subtilybes |
Parašytas: 2005 12 19, 14:52 |
|
|
|
|
siaip galima pakoreguoti c startup faila kad pacioje pradzioje isjungtu wdt )
na bet jo info tai gera .. cai tai faktas ) |
|
|
|
|
|
 |
MSP430 subtilybes |
Parašytas: 2005 12 19, 14:55 |
|
|
|
|
Truputį nesupratau kas tas "RAM mirror" Aš kai tik su atmegom dirbęs, tai biškį naujas dalykas Galėtumėt kasnors išsamiau?Na, pvz kam jis naudojamas, kuo naudingas, kokį pavyzduką dar..  |
|
|
|
|
|
 |
 |
MSP430 subtilybes |
Parašytas: 2005 12 19, 20:38 |
|
|
|
|
| nu tai as irgi pirma karta toki dalyka suzinojau:) ir pora dienu prasinervinau begalvodamas kodel IAR kompileris debuginant ir stebint RAM atminty, adresus nurodo tik nuo 0x1100, o datasheete parashyta kad RAM prasideda nuo 0x200 adreso. poto isijungiau kad rodytu visa memory map'a, kadangi dirbu su dideliu masyvu, tai pastebejau, kad duomenys kazkokiu budu dubliuojami - irasius reiksme i 0x1100 adresa, ta pati reiksme atsiranda ir 0x200 adrese. galvojau susi...so mano IAR'as:) perinstaliavau kita versija - tas pats shudas. nu ir tik tada radau datasheete kazka neaiskiai uzsiminta, kad nuo 0x200 adreso eina 2 kilobaitai mirror ramo (kuris dubliuoja atitinkamai 2 kilobaitus RAM'o nuo 0x1100 ramo, like 8 kilobaitai nedubliuojami), poto eina dar apie 2 kilobaitus ROM'o, ir tik tada (jau minetas 0x1100 adresas) - extend ram'as. na manau turejo jau paaisket kazkas. o panaudojimas - cia jau pagal fantazija, turint omeny kad tas procas turi DMA, galima daug nasiau suorganizuot duomenu apdorojima ir buferizavima, nes dideliu MIPS'u skaicium sie procai nepasizymi... sitas konkreciai - 8 MIPS, yra tik keli modeliai kurie gali dirbt 16 MIPS, bet ju periferija labai skurdi:) |
|
|
|
|
|
 |
 |
MSP430 subtilybes |
Parašytas: 2005 12 19, 20:45 |
|
|
|
|
| tai tas ramas naudojamas kartais ne DMA rezimui kai sukeli duomenis i tam tikra vieta o poto su konfiguruoji dma rezima (kiek pamenu ju ten nevienas yra) ir gali kaad ir pvz visus duomenis DMA valdiklis perkeltu i uart .. ar koki kita rengini... |
|
|
|
|
|
 |
MSP430 subtilybes |
Parašytas: 2005 12 19, 20:46 |
|
|
|
|
na o kintamuosius kompileris priskiria taip, cia pavyzdeliai keli:
unsigned char x; /* Kintamasis bus RAM'e, adresu 0x1100
const unsigned char x; /* Kintamasis bus flash'e
#pragma location=0x200
unsigned char x; /* Kintamais bus irasytas i 0x200 RAM adresa, taip pat atkartota ta pati reiksme 0x1100 ram adrese
atkreipti demesy reiketu i tai, kad jei panaudotos bus pirma ir trecia deklaracijos:
unsigned char x;
#pragma location=0x200
unsigned char y;
tai rezultate gausis kintamuju 'pjovimasis' - nes tarkim priskyrus reiksme
x=0;
y=1;
z=x; /*z reiksme jau bus 1, o ne 0. |
|
|
|
|
|
 |
MSP430 subtilybes |
Parašytas: 2005 12 19, 21:28 |
|
|
|
|
najo tu teisus ten istikro raso kad mirrored ram .. hmm bet idomu kokis sito reikalo tiklsas .. ar tai siaip kokis pusiau bugas  |
|
|
|
|
|
 |
MSP430 subtilybes |
Parašytas: 2005 12 19, 22:15 |
|
|
|
|
na jo, tai gan keistas 'navarotas', butu truputi geriau jei tas ram'as butu tik i viena puse mirrorinamas, o dabar nesvarbu i kuri is dvieju dubliuotu adresu irasysi reiksme, antras taip pat bus pakeistas. tai nors total ramas gaunasi 12 kb, bet skirtingu reiksmiu vienu metu gali saugot tik 10 kb. tas 'tik' irgi toks salyginis nes dar asmeniskai as nemaciau kito mikrokontrolerio su tiek ram'o. (nekalbu apie dsp ar arm). |
|
|
|
|
|
 |
MSP430 subtilybes |
Parašytas: 2005 12 19, 22:26 |
|
|
|
|
na as tai cia mazumele panarsiai su google ..tai info nera labai daug .. bet kiek supratau tai istikro nera fieturas o labiau bugas ) artai palikta vietos ateiciai.... |
|
|
|
|
|
 |
 |
MSP430 subtilybes |
Parašytas: 2005 12 30, 17:08 |
|
|
|
|
| siena rašo: |
siaip galima pakoreguoti c startup faila kad pacioje pradzioje isjungtu wdt ) |
prireike pagalbos - gal galetum parasyt smulkiai kaip pakoreguot ta faila? susiradau as _low_level_init.c bet tenai irasius tai ka as noreciau padaryt startupe, nieko nevykdo. IAR'o user gide parasyta kad reik subuildinti savo library, tai kaip suprantu man reik pasirinkti Custom CLIB is Library Options? bet kaip pasidaryt ta savo clib'a? labai durna dalyka padariau - kazkaip bezaisdamas su maitinimu (charge pump nauja bandziau) uzrakinau visa flash'a, dabar proca randa, bet negali jo uzprogramuot reikia is vieno registro istrinti bit'a. sita eilute irasiau i ta mineta _low_level_init.c bet niekas nepasikeite. kaip cia reiktu daryt? aciu labai is anksto. |
|
|
|
|
|
 |
 |
MSP430 subtilybes |
Parašytas: 2005 12 30, 17:09 |
|
|
|
|
| siena rašo: |
siaip galima pakoreguoti c startup faila kad pacioje pradzioje isjungtu wdt ) |
prireike pagalbos - gal galetum parasyt smulkiai kaip pakoreguot ta faila? susiradau as _low_level_init.c bet tenai irasius tai ka as noreciau padaryt startupe, nieko nevykdo. IAR'o user gide parasyta kad reik subuildinti savo library, tai kaip suprantu man reik pasirinkti Custom CLIB is Library Options? bet kaip pasidaryt ta savo clib'a? labai durna dalyka padariau - kazkaip bezaisdamas su maitinimu (charge pump nauja bandziau) uzrakinau visa flash'a, dabar proca randa, bet negali jo uzprogramuot reikia is vieno registro istrinti bit'a. sita eilute irasiau i ta mineta _low_level_init.c bet niekas nepasikeite. kaip cia reiktu daryt? aciu labai is anksto. |
|
|
|
|
|
 |
 |
MSP430 subtilybes |
Parašytas: 2005 12 30, 17:31 |
|
|
|
|
na as su iar esu dirbes bet tik 8051 procui .. na bet jeigu ten viskas panasiai
tai ten yra tokis fuiliukas kaip cstartup.asm (ar kastai panasus)
mens ji tiesiog kompiliuodavome kartu su visu projektu ir vikas buvo gerai .. bet istikro gali buti kad reikia dar kurtai nurodyti.. as tikslia kaip tai nelabai pamenu senokokai buvo.. bet pamenu kad as kokiam tia manuale perskaiciau kad reikia susigeneruoti savo clib`a .. vargau vargau .. ir nevaike .. bet poto tiesiog paemaiu ir ikompiliavau cstartup faila ir viskas suveike ) |
|
|
|
|
|
|
 |
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 |
|

|
 |