Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 07.04.2014, 21:18  
zan2003
Прохожий
 
Регистрация: 02.04.2007
Сообщений: 2
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
zan2003 на пути к лучшему
Восклицание STM32F0 + EXTI4_15

Всем добрый день! Столкнулся с проблемой на stm32f0discovery, когда не срабатывает внешнее прерывание EXTI4_15. Использую загрузчик STM32F0xx_AN4065_FW_V1.0.0. В основной программе, расположенной с адреса 0x08003000 инициализирую EXTI0_1 и EXTI4_15, вся работа на прерываниях, EXTI0_1 работает нормально, прерывания по линии EXTI_Line10 не происходит. Если заливаю прошивку с адреса 0x08000000 - прерывания срабатывают нормально. Проблема полагаю связана с таблицей векторов прерываний. Использую IAR 6.50. Буду признателен любой помощи, ссылка на проект http://my-files.ru/v888ij
Реклама:
zan2003 вне форума  
Непрочитано 08.04.2014, 09:34  
blinov_66
Прохожий
 
Регистрация: 19.02.2009
Сообщений: 7
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
blinov_66 на пути к лучшему
По умолчанию Re: STM32F0 + EXTI4_15

Эта проблема, скорее всего не связана с процессором. У меня была такая-же с 103 серией, А ларчик просто открывался - не подсоединил в проекте стартовый файл startup_stm32***.s. В нем как раз и находится таблица векторов прерываний. При этом все вроде было правильно , в пошаговом режиме ошибок не возникало, однако не одно прерывание не вызывалось . Надеюсь помог. Удачи.
blinov_66 вне форума  
Сказали "Спасибо" blinov_66
zan2003 (08.04.2014)
Непрочитано 08.04.2014, 19:55  
Markusha
Временная регистрация
 
Регистрация: 18.07.2006
Сообщений: 90
Сказал спасибо: 8
Сказали Спасибо 13 раз(а) в 9 сообщении(ях)
Markusha на пути к лучшему
По умолчанию Re: STM32F0 + EXTI4_15

Вы контроллеру сказали что у него теперь вектора прерываний лежат со смещением 0x3000?
По поводу Stm32f0xx не скажу, а в stm32f1* нужно было указывать смещение, если программа была расположена не с адреса 0x8000000.
Markusha вне форума  
Непрочитано 09.04.2014, 07:36  
zan2003
Прохожий
 
Регистрация: 02.04.2007
Сообщений: 2
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
zan2003 на пути к лучшему
По умолчанию Re: STM32F0 + EXTI4_15

#if (defined ( __CC_ARM ))
__IO uint32_t VectorTable[48] __attribute__((at(0x20000000)));
#elif (defined (__ICCARM__))
#pragma location = 0x20000000
__no_init __IO uint32_t VectorTable[48];
#elif defined ( __GNUC__ )
__IO uint32_t VectorTable[48] __attribute__((section(".RAMVectorTable")));
#elif defined ( __TASKING__ )
__IO uint32_t VectorTable[48] __at(0x20000000);
#endif


/* Relocate by software the vector table to the internal SRAM at 0x20000000 ***/

/* Copy the vector table from the Flash (mapped at the base of the application
load address 0x08003000) to the base address of the SRAM at 0x20000000. */

for(i = 0; i ‹ 48; i++)
{
VectorTable[i] = *(__IO uint32_t*)(APPLICATION_ADDRESS + (i‹‹2));
}

/* Enable the SYSCFG peripheral clock*/
RCC_APB2PeriphResetCmd(RCC_APB2Periph_SYSCFG, ENABLE);
/* Remap SRAM at 0x00000000 */
SYSCFG_MemoryRemapConfig(SYSCFG_MemoryRemap_SRAM);

================================================== =

Из документа STM32F0xx AN4065

AN4065 User program conditions

5. User program conditions
The user application to be loaded into the Flash memory using IAP should be built with the
following configuration settings:
1. Set the program load address at 0x08003000, using the toolchain linker file.
2. Relocate the vector table at address 0x20000000 (reserve 48 word starting in RAM @
0x20000000 ).
An example application program to be loaded with the IAP application is provided with
preconfigured projects.
zan2003 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проект для STM32F0 wss60 ARM 0 11.06.2013 22:51


Часовой пояс GMT +4, время: 07:54.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot