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

 
 
> Сигнатура LPC
3.14
сообщение Jan 12 2007, 14:03
Сообщение #1


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Как автоматизировать процесс вычисления и подстановки сигнатуры?
Использовать только ради этого LPC2000 Flash utility не самый лучший вариант.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
3.14
сообщение Jan 14 2007, 16:00
Сообщение #2


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Тогда разъясните плиз по синтаксису (приведенного выше стартапа).
После загрузки РС (хотя выражение "#reset_handler_address - . - 8" выглядит как-то странно), в РС снова должен грузится адрес, а вместо этого:
reset_handler_address:
.word reset_handler
Это как ...?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Alex03
сообщение Jan 14 2007, 16:30
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Цитата(3.14 @ Jan 14 2007, 18:00) *
Тогда разъясните плиз по синтаксису (приведенного выше стартапа).
После загрузки РС (хотя выражение "#reset_handler_address - . - 8" выглядит как-то странно), в РС снова должен грузится адрес, а вместо этого:
reset_handler_address:
.word reset_handler
Это как ...?

Код
_vectors:
  ldr pc, [pc, #reset_handler_address - . - 8]  /* reset */

Тут #reset_handler_address это адрес переменной (константы) в которой лежит адрес настоящего обработчика.
"." это адрес текущей инструкции.
"-8" - особенности АРМ архитектуры, где, скажем так, PC указывает не на текущую исполняемую команду, а на голову конвеера, которая уже убежала вперёд. (поправьте если я не так выразился smile.gif )
Кстати этого момента я не очень понял, не уж то так сложно им было расширить корвеер 32-х битным регистром для PC на каждой стадии. smile.gif

В LPC контольная сумма считается только для первых 8-ми слов.
Т.е. из приведённого примера от
Код
  ldr pc, [pc, #reset_handler_address - . - 8]  /* reset */

до
Код
  ldr pc, [pc, #fiq_handler_address - . - 8]    /* fiq handler */

поэтому изменение "указателей" на обработчики (при их перемещении линкером)
Код
  .word reset_handler
  .word undef_handler
  .word swi_handler
  .word pabort_handler
  .word dabort_handler
  .word fiq_handler

Никак не влияет на контрольную сумму.

Ну а
Код
ldr pc, [pc, #-0xFF0]                         /* irq handler */

Это сразу загрузка из VICVectAddr
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 14 2007, 16:55
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Alex03 @ Jan 14 2007, 15:30) *
Ну а
Код
ldr pc, [pc, #-0xFF0]                         /* irq handler */

Это сразу загрузка из VICVectAddr

Дополнительные разъяснения:
VICVectAddr = 0xFFFFF030
Текущий PC 18h +8 конвеер поминаемый ранее. Вычитаем 0xFF0 получаем желанный
0xFFFFF030.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 3.14   Сигнатура LPC   Jan 12 2007, 14:03
- - amw   Цитата(3.14 @ Jan 12 2007, 15:03) Как авт...   Jan 12 2007, 17:18
- - 3.14   Именно та что по 0х14 адресу ставится, не поделите...   Jan 12 2007, 21:42
|- - makc   Цитата(3.14 @ Jan 12 2007, 21:42) Именно ...   Jan 12 2007, 22:51
||- - zltigo   Цитата(makc @ Jan 12 2007, 21:51) Их есть...   Jan 13 2007, 00:37
||- - makc   Цитата(zltigo @ Jan 13 2007, 00:37) Цитат...   Jan 14 2007, 13:47
||- - zltigo   Цитата(makc @ Jan 14 2007, 12:47) А вообщ...   Jan 14 2007, 14:47
||- - makc   Цитата(zltigo @ Jan 14 2007, 14:47) Цитат...   Jan 14 2007, 15:11
||- - zltigo   Цитата(makc @ Jan 14 2007, 14:11) ничего ...   Jan 14 2007, 15:34
||- - makc   Цитата(zltigo @ Jan 14 2007, 15:34) Цитат...   Jan 14 2007, 15:39
|- - amw   Цитата(3.14 @ Jan 12 2007, 22:42) Именно ...   Jan 15 2007, 16:01
- - 3.14   2 makc Спасибо!   Jan 13 2007, 01:42
- - Alex03   А чем жёсткий стартап (область векторов прерываний...   Jan 14 2007, 13:38
- - 3.14   2 Alex03 Как то боязно, хотя пока так и делаю. Ко...   Jan 14 2007, 14:33
|- - makc   Цитата(3.14 @ Jan 14 2007, 14:33) 2 Alex0...   Jan 14 2007, 14:40
- - 3.14   2 makc Ну а если вот такой случай: изначально обра...   Jan 14 2007, 15:07
- - 3.14   И все-таки, сместятся обработчики, изменятся и ссы...   Jan 14 2007, 15:16
|- - makc   Цитата(3.14 @ Jan 14 2007, 15:16) И все-т...   Jan 14 2007, 15:22
- - 3.14   Кстати, в подробности не вдавался, но HEX-ы IAR-а ...   Jan 15 2007, 17:35
- - zltigo   Цитата(3.14 @ Jan 15 2007, 16:35) Кстати,...   Jan 15 2007, 18:00


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

 


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


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