|
Прошу помочь с подсчетом КС программы |
|
|
|
Feb 20 2007, 22:13
|
Группа: Новичок
Сообщений: 11
Регистрация: 3-05-06
Пользователь №: 16 721

|
Прошу помочь с подсчетом КС программы. Прочитал HELP на линкер, приведенный там пример не заработал (хотя узнал массу нового). Вопросы следующие: 1. Как вытащить начало и конец кода программы в функцию подсчета КС? 2. Есть ли возможность заставить линкер рассчитать CRC32 с заданным мною полиномом? Если можно практические рекомендации.
|
|
|
|
|
 |
Ответов
|
Mar 29 2007, 10:47
|

Участник

Группа: Участник
Сообщений: 63
Регистрация: 11-11-06
Из: Екатеринбург
Пользователь №: 22 191

|
Написал процедуру расчета CRC-кода программы и наткнулся на следующую проблему: обявляю указатель и присваиваю ему первый адрес памяти FLASH:
const unsigned char *Flash_ptr = (const unsigned char *)0x0001; //
далее в программу читаю данные по адресу, на который ссылается указатель, отдаю эти данные процедуре расчета CRC-кода, а указатель инкрементирую (потом) (привожу листинг):
269 do{ 270 asm ("wdr");
\ ??FLASH_test_0: \ 00000002 95A8 wdr
271 data = *Flash_ptr; 272 CRC8_calc(data);
\ 00000004 .... LDI R24, LOW(BitFld) \ 00000006 .... LDI R25, (BitFld) >> 8 \ 00000008 01FC MOVW R31:R30, R25:R24 \ 0000000A 81A4 LDD R26, Z+4 \ 0000000C 81B5 LDD R27, Z+5 \ 0000000E 910D LD R16, X+ \ 00000010 83A4 STD Z+4, R26 \ 00000012 83B5 STD Z+5, R27 \ 00000014 .... RCALL CRC8_calc 273 }while(++Flash_ptr <= (const unsigned char *)0x1FFE);
Вопрос в следующем: почему компилятор генерит код чтения из ОЗУ (команды LD, LDD) а не из FLASH (командой LPM)? В результате чего не получается посчитать CRC-код программы...
Сообщение отредактировал Василий Зыков - Mar 29 2007, 10:58
|
|
|
|
Сообщений в этой теме
ПАВ Прошу помочь с подсчетом КС программы Feb 20 2007, 22:13 zltigo Цитата(ПАВ @ Feb 20 2007, 21:13) Прочитал... Feb 20 2007, 22:51 ПАВ Уточню задачу. Имеется несколько устройств, с разн... Feb 22 2007, 00:04 zltigo Цитата(ПАВ @ Feb 21 2007, 23:04) Непонятн... Feb 22 2007, 00:15  sz36 Цитата(ПАВ @ Feb 22 2007, 01:04) Как приц... Apr 20 2007, 00:05   Сергей Борщ Цитата(sz36 @ Apr 19 2007, 23:05) А зачем... Apr 20 2007, 00:31    zltigo Цитата(Сергей Борщ @ Apr 20 2007, 00:31) ... Apr 20 2007, 00:55     Сергей Борщ Цитата(zltigo @ Apr 19 2007, 23:55) Пробл... Apr 20 2007, 09:24      lamerok Цитата(Сергей Борщ @ Apr 20 2007, 16:24) ... May 17 2007, 02:48       Сергей Борщ Цитата(lamerok @ May 17 2007, 09:48) Имен... May 17 2007, 03:20        zltigo Цитата(Сергей Борщ @ May 17 2007, 10:20) ... May 17 2007, 03:50         Сергей Борщ Цитата(zltigo @ May 17 2007, 10:50) Серге... May 17 2007, 05:57        lamerok Цитата(Сергей Борщ @ May 17 2007, 06:20) ... May 18 2007, 08:51 Василий Зыков Сам задал вопрос - сам и отвечаю
Изменил определ... Mar 29 2007, 13:14 Faradey Цитата(Василий Зыков @ Mar 29 2007, 12:14... Mar 29 2007, 14:12  Василий Зыков Цитата(Faradey @ Mar 29 2007, 17:12) __fl... Mar 29 2007, 14:55 Runner Сегодня с удивлением обнаружил, что талантливый ли... Sep 19 2009, 17:09 zltigo Цитата(Runner @ Sep 19 2009, 19:09) Сегод... Sep 19 2009, 17:41  Runner Цитата(zltigo @ Sep 19 2009, 19:41) Лучше... Sep 20 2009, 06:55
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|