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

 
 
> Размер таблицы прерываний STM32
Rash
сообщение May 26 2015, 06:51
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



День добрый.
Подскажите, как получить размер таблицы прерываний __vector_table из файла startup_stm32f40_41xxx.s , использую IAR.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение May 26 2015, 07:51
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



В Keil в стартапе есть такая строка после векторов:
__Vectors_Size EQU __Vectors_End - __Vectors
Но как ее использовать в c-файлах, я не смог найти способа.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 26 2015, 08:22
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(ViKo @ May 26 2015, 10:51) *
Но как ее использовать в c-файлах, я не смог найти способа.

Cначала EXPORT <var> в ассемблере, затем extern <type> <var> в си. В IAR'е должно быть что-то подобное.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 26 2015, 08:43
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(aaarrr @ May 26 2015, 11:22) *
Cначала EXPORT <var> в ассемблере, затем extern <type> <var> в си. В IAR'е должно быть что-то подобное.

Порылся в своем, нашел, вспомнил - в c-файл из ассемблерного можно передать переменную. Вот обратного действия у меня не получилось.
Вот здесь жалился: http://electronix.ru/forum/index.php?showt...t&p=1324623
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение May 27 2015, 07:29
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(ViKo @ May 26 2015, 09:43) *
Порылся в своем, нашел, вспомнил - в c-файл из ассемблерного можно передать переменную. Вот обратного действия у меня не получилось.

Я не думаю, что IAR в этом смысле сильно отличается от KEIL, а в KEIL для использования в С из S:

s:
EXPORT mysimbol
c:
extern <typedef> mysimbol;

В обратную сторону:

c:
<typedef> mycsimbol;
s:
IMPORT mycsimbol

Мне "удалось" также импортировать в ассемблер символы, генерируемые компоновщиком (касается адресов и размеров секций). Например,

IMPORT |Load$$LR$$LR_IROM2$$Length|,

то есть, длину региона загрузки LR_IROM2 (должно быть обрамлено именно вертикальными линиями). Это все не я раскопал, конечно. Описано на сайте onarm.com, но ссылки я уже не приведу.

Сообщение отредактировал KnightIgor - May 27 2015, 07:30
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Rash   Размер таблицы прерываний STM32   May 26 2015, 06:51
- - Obam   Цитата(Rash @ May 26 2015, 10:51) День до...   May 26 2015, 07:14
|- - aaarrr   Цитата(ViKo @ May 26 2015, 11:43) Вот обр...   May 26 2015, 15:22
- - SSerge   В IAR ещё проще Код#pragma section=".intvec...   May 26 2015, 08:42
- - Axel   В CrossWorks (GNU) работает это: CODEextern void*...   May 27 2015, 03:49
|- - SSerge   Цитата(Axel @ May 27 2015, 10:49) Может б...   May 27 2015, 07:37
|- - Сергей Борщ   Цитата(SSerge @ May 27 2015, 10:37) Но у ...   May 27 2015, 08:36
- - Rash   Спасибо всем. результат таков: 1. через __segment_...   May 28 2015, 06:04
|- - SSerge   Цитата(Rash @ May 28 2015, 13:04) Спасибо...   May 28 2015, 10:27
- - Golikov A.   а почему размер указателя разделить на размер указ...   May 28 2015, 07:43
- - Rash   всё правильно, что даёт 1, я имел виду, что т.о. н...   May 28 2015, 10:17
- - Rash   .s беру стандартные из CMSIS, FLASH_WRITE_BLOCK_SI...   May 28 2015, 10:57
- - Golikov A.   Если не ошибаюсь там есть начало и конец таблицы и...   May 28 2015, 11:02
- - Rash   конца таблицы (хотя он вроде как есть) я не нашёл,...   May 28 2015, 11:06
|- - scifi   Цитата(Rash @ May 28 2015, 14:06) Бутлоад...   May 28 2015, 12:19
- - Golikov A.   ЦитатаБутлоадер в основной прошивке запишет CRC ос...   May 28 2015, 11:35
- - ViKo   CRC я дописываю в конец файла прошивки. Естественн...   May 28 2015, 13:05
- - Rash   да в принципе не важно где хранить в дыре или в ко...   May 28 2015, 13:24
- - ViKo   В Keil: Код__Vectors DCD __initial_sp ...   May 28 2015, 13:31
- - Golikov A.   ЦитатаЭтот же размер я храню в области векторов, к...   May 28 2015, 18:57
|- - ViKo   Цитата(Golikov A. @ May 28 2015, 21:57) а...   May 29 2015, 04:00
- - Rash   Цитата(Golikov A. @ May 28 2015, 21:57) а...   May 28 2015, 19:27
- - Golikov A.   а кто передавать то требует? вы передаете только п...   May 28 2015, 20:12
- - Golikov A.   да все равно память на борту лежит, какая разница ...   May 29 2015, 09:45
- - Rash   Появилось время попробовать вариант 2 код в .s фай...   Jun 5 2015, 10:23
- - Golikov A.   вас спасет assert через #if, вероятнее такое дей...   Jun 5 2015, 11:09
- - toweroff   а если указать, что это значение - во флеш (конста...   Jun 5 2015, 21:31


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

 


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


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