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

 
 
> Прошу помочь с подсчетом КС программы
ПАВ
сообщение Feb 20 2007, 22:13
Сообщение #1





Группа: Новичок
Сообщений: 11
Регистрация: 3-05-06
Пользователь №: 16 721



Прошу помочь с подсчетом КС программы. Прочитал HELP на линкер, приведенный там пример не заработал (хотя узнал массу нового). Вопросы следующие:
1. Как вытащить начало и конец кода программы в функцию подсчета КС?
2. Есть ли возможность заставить линкер рассчитать CRC32 с заданным мною полиномом?
Если можно практические рекомендации. help.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Василий Зыков
сообщение Mar 29 2007, 10:47
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ПАВ   Прошу помочь с подсчетом КС программы   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, 09:47...   Mar 29 2007, 12: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


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

 


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


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