IAR вопросик

Programs, sources, embedded, demomaking, whatsoever related to subj :)

Postby deathsoft » 17 Sep 2012, 20:38

На старых армах (арм7, арм9, арм11) нельзя читать 16 и 32бита по не выровненным адресам (генерится эксцепшен), на кортексе можно читать уже ак угодно, как на х86, проц сам генерирует нужное количество циклов доступа к памяти.
User avatar
deathsoft
 
Posts: 4666
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby CHRV » 18 Sep 2012, 11:16

deathsoft wrote:На старых армах (арм7, арм9, арм11) нельзя читать 16 и 32бита по не выровненным адресам (генерится эксцепшен)

Не совсем, там типа зависит от корки арма. Некоторые поддерживают некоторые нет.
ВОт че у арма по этому поводу написано: http://infocenter.arm.com/help/index.js ... eghbg.html

MIPS и МОторолла (30 точно) тоже не поддерживают.
Многое есть здесь: www.nedopc.com
User avatar
CHRV
Желесяка
 
Posts: 2133
Joined: 15 Apr 2007, 21:52
Group: Registered users

Postby lvd » 18 Sep 2012, 13:02

CHRV wrote:Не совсем, там типа зависит от корки арма. Некоторые поддерживают некоторые нет.
ВОт че у арма по этому поводу написано: http://infocenter.arm.com/help/index.js ... eghbg.html
MIPS и МОторолла (30 точно) тоже не поддерживают.

Речь шла что якобы байт может быть невыровненный, что явно гон для всех перечисленных процессоров. А моторола начиная с 68020 может невыровненные ворды и лонги читать.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7227
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby TS-Labs » 18 Sep 2012, 14:19

Кортекс-М3 тоже не может читать невыровненые ворды, халфы и лонги. Если структура незаалайнена компилер генерит код на LDRB и STRB.
TS-Labs
 
Posts: 1150
Joined: 19 Apr 2010, 10:10
Location: Wildest West
Group: Registered users

Postby TS-Labs » 18 Sep 2012, 14:28

Хотя нет:
The CM3Core supports ARMv6 unaligned accesses, and performs all accesses as
single, unaligned accesses. They are converted into two or more aligned accesses by the
DCode and System bus interfaces. Unaligned support is only available for load/store singles (LDR, STR). Load/store
double already supports word aligned accesses, but does not permit other unaligned
accesses, and generates a fault if this is attempted.
Unaligned accesses that cross memory map boundaries are architecturally
Unpredictable.
TS-Labs
 
Posts: 1150
Joined: 19 Apr 2010, 10:10
Location: Wildest West
Group: Registered users

Postby lvd » 18 Sep 2012, 14:50

TS-Labs wrote:невыровненые ворды, халфы и лонги.

третий лишний, не?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7227
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby TS-Labs » 19 Sep 2012, 12:47

Почему?
TS-Labs
 
Posts: 1150
Joined: 19 Apr 2010, 10:10
Location: Wildest West
Group: Registered users

Postby lvd » 19 Sep 2012, 13:06

кто у тебя ворд, и кто лонг?
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7227
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby TS-Labs » 19 Sep 2012, 20:55

Не у меня, а у кортекса. ворд - 32, лонг дабл - 64. LDRB / LDRH / LDR / LDRD
TS-Labs
 
Posts: 1150
Joined: 19 Apr 2010, 10:10
Location: Wildest West
Group: Registered users

Postby lvd » 19 Sep 2012, 21:58

ах вот оно что, великий программист клавиатурой спутал лонг и дабл.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7227
Joined: 07 Apr 2007, 21:28
Group: Registered users

PreviousNext

Return to Coding

Who is online

Users browsing this forum: No registered users and 1 guest

cron