Поздравляем lvad с днём рождения!
- Выравнивание в ARMv7-M, или почему ALIGN(4)?Я начинаю работать с LPC1766, использую GCC и пытаюсь разобраться в необходимости выравнивания секций кода/данных/стека. На данный момент пришёл к следующему выводу:код выравнивать по слову,данные -- мохоноги(3277 знак., 15.08.2011 05:39,
, ARM, полностью)
- Всем -- спасибо за комментарии. Пользуясь возможностями зарегистрированного пользователя, сохраню на будущее читабельную версию первого поста в теме. мохоноги(3148 знак., 21.08.2011 00:01 - 00:37)
- Для понимания необходимости выравнивания, надо читать документацию по конкретному микропроцессору (а не по компилятору). Дополнительно, если микропроцессор с кэшем, в некоторых случаях (по необходимости) применяется выравнивание на размер ++(75 знак., 16.08.2011 08:33, ссылка)
- Хм. Разве компилятор не обеспечивает выравнивание в случае необходимости и (при использовании соотв. типов переменных) максимальную скорость доступа ? - Vladimir Ljaschko(15.08.2011 11:02)
- Я рассматриваю вопрос работы не компилятора исходников, а компоновщика объектных файлов (линкера). В различных скриптах для ld, предназначенных для компоновки кода под Cortex-M3, я встречал вызовы ALIGN(4)/ALIGN(8). Вот и возник вопрос: а почему мохоноги(252 знак., 15.08.2011 14:19)
- на практике ALIGN(8) встречается для работы с .data .bss, если проц умеет long long-ами (64 бит) работать, то процедуры инициализации (crt0 и т.п., что работает до вызова main()) обычно делают через ldd/std, соответственно нужно выравнивание на 8, ыыыы(268 знак., 15.08.2011 15:20,
)
- Хотя, про "целиком на теории" это я слегка приврал. Проверено: данные размером в двойное слово считаются выровненными, если они выровнены по слову. По дальнейшему размышлению это кажется логичным (регистры у Cortex-M3 размером в слово, т.ч. мохоноги(180 знак., 15.08.2011 14:39)
- У меня было последствие: ф-ция printf() неправильно выводила float, когда указатель стека при её вызове не был кратен 8. Но это было на ARM7TDMI. - SciFi(15.08.2011 14:33)
- сам - нет, вернее по-умолчанию обычно да, но это всё отключаемо - koyodza(15.08.2011 11:07)
- Хм, это я удачно попал. Я старался пост отформатировать, а вышло, что не вышло. Приношу всем извинения за поломанные глаза.Повторю вопрос: на данный момент пришёл к следующему выводу: код выравнивать по слову, данные -- также по слову, адрес мохоноги(132 знак., 15.08.2011 05:45,
)
- Для все любителей stm32f2xx. Я выложил проэкт интеграции uCOS-IIIи stm32f2xx на michaelvys(119 знак., 20.08.2011 23:03, ARM)
- День добрый, меня зовут Вячеслав, недавно купил КИТ фирмы кеил MCB1750 на базе МК lpc1758, и сразу же столкнулся с проблемой:Пишу под ИАР 6.1, прошивается все нормально, поигрался с пинами, тоже все в порядке, далее решил разобраться с BaRaGoZ(1474 знак., 19.08.2011 13:07,
, ARM, полностью)
- День добрый, меня зовут Вячеслав,недавно купил КИТ фирмы кеил MCB1750 на базе МК lpc1758, и сразу же столкнулся с проблемой:Пишу под ИАР 6.1, прошивается все нормально, поигрался с пинами, тоже все в порядке, далее решил разобраться с BaRaGoZ(1026 знак., 19.08.2011 13:28)
- Зарегистрируйтесь, Вячеслав, для форматирования текста. Это не больно. - Vladimir Ljaschko(19.08.2011 13:12)
- Я выложил проэкт для STM3220G-EVAL с uCOS-II и LwIP на michaelvys(125 знак., 13.08.2011 15:41, ARM)
- Atmel разродился кучкой 400 Мгц SAM9 ->. Errata подозрительно мелкая :) Что впечатлило: Evgeny_CD(545 знак., 08.08.2011 18:22, ARM, ссылка, полностью)
- OMAP-L137. ARM-ядро. вместо IRQ вызывается FIQ. что делать? Mahagam(241 знак., 05.08.2011 23:12, ARM, полностью)
- Сломал DicoverySTM32... lenger43(720 знак., 05.08.2011 15:16, ARM, полностью)
- Камрады! Не понял сколькими проводами подключается отладчик SWD? T.Дocтoeвcкий(61 знак., 04.08.2011 03:36 - 03:39, ARM, полностью)
- Камрады. Не понял про Real-time Timer (RTT) в at91sam9260. Может ли он работать от внешней батарейки и как её туда подключить? Спсб. - T.Дocтoeвcкий(01.08.2011 02:55, ARM, полностью)
- Кто поможет понять, что это в STM32 за звери NVIC_IRQChannelPreemptionPriority, NVIC_InitStructure.NVIC_IRQChannelSubPriority. В примерах им задаются какие-то значения. Прочитал что приоритеты группируются, но не въехал зачем. И самое главное из Bublic(52 знак., 02.08.2011 12:34,
, ARM, полностью)
- ADC STM32 следственный эксперимент. PlainUser(355 знак., 01.08.2011 12:17, ARM)
- Уважаемые гуру STM32, опять я ничего я не понимаю. Вот неделю на таймеры убил, а не могу простой библиотечный пример усвоить. Пример - TimeBase. main. Задаю настроечную структуру. TIM_TimeBaseStructure.TIM_Period = 65535; Юра(368 знак., 24.07.2011 15:42,
, ARM, полностью)
- 14 июля обновился даташит на LPC43xx. Хотя вернее, наверное, сказать появился, т.к. та халтура, что была выпущена в конце 2010 на даташит явно не тянула. А этот уже более-менее... Dir(829 знак., 23.07.2011 00:22 - 02:13, ARM, ссылка, полностью)
- Что-то неясно где они планируют видеобуфер держать. В SRAM? С такой SRAM совокупная цена уже не будет такой интересной. AlexandrY(382 знак., 26.07.2011 16:27)
- AES вещь хорошая. Только вот скорость декриптования "1 byte/clock cycle" не очень высокая. И еще не понятно, как будет осуществляться доступ к одной флэш из двух процов (CM4 и CM0)? Или можно для каждого свою флэш прикрутить? - borman11(26.07.2011 10:41)
- А китов на них не видели случаем? (сам я конечно гугль помучал, но безрезультатно)Странно что не могу найти данные по DSP производительности этих кортексов, ну там dot product двух массивов итп. Сами библиотеки лежат, а сколько "тактов на DIY(34 знак., 24.07.2011 19:41,
)
- И LPC18xx до кучи. Причем появились живьем на digikey (те, что без флэши). - Dir(23.07.2011 01:00 - 01:03, ссылка, ссылка)
- А сцылко? - T.Дocтoeвcкий(23.07.2011 00:24)
- Никай не найду а сколько BKP регистров на борту у STM32F100R.. который на дешевом Дискавери-ките. - Bublic(20.07.2011 13:57,
, ARM, полностью)
- А где нынче берут MDK-ARM (version 4.11 and later) ? plainuser(55 знак., 21.01.2011 09:10, ARM, полностью)MBedder