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

 
 
> Настройка GCC компилятора для CortexM4, Какой ключ указать, чтобы использовать DSP инструкции
sidy
сообщение Jul 2 2013, 11:24
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 280
Регистрация: 2-11-08
Пользователь №: 41 333



Здравствуйте, уважаемые форумчане. Пытаюсь настроить GCC компилятор для работы с STM32F4. Нашел на сайте gcc что для оптимального использования инструкций процессора необходимо задать ключ -mtune со следующими атрибутами: -mtune=arm7m. STM32F4 (Cortex-M4) выполнен архитектуре ARMv7E-M и поддерживает DSP инструкции. А ключ -mtune=arm7m относится к процессорам Cortex-M3 (архитектура ARMv7-M) - которые не поддерживают DSP. Кто знает какой атрибут ключа должен быть задан для ARMv7E-M?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sidy
сообщение Jan 23 2014, 19:59
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 280
Регистрация: 2-11-08
Пользователь №: 41 333



Читаю книгу Joseph Yiu "The Definitive Guide to the ARM Cortex-M3" и нашел там в главе про bus fault следующее:
In the Cortex-M3, bus faults can also occur during the following:
Stack PUSH in the beginning of interrupt processing, called a stacking error.

Как видно у меня обработчик прерывания начинается с push:
Прикрепленное изображение

Теперь возникает вопрос как избавиться от push в начале прерывания?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 24 2014, 09:12
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(sidy @ Jan 23 2014, 21:59) *
Как видно у меня обработчик прерывания начинается с push:
Полагаю, что тут имеется ввиду аппаратная запись стекового фрейма (R0-R3, R12, PC, LR, PSR).
Цитата
When the processor takes an exception, unless the exception is a tail-chained or a latearriving
exception, the processor pushes information onto the current stack. This operation
is referred as stacking and the structure of eight data words is referred as stack frame


На нее вы повлиять не можете.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sidy   Настройка GCC компилятора для CortexM4   Jul 2 2013, 11:24
- - etoja   -mcpu=cortex-m4 -mthumb -c -Os -std=c99 -Wall -Wl...   Jul 2 2013, 11:40
- - Kornelij   Посмотри здесь: http://electronix.ru/forum/lofiver...   Jul 2 2013, 11:45
|- - sidy   Цитата(Kornelij @ Jul 2 2013, 15:45) Посм...   Jul 2 2013, 14:38
- - sidy   Сравнивал два компилятора GCC 4.7 и ARMCC 4.1.0 в ...   Jul 3 2013, 05:03
|- - Сергей Борщ   QUOTE (sidy @ Jul 3 2013, 07:03) Уровни о...   Jul 3 2013, 05:58
- - sidy   Задам еще один вопрос: сейчас использую CooCox CoI...   Dec 5 2013, 15:53
|- - jcxz   Прочитать наконец доку на используемое ядро. Посмо...   Dec 5 2013, 16:55
- - sidy   Вот я снова получил Default Handler: в LR содержи...   Dec 6 2013, 05:25
|- - SII   Цитата(sidy @ Dec 6 2013, 09:25) в LR сод...   Dec 6 2013, 21:33
- - Сергей Борщ   Невнимательно вы читали. Раздел "Exception mo...   Dec 6 2013, 07:06
- - klen   GCC не умет??????????????? c-код Код NOP(...   Dec 6 2013, 20:16
- - sidy   Как написано в ReferenceManual во время исключения...   Dec 16 2013, 14:55
|- - A. Fig Lee   Цитата(sidy @ Dec 16 2013, 09:55) Как нап...   Dec 16 2013, 15:31
- - sidy   Я снова получил HardFault и использовал функцию, п...   Dec 18 2013, 07:32
|- - demiurg_spb   Цитата(sidy @ Dec 18 2013, 11:32) Что нуж...   Dec 18 2013, 09:44
||- - sidy   Цитата(demiurg_spb @ Dec 18 2013, 13:44) ...   Dec 18 2013, 09:55
|- - ig_z   QUOTE (sidy @ Dec 18 2013, 09:32) И как т...   Dec 18 2013, 10:13
- - sidy   Еще один вопрос: использую компилятор gcc, смотрю ...   Dec 24 2013, 12:32
|- - demiurg_spb   Цитата(sidy @ Dec 24 2013, 16:32) В этом ...   Dec 24 2013, 13:37
- - sidy   Поймал HardFault еще раз с помощью функции __get_M...   Dec 25 2013, 05:17
|- - demiurg_spb   Цитата(sidy @ Dec 25 2013, 09:17) Странны...   Dec 25 2013, 08:33
|- - sidy   Цитата(demiurg_spb @ Dec 25 2013, 12:33) ...   Dec 25 2013, 09:50
|- - demiurg_spb   Цитата(sidy @ Dec 25 2013, 13:50) Функция...   Dec 25 2013, 09:56
|- - sidy   Цитата(demiurg_spb @ Dec 25 2013, 13:56) ...   Dec 27 2013, 06:15
|- - demiurg_spb   Цитата(sidy @ Dec 27 2013, 10:15) http:/...   Dec 27 2013, 07:26
- - sidy   Спасибо, руководство я уже скачал изучаю. Вроде бы...   Dec 27 2013, 11:09
- - Dron_Gus   Он будет указывать не на место, где произошло паде...   Dec 27 2013, 13:36
- - sidy   Тестирую свою программу дальше и заметил, что при ...   Jan 11 2014, 05:55
- - sidy   Поймал еще несколько раз Hard Fault. В регистре PC...   Jan 17 2014, 05:42
|- - _Артём_   Цитата(sidy @ Jan 23 2014, 21:59) Читаю к...   Jan 23 2014, 21:14
- - sidy   А если я отключу bus fault то программа вернет в к...   Jan 24 2014, 14:10
|- - _Артём_   Цитата(sidy @ Jan 24 2014, 16:10) А если ...   Jan 24 2014, 16:09
- - sidy   В регистре SCB->CFSR установлены биты PRECISERR...   Jan 24 2014, 18:16
|- - _Артём_   Цитата(sidy @ Jan 24 2014, 20:16) BFAR по...   Jan 24 2014, 18:44
|- - sidy   Цитата(_Артём_ @ Jan 24 2014, 22:44) Стра...   Jan 24 2014, 18:59
|- - _Артём_   Цитата(sidy @ Jan 24 2014, 20:59) Внешнег...   Jan 25 2014, 11:04
- - sidy   Выкладываю весь проект (достаточно большой): суть ...   Jan 25 2014, 11:59
- - Mihey_K   С чего Вы взяли, что попадаете в Hard Fault, у Вас...   Jan 25 2014, 14:38
- - Aaron   Ну на самом деле полезно сделать один раз качестве...   Jan 28 2014, 13:06
- - sidy   Обработчики для различных Fault'ов я добавил. ...   Jan 31 2014, 15:33
- - Mihey_K   Для наглядности бы еще кусок исходного кода показа...   Feb 1 2014, 09:37
- - sidy   Вот кусок исходного кода: Кодif (CalcUBpA...   Feb 1 2014, 10:04
- - Mihey_K   Странно. Выходит падает на загрузке в регистр FPU....   Feb 1 2014, 11:12
- - sidy   Цитата(Mihey_K @ Feb 1 2014, 15:12) Где-н...   Feb 1 2014, 11:32


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

 


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


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