|
Odd address trap и LPC23xx, А что, LPC не генерит unaligned access exeption? |
|
|
|
Jan 15 2009, 18:43
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
У меня в тестовой прошивке есть такой небольшой чудный кусочек кода: Код { ungigned long *p; dprintf("\r\nNon aligned DWORD read.. "); dflush(); p = (unsigned long*)(0x209 + LPC_ISRAM); dprintf("%08X", *p); } Назначение этого кусочка - протестировать работу соответствующего обработчика исключения. Код прекрасно отработал на S3C44BOX, S3C2410, IXP42x, SAM7xx, PXA2xx/3xx и много лет все было чудесно. И вот, "понимаете, в машине в которой мы ехали, случайно, совершенно случайно, оказался цемент" ©. Я "совершенно случайно" запустил этот код на LPC2388, и... не увидел свой любимый "ODD ADDRESS TRAP". Смотрим документацию, "усер мануал" на LPC23xx вообще не содержит слова "unaligned". В-общем, красота - при невыравненном адресе - на LPC23xx читается/пишется переставленный мусор, и все это МОЛЧА. Такая низость в самом деле имеет место, или я чего-то недопонимаю?
|
|
|
|
|
 |
Ответов
|
Jan 19 2009, 06:00
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Понятно, хочется переложить на процессор собственные баги. Причём хочется чтобы в процессе эксплуатации программа именно зависла, но нельзя допустить чтобы она исполнялась на 1% медленнее, но без багов Достаточно короткий вариант отлова ошибок: Код tst r0,#3 swine 100 ldr r1,[r0,#+0] И не говорите, что он будет тормозить проц. Два такта проверки в дополнение к 3 тактам чтения рамы это ничто. Не знаю, как эту проверку автоматизировать на Си, но на Асме это делается легко.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
Сообщений в этой теме
VslavX Odd address trap и LPC23xx Jan 15 2009, 18:43 aaarrr Цитата(VslavX @ Jan 15 2009, 21:43) Такая... Jan 15 2009, 19:37 VslavX Цитата(aaarrr @ Jan 15 2009, 21:37) Имеет... Jan 15 2009, 20:08  abcdefg Цитата(VslavX @ Jan 15 2009, 23:08) P.S. ... Jan 16 2009, 07:35   VslavX Цитата(abcdefg @ Jan 16 2009, 09:35) в ко... Jan 16 2009, 07:56 amw Цитата(VslavX @ Jan 15 2009, 20:43) У мен... Jan 16 2009, 07:43 meister Цитата(VslavX @ Jan 15 2009, 22:43) В-общ... Jan 16 2009, 08:33 VslavX КодIf the memory address is not word-aligned, the ... Jan 16 2009, 09:02  meister Цитата(VslavX @ Jan 16 2009, 13:02) В люб... Jan 16 2009, 09:04  zltigo Цитата(VslavX @ Jan 16 2009, 12:02) Очень... Jan 16 2009, 09:58   defunct Цитата(zltigo @ Jan 16 2009, 11:58) (кста... Jan 16 2009, 10:20    zltigo Цитата(defunct @ Jan 16 2009, 13:20) Комп... Jan 16 2009, 10:30     defunct Цитата(zltigo @ Jan 16 2009, 12:30) Отнюд... Jan 16 2009, 13:27      zltigo Цитата(defunct @ Jan 16 2009, 16:27) Это ... Jan 16 2009, 13:38       defunct Цитата(zltigo @ Jan 16 2009, 15:38) В дан... Jan 16 2009, 13:49        GetSmart Цитата(defunct @ Jan 16 2009, 19:49) Не, ... Jan 16 2009, 14:16         defunct Цитата(GetSmart @ Jan 16 2009, 16:16) Ещё... Jan 16 2009, 18:01          GetSmart Цитата(defunct @ Jan 17 2009, 00:01) Да н... Jan 17 2009, 05:12           VslavX Цитата(GetSmart @ Jan 17 2009, 07:12) А в... Jan 17 2009, 06:46           defunct Цитата(GetSmart @ Jan 17 2009, 07:12) Пар... Jan 17 2009, 17:00            zltigo Цитата(defunct @ Jan 17 2009, 19:00) В та... Jan 17 2009, 17:13             defunct Цитата(zltigo @ Jan 17 2009, 19:13) Вы, э... Jan 17 2009, 18:25              aaarrr Цитата(defunct @ Jan 17 2009, 21:25) т.к.... Jan 17 2009, 18:41              abcdefg Цитата(defunct @ Jan 17 2009, 21:25) О то... Jan 17 2009, 18:47              zltigo Цитата(defunct @ Jan 17 2009, 20:25) О то... Jan 17 2009, 19:46               defunct Цитата(zltigo @ Jan 17 2009, 21:46) Ну и ... Jan 18 2009, 00:44                GetSmart Цитата(defunct @ Jan 18 2009, 06:44) Согл... Jan 18 2009, 06:15                 defunct Цитата(GetSmart @ Jan 18 2009, 08:15) Дам... Jan 18 2009, 21:46              VslavX Цитата(defunct @ Jan 17 2009, 20:25) на L... Jan 17 2009, 19:58      GetSmart Цитата(defunct @ Jan 16 2009, 19:27) Код*... Jan 16 2009, 13:43   VslavX Цитата(zltigo @ Jan 16 2009, 11:58) Вообщ... Jan 16 2009, 11:03    meister Цитата(zltigo @ Jan 16 2009, 13:58) Тут с... Jan 16 2009, 11:11    zltigo Цитата(VslavX @ Jan 16 2009, 14:03) Самый... Jan 16 2009, 12:07     VslavX Цитата(zltigo @ Jan 16 2009, 14:07) Все в... Jan 16 2009, 16:23      zltigo Цитата(VslavX @ Jan 16 2009, 19:06) Чему ... Jan 16 2009, 16:38       VslavX Цитата(zltigo @ Jan 16 2009, 18:24) проек... Jan 16 2009, 16:39        zltigo Цитата(VslavX @ Jan 16 2009, 19:39) А мож... Jan 16 2009, 17:01         VslavX Цитата(zltigo @ Jan 16 2009, 19:01) memcp... Jan 16 2009, 18:06          zltigo Цитата(VslavX @ Jan 16 2009, 21:06) Ну и ... Jan 16 2009, 18:52           VslavX Цитата(zltigo @ Jan 16 2009, 20:52) Посме... Jan 16 2009, 20:28            zltigo Цитата(VslavX @ Jan 16 2009, 22:28) Гы, я... Jan 16 2009, 21:45 GetSmart Прямо скажу, я за 3 года об АРМах столько всего на... Jan 17 2009, 08:52 zltigo Цитата(GetSmart @ Jan 17 2009, 10:52) А н... Jan 18 2009, 11:17  aaarrr Цитата(zltigo @ Jan 18 2009, 14:17) Если ... Jan 18 2009, 12:10   zltigo Цитата(aaarrr @ Jan 18 2009, 14:10) генер... Jan 18 2009, 12:14  VslavX Имхо, это уж совсем клиническая ситуация - "н... Jan 18 2009, 13:06 zltigo ЦитатаИмхо, это уж совсем клиническая ситуация - ... Jan 18 2009, 13:18 VslavX Мне правда интересно. На ARM-е можно любой невырав... Jan 18 2009, 13:30  zltigo Цитата(VslavX @ Jan 18 2009, 15:30) Не по... Jan 18 2009, 13:53   VslavX Цитата(zltigo @ Jan 18 2009, 15:53) У мен... Jan 18 2009, 14:29    zltigo Цитата(VslavX @ Jan 18 2009, 16:29) Ну, д... Jan 18 2009, 15:32     VslavX Кодtst R0,#0x3
ldrh R0,[R0, #+0]
lsrne ... Jan 18 2009, 15:47     GetSmart Цитата(zltigo @ Jan 18 2009, 21:32) Кодls... Jan 18 2009, 16:28      zltigo Цитата(GetSmart @ Jan 18 2009, 18:28) Это... Jan 18 2009, 17:27       VslavX КодBYTE tbuff[8] = { 0x01, 0x02, 0x03, 0x0... Jan 18 2009, 19:32        zltigo Цитата(VslavX @ Jan 18 2009, 21:32) А чег... Jan 18 2009, 20:06         VslavX Цитата(zltigo @ Jan 18 2009, 22:06) Писал... Jan 18 2009, 20:37          zltigo Цитата(VslavX @ Jan 18 2009, 22:37) Я так... Jan 18 2009, 20:55 Rst7 Цитатаtst R0,#0x3
ldrh R0,[R0, #+0]
lsrne... Jan 18 2009, 15:43 zltigo Цитата(Rst7 @ Jan 18 2009, 17:43) Простит... Jan 18 2009, 16:05  VslavX Цитата(zltigo @ Jan 18 2009, 18:05) Я НЕ ... Jan 18 2009, 16:28  GetSmart Цитата(defunct @ Jan 19 2009, 17:39) Два ... Jan 19 2009, 12:28
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|