|
Атмел выложил документацию на SAM3S |
|
|
|
 |
Ответов
(15 - 29)
|
Dec 23 2009, 09:32
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(RabidRabbit @ Dec 23 2009, 12:06)  Ну, кто-то ведь пользуется фичей помещения кода некоторых функций в ОЗУ, или я глючу?  Я нет, ибо предпочитаю LPC а у них 128bit Flash и MAM достойно работает. Цитата Дык оно (Cortex-M3) при входе в исключение само что-то в стек запихивает, Вы разницы между само запихивает, но тем не менне тратит на это такты, и переключает банки "мгновенно" не видете? Цитата Другое дело, что если использовать тумбу вкупе с тумбой-2 (для компенсации убожества ограниченности тумбы) то можно теоретически получить некий выигрыш по сравнению с чисто тумбой, но это только моя теория, не более  Любая из них убогая, если выходить за пределы, например, 8bit констант  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 23 2009, 18:08
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(RabidRabbit @ Dec 23 2009, 21:54)  Вы меня с кем-то путаете  Я высказывался с точностью до наоборот: Моя теория вполне подтвердилась практически  Это ведь ваши слова: Цитата Это понятно, тумба-2 32-битная и сама по себе уменьшить код не поможет THUMB-2 включает в себя как 32 битные, так и 16 битные инструкции. Цитата тумбу+тумба2 А это вообще не понял - под какой камень вы компилировали совершенно не совместимые наборы инструкций? Кортексы не могут работать ни под ARM, ни под THUMB. Только THUMB-2.
|
|
|
|
|
Dec 23 2009, 18:47
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(aaarrr @ Dec 23 2009, 02:13)  А вот LQFP лучше не надо - чем создавать "огрызки", пригодные для сельской пайки, лучше использовать не сверх высокотехнологичные BGA 0.8-1mm. Тут, кстати, у Атмела все в порядке. Может тогда сразу reference дизайн как nVidia делает. Ни шагу влево ни шагу право. Я сталкивался с проблемами BGA корпусов, когда банальный непропай одной адресной линии стоит неделю времени на поиски проблемы, и в последствии к выбрасыванию железки (пока дорежешься до проблемы, плата восстановлению уже не подлежит). Оно то конечно пофиг на крупной серии, но в development'е BGA - зло.
|
|
|
|
|
Dec 23 2009, 19:10
|

Местный
  
Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040

|
Цитата(sonycman @ Dec 23 2009, 21:08)  THUMB-2 включает в себя как 32 битные, так и 16 битные инструкции. Это из "вайт-пэпера" на Cortex-M3: Features......ARM7TDMI-S............Cortex-M3 Architecture..ARMv4T (von Neumann)..ARMv7-M (Harvard) ISA Support...Thumb / ARM...........Thumb / Thumb-2 Цитата А это вообще не понял - под какой камень вы компилировали совершенно не совместимые наборы инструкций? Кортексы не могут работать ни под ARM, ни под THUMB. Только THUMB-2. Это из "рефренс-мануала" опять же на Cortex-M3: The processor implements the ARMv7-M architecture. This includes all the 16-bit Thumb instructions and the base 32-bit Thumb instructions. The processor cannot execute ARM instructions.Thumb-2 - по-моему, расширение тумбы, в котором размер команды - 32 бита. А компилировал я под тумбу для таргета ARM7TDMI, под тумбу/тумбу-2 для таргета Cortex-M3 (который, как Вы правильно заметили, по другому и не умеет  ).
|
|
|
|
|
Dec 23 2009, 19:58
|

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

|
Цитата(defunct @ Dec 23 2009, 20:47)  Я сталкивался с проблемами BGA корпусов, когда банальный непропай одной адресной линии херит неделю времени на поиски проблемы, и в последствии всю железку (пока дорежешься до проблемы, плата восстановлению уже не подлежит). Ужасы-то какие  . Неужели Boundary Scan по JTAG бессилен? - у 700-ногой BGA непропай минут за 5 находится. Если у чипа есть встроенное ОЗУ или блокируемый кеш инструкций - вообще шара - грузим по JTAG тестовый софт и гоняем нужные паттерны в реал-тайме. Цитата(RabidRabbit @ Dec 23 2009, 21:10)  Thumb-2 - по-моему, расширение тумбы, в котором размер команды - 32 бита. Не, там хитрее - есть и 16-битные команды, и 32-битные. Thumb-1 (тот который на ARMv4, 99% 16-битных команд) полностью включен в Thumb-2, то есть бинарный код в Thumb-1 без проблем должен исполняться на M3. 32-битные команды Thumb-2 как-бы состоят из двух 16-битных полуслов, первое из которых является чем-то вроде префикса, требуюшего второе полуслово для полного кодирования операции. Бинарный код префикса попадает в диапазон зарезервированных кодов пространства инструкций Thumb. Кстати, не всякий Cortex будет работать с Thumb-2, например, как я понял - ядро M1 - это ARMv6 и он понимает только Thumb ARMv4 с некоторыми минимальными расширениями. Цитата(sonycman @ Dec 23 2009, 20:08)  Кортексы не могут работать ни под ARM, ни под THUMB. Почему не могут под THUMB? Там полная бинарная совместимость "снизу-вверх".
|
|
|
|
|
Dec 23 2009, 20:20
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(RabidRabbit @ Dec 23 2009, 23:10)  А компилировал я под тумбу для таргета ARM7TDMI, под тумбу/тумбу-2 для таргета Cortex-M3 (который, как Вы правильно заметили, по другому и не умеет  ). Ага, теперь дошло, что вы имели ввиду. Но правильнее говорить не "тумба\тумба-2", а просто THUMB-2, так как невозможно сменить режим процессора на "чисто тумба", или "чисто тумба-2". Набор инструкций Cortex-M3 имеет единое название - Thumb-2. Цитата Другое дело, что если использовать тумбу вкупе с тумбой-2 (для компенсации убожества ограниченности тумбы) Опять же - вы не сможете использовать их раздельно.  Цитата(VslavX @ Dec 23 2009, 23:58)  Почему не могут под THUMB? Там полная бинарная совместимость "снизу-вверх". Спасибо, теперь всё стало понятнее
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|