Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Big-Endian - в Keil
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
dea-kga
Не могу поменять формат данных на Big-Endian в Keil. Просто в порт нужно слать в обратном порядке, пограмно переворачивать не хочется. crying.gif ПМОГИТЕ !!! Пробовал ставить галочку Big-Endian почему то не работает.
scifi
Цитата(dea-kga @ Sep 25 2007, 16:49) *
Не могу поменять формат данных на Big-Endian в Keil. Просто в порт нужно слать в обратном порядке, пограмно переворачивать не хочется. crying.gif ПМОГИТЕ !!! Пробовал ставить галочку Big-Endian почему то не работает.

Насколько я знаю, у компиляторов нет фишки типа "вот эту штуку преобразовать из little endian в big endian". Все программно преобразуют. К тому же это очень просто.
amw
К тому-же big-endian и little-endian НЕ ДОЛЖНЫ линковаться в один исполняемый файл.
big-endian и little-endian - это режим работы процессора. В смешаном режиме он работать не может.
Я знаю только один ARM, который может выполнять автоматическое преобразование endian для встроенных модулей, в соответствии с их конфигурацией аппаратно - IXP4xx от Intel.
scifi
В копилку: приведённый ниже исходник при помощи компилятора IAR ARM 4.4x генерирует оптимальный код для изменения порядка байтов в 32-битном слове (с включенной оптимизацией, режим ARM, 4 строчки - 4 инструкции).
Код
__arm uint32_t htonl(uint32_t n)
{
  uint32_t tmp;

  tmp = n ^ ((n << 16) | (n >> 16));
  tmp &= ~0x00ff0000;
  n = (n << 24) | (n >> 8);
  n ^= (tmp >> 8);

  return n;
}
zltigo
Цитата(scifi @ Sep 25 2007, 22:45) *
В копилку

Очень хорошо. Спасибо!
dea-kga
Всем большое спасибо!!! Буду знать.
alexander55
Цитата(dea-kga @ Sep 25 2007, 16:49) *
Не могу поменять формат данных на Big-Endian в Keil. Просто в порт нужно слать в обратном порядке, пограмно переворачивать не хочется. crying.gif ПМОГИТЕ !!! Пробовал ставить галочку Big-Endian почему то не работает.

LPC этот формат не поддерживают и правильно делают.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.