реклама на сайте
подробности

 
 
> IAR ARM 4.41, Слишком умный :)
MALLOY2
сообщение Jul 20 2007, 11:18
Сообщение #1


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Не могу заставить компилятор генерить нужный код.
Есть такая структура
Код
#pragma pack(1)
typedef  
          {
            uint8     a8_0;
            uint8     a8_1;
            uint8     a8_2;
            uint8     a8_3;
            uint32   data_1;    
            uint32   data_2;
          } rtp_heder_t;


далее имеем массив 32 битных значений.

Код
uint32 my_buff[BUFF_SIZE];   //он тоже выровнен к границе 32 битных слов


далее идет функция
Код
void rtp_process(uint32 data)
{
   rtp_heder_t *ptr;                        //указатель на структуру  

   ptr = (rtp_heder_t*)&my_buff;    //берем указатель буфера ввода
  
   if (ptr->data_1 == data) ...         //вот здесь и порылась собака, сравнение происходит побайтово.  

}


Если my_buf объявить как rtp_heder_t тогда при сравнении используется чтение 32 бит, если дело касается каких либо указателей он начинает читать побайтово. Как обойти эту проблему ?, я понимаю что компилер сделал так что код никогда в дата аборт не попадет.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MALLOY2   IAR ARM 4.41   Jul 20 2007, 11:18
- - scifi   Дык ведь pragma pack(1) и говорит компилятору, что...   Jul 20 2007, 11:26
- - _artem_   Может быть проблем с align ? То есть структуа не р...   Jul 20 2007, 11:26
- - MALLOY2   ЦитатаДык ведь pragma pack(1) и говорит компилятор...   Jul 20 2007, 11:47
|- - KRS   Цитата(MALLOY2 @ Jul 20 2007, 15:47) Pack...   Jul 20 2007, 12:05
- - MALLOY2   ЦитатаНе совсем так! если в даном случае убрат...   Jul 20 2007, 12:13
|- - KRS   Цитата(MALLOY2 @ Jul 20 2007, 16:13) Если...   Jul 20 2007, 12:16
- - IgorKossak   В определении структуры забыли написать слово stru...   Jul 20 2007, 12:28
- - MALLOY2   ЦитатаДа не надо ничего говорить! Внутри струк...   Jul 20 2007, 12:35
|- - KRS   Цитата(MALLOY2 @ Jul 20 2007, 16:35) Эта ...   Jul 20 2007, 13:19
|- - Сергей Борщ   Цитата(KRS @ Jul 20 2007, 16:19) Да здесь...   Jul 20 2007, 17:32
- - zltigo   Цитата(MALLOY2 @ Jul 20 2007, 14:18) Не м...   Jul 20 2007, 12:36
|- - lebiga   Цитата(zltigo @ Jul 20 2007, 16:36) Увы, ...   Jul 22 2007, 19:28
- - mdmitry   Возможно в структуре поменять поля: поставить перв...   Jul 20 2007, 20:07
- - KRS   Цитата(mdmitry @ Jul 21 2007, 00:07) Возм...   Jul 22 2007, 09:43


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01453 секунд с 7
ELECTRONIX ©2004-2016