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

 
 
> CRC в IAR и определение конечного адреса, Подготовка к написанию BootLoadera
SasaVitebsk
сообщение Sep 22 2007, 10:24
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Доброго времени суток.
Где-то по топикам видел (не записал к сожалению), что IAR может автоматически генерить и вставлять CRC в конец проги. Хочу свой BootLoader написать и там это мне обязательно понадобится. Отсюда вопросы.
1) Как и где эту опцию включить в IAR.
2) Как из проги обратится к этой CRC (видимо какая то глобальная переменная есть, которая LINKером генерится)
3) Какая формула CRC, а лучше таблица или п/п.

Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
igorAT
сообщение Sep 24 2007, 13:12
Сообщение #2





Группа: Новичок
Сообщений: 1
Регистрация: 24-09-07
Из: Симферополь
Пользователь №: 30 787



Доброго времени суток.
SasaVitebsk, если Вы разобрались с CRC в IAR, то прошу помощи.
MEGA32
Строка в .xcl - -J2,crc16,1,=(CODE)0-1(для пробы считаю CRC для первых
двух байт прошивки)
Значения во FLASH 0x0000=0C, 0x0001=94
На месте CHECKSUM#7FFF - af 79
В .map:
Symbol Checksum Memory Start End Initial value
------ -------- ------ ----- --- -------------
__checksum 0x79af CODE 00000000 - 00000001 0x0
Вычисляю:
Код
void crc16_buf(u08 const __flash *buf,u16 buf_size)
{
  u32 oldcrc = 0;
  u32 newcrc;
  u16 bit;
  u08 byte,count;
  
  while(buf_size){
    byte = (*buf);
    count = 7;
    do{
      if(byte & 0x80)
    bit = 1;
      else
    bit = 0;
      newcrc = (oldcrc << 1) ^ bit;
//      if(oldcrc & 0x80000000) newcrc ^= 0xA0010000;
      if(oldcrc & 0x8000) newcrc ^= 0x1021;
      oldcrc = newcrc;
      byte <<= 1;
    }while(count--);
    buf++;
    buf_size--;
  }
  crc16mb_prev = oldcrc;
}

Не получается получить такой же результат.
Может увидите где ошибаюсь
Заранее спасибо.
[/quote]
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SasaVitebsk   CRC в IAR и определение конечного адреса   Sep 22 2007, 10:24
- - prottoss   Цитата(SasaVitebsk @ Sep 22 2007, 18:24) ...   Sep 22 2007, 10:30
- - zltigo   Цитата(SasaVitebsk @ Sep 22 2007, 13:24) ...   Sep 22 2007, 10:36
- - prottoss   Processing With the Processing options you can sp...   Sep 22 2007, 10:57
- - SasaVitebsk   Вроде понял получилось -J2,crc16,1,(CODE)E4-E6 Но...   Sep 22 2007, 14:27
|- - zltigo   Можете завести свой сегмент и всегда линковать его...   Sep 22 2007, 15:16
|- - SasaVitebsk   Цитата(zltigo @ Sep 22 2007, 18:16) Может...   Sep 22 2007, 17:30
|- - zltigo   Цитата(SasaVitebsk @ Sep 22 2007, 20:30) ...   Sep 22 2007, 17:40
- - SasaVitebsk   Спасибо огромное.   Sep 23 2007, 16:00
|- - Сергей Борщ   Цитата(igorAT @ Sep 24 2007, 16:12) Кодvo...   Sep 26 2007, 21:39
- - vladimir_ad   Цитата(igorAT @ Sep 24 2007, 17:12) while...   Sep 26 2007, 13:40
|- - Сергей Борщ   Цитата(vladimir_ad @ Sep 26 2007, 16:40) ...   Sep 26 2007, 20:29
|- - vladimir_ad   Цитата(Сергей Борщ @ Sep 27 2007, 00:29) ...   Sep 27 2007, 08:51
|- - Сергей Борщ   Цитата(vladimir_ad @ Sep 27 2007, 11:51) ...   Sep 27 2007, 09:10
|- - vladimir_ad   Цитата(Сергей Борщ @ Sep 27 2007, 13:10) ...   Sep 27 2007, 10:51
- - Waso   Почему линкер при линковке требует больше места че...   Nov 22 2007, 09:29
|- - Сергей Борщ   Цитата(Waso @ Nov 22 2007, 11:29) Почему ...   Nov 22 2007, 11:03
|- - Сергей Борщ   Цитата(Сергей Борщ @ Nov 22 2007, 13:03) ...   Nov 25 2007, 18:43
- - Waso   Рецепт работает, благодарю! Еще вопрос по CRC...   Nov 27 2007, 09:13
- - Сергей Борщ   Цитата(Waso @ Nov 27 2007, 11:13) В иаре ...   Nov 27 2007, 11:01


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 21:28
Рейтинг@Mail.ru


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