Jump to content
    

Таблица векторов прерываний

В 17.07.2023 в 20:14, Canis Dirus сказал:

Чтобы два раза не вставать и не плодить лишние темы. У кого-нибудь есть идея, как понимать «It should be noted that the vector table base address needs to be 1KB aligned in the QingKe V2 microprocessor» (похожее требование есть и в документации на V3, а вот в V4 — нет)? Потому что в прилагаемом коде (например  этом) на это выравнивание по границе килобайта благополучно положили.

Почему положили? Таблица начинается с нулевого адреса, т.е. таблица выровнена изначально. А 1 Кб потому что размер таблицы максимально может быть 256*4 = 1024 байта, как раз 1 Кб. Ситуация - таблицу решили положить за 512 байт до конца памяти, не влезет ведь. Итог, надо выравнивать по 1 Кб.

Edited by petrd

Share this post


Link to post
Share on other sites

Дополню. При переносе таблицы векторов в RAM столкнулся с тем, что компилятор назначил таблице векторов адрес 0x20000008. Но при записи этого адреса в mtvec туда записалось только  0x20000000. Вот и ответ, почему выравнивание по границе 1кБ. Т.е. таблица векторов для V003 в RAM может быть размещена только начиная с двух адресов 0x20000000 и 0x20000400.

Share this post


Link to post
Share on other sites

На QingKeV4 точно ограничения нет. Вот значение mtvec у меня. Первые два вектора в таблице не задействованы и для экономии памяти она сдвинута на один вектор, а во втором векторе (по адресу 0x2000'0000  если запускать код из RAM) расположена команда "J Reset_Handler". Таблица начинается с адреса 0x1FFF'FFFC.

image.thumb.png.c9e2e6dfc057d0620172e3eae42a7e5d.png

Собственно, описание mtvec только младшие два бита к адресу таблицы не относит.

image.thumb.png.a67c25f099b6caf6fc35a48a7afb04e4.png

В QingKeV2 описание mtvec такое же, но в тексте есть ограничение на 1К. Может копипастнули что-то не так.

 

PS: Попробовал. На QingKeV2 mtvec действительно принимает только адреса кратные 1К.

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
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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...