Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2018-авг-17 02:51

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 2018-мар-28 17:17 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 57
В чем модет быть проблема
процессор 1986ВЕ94
если завожу systick, то процессор падает
в адрес 0x1c ?
компилятор IAR, JTAG - JLINK
прога примитивная:
Код:
void main(void)
{
    PORT_InitTypeDef init;   
    int i, k = 0;
   
    MDR_RST_CLK->PER_CLOCK |= RST_CLK_PCLK_PORTF;
   
    init.PORT_Pin = PORT_Pin_4 | PORT_Pin_5 | PORT_Pin_6;
    init.PORT_FUNC = PORT_FUNC_PORT;
    init.PORT_OE = PORT_OE_OUT;
    init.PORT_PULL_DOWN = PORT_PULL_DOWN_ON;
    init.PORT_MODE = PORT_MODE_DIGITAL;
    init.PORT_SPEED = PORT_SPEED_FAST;
    PORT_Init(MDR_PORTF, &init);

    SysTick_Config(8000);
    NVIC_EnableIRQ(SysTick_IRQn);

    while(1) {
       while(i-- > 0);
      i = 1000;     
     }
}



пины в начале ставил в 0. так как было подозрение
что у него стояла загрузка через UART
Изображение


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-мар-28 17:57 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 666
Откуда: г. Санкт-Петербург
erik писал(а):
В чем модет быть проблема...

NVIC_EnableIRQ(SysTick_IRQn);
...

SysTick не имеет никакого отношения к NVIC, поэтому вызов NVIC_EnableIRQ(SysTick_IRQn); может иметь непредсказуемые последствия.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-мар-28 19:00 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 57
это без разницы-развершаю я обработку вектора или
запускаю только systick - вылетает на нулевые адреса


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-мар-28 19:08 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 57
да точно, NVIC_EnableIRQ можно использовать толоько с векторами > 0
а не с systick


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-мар-28 19:16 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 57
да но ошибка не исчезла
при инициализации Systick
если идешь по шагам
то через какой то время все равно попадаешь на адрес 0x1c
а если я хочу поставить точку останова на Systick_Handle
в файле startum_MDR*** - то она не ставится на этом systick
в чем может быть проблема?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-мар-29 01:17 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 44
Откуда: СПБ
SCB->VTOR чему равен?

Если рабочая таблица векторов прерываний расположена в начале флеши, то нужно с начале программы сказать

Код:
  SCB->AIRCR = 0x05FA0000 | ((uint32_t)0x500);
  SCB->VTOR = 0x08000000;

А тут, похоже, используется таблица векторов из boot ROM.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-мар-29 09:57 
Не в сети

Зарегистрирован: 2017-июл-24 10:16
Сообщения: 57
спасиб, помогло!
я ожидал что для этого процессора все эти вещи будут
в стартап файлах
а программа которую я сейчас мучаю-переделанная для cortex M1
а там дейсвительно вектора на нулевых адресах


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-мар-29 15:34 
Не в сети

Зарегистрирован: 2016-окт-14 19:39
Сообщения: 44
Откуда: СПБ
erik писал(а):
спасиб, помогло!
я ожидал что для этого процессора все эти вещи будут
в стартап файлах
а программа которую я сейчас мучаю-переделанная для cortex M1
а там дейсвительно вектора на нулевых адресах

Стартап пишется так, чтобы программисту в большинстве случаев не нужно было лезть туда. А расположение таблицы векторов может потребоваться подстраивать под себя.
В Cortex-M1 архитектура другая, там таблица векторов намертво прибита к адресу.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


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

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB