Перейти к содержанию
    

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

Здравствуйте.

Начал тут понемногу знакомиться с RISC-V.

И вот. Мне не понятно, можно ли в нем переносить таблицу векторов прерываний, как в Cortex-M3 например.

И, если можно, то как ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зависит от конкретной реализации ядра и конфигурации его контроллера прерываний. Если используется CLIC, то у него обычно есть регистры mtvt и mtvec и с их помощью можно решить обозначенную вами задачу: см. раздел 9 статьи https://habr.com/ru/articles/533356/

PS: ещё можно посмотреть https://five-embeddev.com/quickref/interrupts.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/7/2023 at 9:36 PM, makc said:

Зависит от конкретной реализации ядра и конфигурации его контроллера прерываний. Если используется CLIC, то у него обычно есть регистры mtvt и mtvec и с их помощью можно решить обозначенную вами задачу: см. раздел 9 статьи https://habr.com/ru/articles/533356/

PS: ещё можно посмотреть https://five-embeddev.com/quickref/interrupts.html

Спасибо, читал я эту статью на Хабре, но уж больно как-то все запутано. Или я такой тугодум )))

Я взял на пробу WCH CH32V203

Производитель пишет, что у него ядро QingKeV4

Quote

QingKe V4 series microprocessors are self-developed 32-bit general-purpose MCU microprocessors based on
the standard RISC-V Instruction Set Architecture (ISA).

ISA - RV32IMAC

В описании QingKeV4 есть упоминания регистров mtvec.

Quote

Machine mode exception base address register (mtvec)

Name CSR Address Access Description Reset value
mtvec 0x305 MRW Exception base address register 0x00000000

 

Это вы про этот регистр пишите ?
Т.е. в нем хранится адрес начала таблицы векторов прерываний ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, dimka76 сказал:

Производитель пишет, что у него ядро QingKeV4

Качайте описание https://www.wch-ic.com/downloads/QingKeV4_Processor_Manual_PDF.html и читайте про PFIC и его Vector Table Free (VTF)

5 минут назад, dimka76 сказал:

В описании QingKeV4 есть упоминания регистров mtvec.

У него другой контроллер прерываний.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/7/2023 at 9:53 PM, makc said:

Качайте описание https://www.wch-ic.com/downloads/QingKeV4_Processor_Manual_PDF.html и читайте про PFIC и его Vector Table Free (VTF)

Так давно уже скачан.
Сижу пялюсь в него )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоже разбираюсь (неспешно). Там в разделе 2.2 Entering exception описано, как происходит вход в обычный обработчик и как используется регистр mtvec.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Качайте описание https://www.wch-ic.com/downloads/QingKeV4_Processor_Manual_PDF.html и читайте про PFIC и его Vector Table Free (VTF)
Это называется Processor_Manual?!!! \-8<Ж
41 страница для не самого внятного простого 32-битного проца... да чтоб я так 30 лет назад "курсяки" писАл...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 часов назад, Obam сказал:

Это называется Processor_Manual?!!! \-8<Ж
41 страница для не самого внятного простого 32-битного проца...

А что вы хотели? Чтобы все документы на RV32IMC ISA продублировали в этом документе? Зачем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтоб было как надо, а как не надо не было (-; ведь и вы (об себе молчу) знаете, как оно по уму бывает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

41 минуту назад, Obam сказал:

Чтоб было как надо, а как не надо не было (-; ведь и вы (об себе молчу) знаете, как оно по уму бывает.

Это флуд, а не ответ на мой вопрос. Перефразируя мой исходный вопрос: чего конкретно вам не хватает в этом описании? Несколько пунктов, чего конкретно вам не хватает для разработки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/8/2023 at 8:41 PM, Obam said:

"Сижу пялюсь в него ))) " (c) dimka76
идёт процесс...

Вместо того чтобы кривляться, лучше бы что-нибудь полезное написали :acute:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день,

В общих чертах: при появлении прерывания или детектировании исключения процессор переходит на обработку этого события по адрессу, определяемому MTVEC. Во время этого перехода, ядро записывает тип и номер события в MCAUSE. Обработчик должен определить тип события и номер события программно.
В зависимости от реализации процессора, значение MTVEC может быть изменяемым. Таким образом, Вы можете изменять положение обработчика.
В некотрых реализациях есть еще поддержка векторного режима для обработки прерываний. Если поддержка есть и она включена, то процессор при переходе на обработку прерывания будет использовать не MTVEC значение, а (MTVEC+4*IRQ_NUM).
В качестве номера прерывания используется номер из регистра MIP.
Есть еще реализации процессора с CLIC, но это уже отдельная история. 

Дмитрий

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/9/2023 at 8:41 PM, dpavlov said:

Добрый день,

Спасибо !!!

Я так понимаю, это вы в целом про RISC-V написали ?

Безотносительно к WCH ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

40 minutes ago, dimka76 said:

Спасибо !!!

Я так понимаю, это вы в целом про RISC-V написали ?

Безотносительно к WCH ?

Да

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...