Jump to content
    

1901ВЦ1 в отладке при срабатывании прерывания улетает на адрес 0x1c

44 минуты назад, jcxz сказал:

Как это определили? Где содержимое адреса 0? Не вижу...

по адресу 0x0800 0000 таблица векторов - то что нужно же. 

DBGMCU.CR  аналог такого регистра в любом случае должен быть? 

Share this post


Link to post
Share on other sites

Проблема решена. Может кому пригодится.

Цитата

Здесь кроется одно обстоятельство – после сброса значение в регистре смещения таблицы векторов прерывания VTOR = 0x00000000.
Flash-память во многих МК, например, 1986ВЕ9x, начинается не с 0-го адреса, поэтому начальный загрузчик устанавливает при запуске верное значение VTOR.
Но так как при отладке в IAR выполнение начального загрузчика пропускается, то VTOR остаётся равен 0x00000000.
Это приводит к тому, что вызов прерывания в режиме отладки осуществит переход на неверный вектор, так как процессор считает,
что таблица векторов прерываний расположена в 0x00000000, а не во Flash-памяти.

https://support.milandr.ru/base/primenenie/programmirovanie-32-razryadnykh-mk/debug/48186/#2

Edited by Konstantin463

Share this post


Link to post
Share on other sites

6 часов назад, Konstantin463 сказал:

Проблема решена. Может кому пригодится.

Я вам ещё в самом первом сообщении писал про маппинг flash на адрес 0. Только вам так и не пригодилось.....  :unknw:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...