Кіраўніцтва карыстальніка мікрапрацэсара WH V3

WH V3 Microprocessor User Manual

WH-лагатып

Мікрапрацэсар WH V3

WH-V3-мікрапрацэсар-PRO

Тэхнічныя характарыстыкі

  • Мадэль мікрапрацэсара: QingKeV3
  • Версія: V1.2
  • Асаблівасці ISA:
    • Трубаправодны ФПУ
    • Прадказанне галіны
    • Перапыніць падтрымку
    • HPE Physical Memory Protection (PMP)
    • Рэжым нізкага энергаспажывання
    • Адладка пашыранага набору інструкцый

Інструкцыя па ўжыванні прадукту

Скончанаview мікрапрацэсара QingKe V3

Мікрапрацэсары серыі QingKe V3 ўключаюць мадэлі V3A, V3B і V3C. Кожная мадэль мае асаблівасці і адрозненні ў залежнасці ад прымянення.

Набор інструкцый

Набор інструкцый RV32I уключае 32 наборы рэгістраў ад x0 да x31. Серыя V3 не падтрымлівае пашырэнне з плаваючай кропкай (F). Кожны рэгістр мае памер 32 біта.

Рэгістрацыя Набор

Набор рэгістраў RV32I складаецца з наступных рэгістраў.

  • х0: Жорстка закодаваны 0
  • х1: Зваротны адрас
  • x2: паказальнік стэка
  • х3: Глабальны паказальнік
  • х4: Паказальнік ніткі
  • х5-х7: Часовыя рэестры
  • х8: Захаваць рэгістр/паказальнік кадра
  • х9: Захаваць параметры рэгістра/функцыі/вярнутыя значэнні
  • х10-х11: Параметры функцый
  • х12-х17: Захаваць рэестры
  • х18-х27: Часовыя рэестры
  • х28-х31: Рэгістры абанентаў/абанентаў

Рэжым прывілеяў

Стандартная архітэктура RISC-V уключае тры прывілеяваныя рэжымы: рэжым машыны, рэжым супервізора і рэжым карыстальніка. Мікрапрацэсары серыі QingKe V3 падтрымліваюць машынны рэжым і рэжым Supervisor.

Часта задаюць пытанні

Пытанне: якія розныя мадэлі мікрапрацэсараў серыі QingKe V3?

A: Серыя QingKe V3 уключае мадэлі V3A, V3B і V3C, кожная з якіх мае пэўныя асаблівасці і адрозненні, падрабязна апісаныя ў кіраўніцтве карыстальніка.

Пытанне: колькі набораў рэгістраў даступна ў наборы інструкцый RV32I?

A: Набор інструкцый RV32I забяспечвае 32 наборы рэгістраў ад x0 да x31.

Пытанне: Якія прывілеяваныя рэжымы падтрымліваюцца мікрапрацэсарам QingKe V3?

A: Мікрапрацэсары серыі QingKe V3 падтрымліваюць машынны рэжым і рэжым Supervisor як частку архітэктуры RISC-V.

Скончанаview

Мікрапрацэсары серыі QingKe V3 - гэта 32-разрадныя мікрапрацэсары MCU агульнага прызначэння ўласнай распрацоўкі, заснаваныя на стандартнай архітэктуры набору інструкцый RISC-V. Гэтая серыя ўключае V3A, V3B і V3C, з якіх V3A падтрымлівае пашырэнне стандартнага набору інструкцый RV32IMAC, а V3B/C падтрымлівае пашырэнне стандартнага набору інструкцый RV32IMCB і індывідуальнае пашырэнне набору інструкцый XW. Абодва яны падтрымліваюць множанне за адзін цыкл і апаратнае дзяленне, у дадатак да апаратнага стэка ціску (HPE), перапынення без табліцы (VTF), абцякальных 1- і 2-правадных інтэрфейсаў адладкі, інструкцый "WFE" і іншых спецыяльных функцый. Акрамя таго, ён таксама падтрымлівае Hardware Prologue/Epilogue (HPE), Vector Table Free (VTF), аптымізаваны 1-/2-правадны інтэрфейс адладкі і падтрымку інструкцый «WFE».

Асаблівасці

Асаблівасці Апісанне
ISA RV32IM[A]C[B]
Трубаправод 3
ФПУ Не падтрымліваецца
Прадказанне галіны Статычнае прагназаванне галін
Перапыніць Падтрымка ў агульнай складанасці 256 перапыненняў, уключаючы выключэнні, і падтрымка VTF
HPE Падтрымка 2 узроўняў HPE
Абарона фізічнай памяці (PMP) Падтрымліваецца
Рэжым нізкага энергаспажывання Падтрымка рэжымаў сну і глыбокага сну, а таксама падтрымка метадаў сну WFI і WFE
Пашыраны набор інструкцый Падтрымліваецца
Адладжваць 1/2-правадны SDI, стандартная адладка RISC-V

Скончанаview

Мікрапрацэсары серыі QingKe V3 ўключаюць V3A, V3B і V3C, паміж серыямі ёсць некаторыя адрозненні ў залежнасці ад прымянення, канкрэтныя адрозненні падрабязна апісаны ў табліцы 1-1.

Табліца 1-1 Скончанаview мікрапрацэсара QingKe V3

Асаблівасць мадэль ISA HPE колькасць узроўняў Перабоі гнездавання колькасць ўзроўні ВТФ колькасць каналаў Трубаправод вектар настольны рэжым Пашыраная інструкцыя (XW) Колькасць абласцей абароны памяці
V3A RV32IMAC 2 2 4 3 Інструкцыя × ×
V3B RV32IMCB 2 2 4 3 Адрас/ Інструкцыя ×
V3C RV32IMCB 2 2 4 3 Адрас/ Інструкцыя 4

Заўвага: Пераключэнне задач АС звычайна выкарыстоўвае штуршок стэка, які не абмяжоўваецца колькасцю ўзроўняў

Набор інструкцый

  • Мікрапрацэсары серыі QingKe V3 прытрымліваюцца стандартнай архітэктуры набору інструкцый RISC-V (ISA). Падрабязную дакументацыю па стандарту можна знайсці ў «The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document Version 2.2» на RISC-V International webсайт. Набор інструкцый RISC-V мае простую архітэктуру і падтрымлівае модульную канструкцыю, што дазваляе ствараць гнуткія камбінацыі ў залежнасці ад розных патрэбаў, а серыя V3 падтрымлівае наступныя пашырэнні набору інструкцый.
  • RV32: 32-бітная архітэктура, разраднасць рэгістра агульнага прызначэння 32 біта
  • I: Падтрымка аперацыі фармавання з 32 рэгістрамі фармавання
  • M: Падтрымка фарміравання інструкцый множання і дзялення
  • A: Падтрымка атамных каманд
  • C: Падтрымка 16-бітнай інструкцыі сціску
  • B: Падтрымка інструкцый па маніпуляцыі бітамі
  • XW: 16-бітныя інструкцыі сціску для самапашыраючых байтаў і паўсловаў

Заўвага:

  • Падмноства інструкцый, якія падтрымліваюцца рознымі мадэлямі, можа адрознівацца, падрабязную інфармацыю глядзіце ў табліцы 1-1;
  • Каб яшчэ больш палепшыць шчыльнасць кода, пашырыце падмноства XW, дадайце наступныя інструкцыі па сціску c.lbu/c.lhu/c.sb/c.sh/c.lbusp/c.lhusp/c.sbsp/c.shop , выкарыстанне якога павінна грунтавацца на кампілятары MRS або інструментальнай ланцужку, які ён забяспечвае;
  • V3B падтрымлівае выманне інструкцыі слова (32 біта) з падвойнага слова (64 біта) і выманне інструкцыі слова (32 біта) з выніку множання (64 біта). Канкрэтны метад выкарыстання можа спасылацца на функцыю бібліятэкі і супрацоўнічаць з кампілятарам MRS або ланцугом інструментаў, які ім забяспечваецца;
  • V3B/C падтрымлівае інструкцыі капіравання з памяці. Для канкрэтнага выкарыстання, калі ласка, звярніцеся да функцыі бібліятэкі і супрацоўнічайце з кампілятарам MRS або яго наборам інструментаў.

Рэгістрацыя Набор

RV32I мае 32 наборы рэгістраў ад x0-x31. Серыя V3 не падтрымлівае пашырэнне «F», гэта значыць, няма набору рэгістраў з плаваючай кропкай. У RV32 кожны рэгістр складаецца з 32 бітаў. У табліцы 1-2 ніжэй прыведзены рэгістры RV32I і іх апісанні.

Табліца 1-2 Рэгістры RISC-V

Зарэгіструйцеся Імя ABI Апісанне Закладшчык
x0 нуль Жорстка закодаваны 0
x1 ra Зваротны адрас Абанент
x2 sp Паказальнік стэка Callee
x3 GP Глабальны паказальнік
x4 tp Паказальнік ніткі
х5-7 t0-2 Часовы рэестр Абанент
x8 s0/fp Захаваць рэгістр/паказальнік кадра Callee
x9 s1 Захаваць рэестр Callee
х10-11 а0-1 Параметры функцыі/вярнутыя значэнні Абанент
х12-17 а2-7 Параметры функцый Абанент
х18-27 а2-11 Захаваць рэестр Callee
X28-31 t3-6 Часовы рэестр Абанент

Атрыбут Caller у прыведзенай вышэй табліцы азначае, што выкліканая працэдура не захоўвае значэнне рэестра, а атрыбут Callee азначае, што выкліканая працэдура захоўвае рэестр.

Рэжым прывілеяў

  • Стандартная архітэктура RISC-V уключае тры прывілеяваныя рэжымы: рэжым машыны, рэжым супервізора і рэжым карыстальніка, як паказана ў табліцы 1-3 ніжэй.
  • Аўтаматны рэжым з'яўляецца абавязковым, а астатнія - па жаданні. Для атрымання падрабязнай інфармацыі вы можаце звярнуцца да The RISC-V Instruction Set Manual Volume II: Privileged Architecture”, які можна спампаваць бясплатна з RISC-V International webсайт.

Табліца 1-3 Рэжым прывілеяў архітэктуры RISC-V

Код Імя Скарачэнні
0b00 Рэжым карыстальніка U
0b01 Мадэль кіраўніка S
0b10 Зарэзерваваны Зарэзерваваны
0b11 Машынны рэжым M
  • Мікрапрацэсары серыі QingKe V3 падтрымліваюць два з гэтых прывілеяваных рэжымаў.

Машынны рэжым

  • Машынны рэжым мае найвышэйшыя паўнамоцтвы, праграма ў гэтым рэжыме можа атрымаць доступ да ўсіх рэгістраў кіравання і стану (CSR), а таксама да ўсіх абласцей фізічнага адраса.
  • Па змаўчанні ўключэнне ўключаецца ў машынным рэжыме, калі выкананне mret (інструкцыя вяртання ў машынны рэжым) вяртаецца ў адпаведнасці са станам рэгістра CSR (рэгістр стану машыннага рэжыму) у біце MPP, калі MPP = 0b00, выйдзіце з машыннага рэжыму у карыстальніцкі рэжым, MPP = 0b11, затым працягвайце захоўваць машынны рэжым.

Рэжым карыстальніка

  • Карыстальніцкі рэжым мае самыя нізкія прывілеі, і ў гэтым рэжыме можна атрымаць доступ толькі да абмежаваных рэгістраў CSR. Калі адбываецца выключэнне або перапыненне, мікрапрацэсар пераходзіць з рэжыму карыстальніка ў рэжым машыны для апрацоўкі выключэнняў і перапыненняў.

Рэестр КСА

Серыя рэгістраў CSR вызначана ў архітэктуры RISC-V для кантролю і запісу працоўнага стану мікрапрацэсара. Гэтыя CSR могуць быць пашыраны на 4096 рэгістраў з выкарыстаннем унутранай спецыяльнай 12-бітнай прасторы кадавання адрасоў. І выкарыстоўвайце высокі два CSR [11:10], каб вызначыць дазвол на чытанне/запіс гэтага рэгістра, 0b00, 0b01, 0b10 для дазволенага чытання/запісу і 0b11 для дазволу толькі для чытання. Выкарыстоўвайце два біта CSR[9:8], каб вызначыць самы нізкі ўзровень прывілеяў, які можа атрымаць доступ да гэтага рэгістра, і значэнне адпавядае рэжыму прывілеяў, вызначаным у табліцы 1-3. Рэгістры CSR, рэалізаваныя ў мікрапрацэсары QingKe V3, падрабязна апісаны ў главе 8.

Выключэнне

Механізм выключэнняў, які з'яўляецца механізмам для перахопу і апрацоўкі «незвычайных аперацыйных падзей». Мікрапрацэсары серыі QingKe V3 абсталяваны сістэмай рэагавання на выключэнне, якая можа апрацоўваць да 256 выключэнняў, уключаючы перапыненні. Калі адбываецца выключэнне або перапыненне, мікрапрацэсар можа хутка адрэагаваць і апрацаваць падзеі выключэння і перапынення.

Тыпы выключэнняў

Апаратныя паводзіны мікрапрацэсара аднолькавыя, незалежна ад таго, адбываецца выключэнне або перапыненне. Мікрапрацэсар прыпыняе бягучую праграму, пераходзіць да апрацоўшчыка выключэння або перапынення і вяртаецца да раней прыпыненай праграмы, калі апрацоўка завершана. Шырока кажучы, перапыненні таксама з'яўляюцца часткай выключэнняў. Ці з'яўляецца бягучае з'яўленне перапыненнем або выключэннем viewпраз машынны рэжым выключэнне прычына рэгістр прычына. mcause[31] - гэта поле перапынення, якое выкарыстоўваецца, каб паказаць, ці з'яўляецца прычынай выключэння перапыненне або выключэнне. mcause[31]=1 азначае перапыненне, mcause[31]=0 азначае выключэнне. mcause[30:0] - гэта код выключэння, які выкарыстоўваецца для ўказання канкрэтнай прычыны выключэння або нумара перапынення, як паказана ў наступнай табліцы.

Табліца 2-1 Коды выключэння мікрапрацэсара V3

Перапыніць Выключэнне коды Сінхронны / Асінхронны Прычына выключэння
1 0-1 Зарэзерваваны
1 2 Дакладны асінхронны NMI перапыняе
1 3-11 Зарэзерваваны
1 12 Дакладны асінхронны SysTick перапыняе
1 13 Зарэзерваваны
1 14 Сінхронныя Праграмныя перапынкі
1 15 Зарэзерваваны
1 16-255 Дакладны асінхронны Знешняе перапыненне 16-255
0 0 Сінхронныя Неадпаведнасць адраса інструкцыі
0 1 Сінхронныя Памылка доступу каманды Fetch
0 2 Сінхронныя Незаконныя інструкцыі
0 3 Сінхронныя Кропкі спынення
0 4 Сінхронныя Неадпаведнасць адраса доступу інструкцыі загрузкі
0 5 Недакладны асінхронны Памылка доступу да каманды загрузкі
0 6 Сінхронныя Нясупадзенне адраса доступу да інструкцый Store/AMO
0 7 Недакладны асінхронны Памылка доступу да каманды Store/AMO
0 8 Сінхронныя Выклік асяроддзя ў карыстальніцкім рэжыме
0 11 Сінхронныя Выклік асяроддзя ў машынным рэжыме
  • Synchronous» у табліцы азначае, што інструкцыя можа знаходзіцца менавіта там, дзе яна выконваецца, напрыклад, інструкцыя перапынку або выкліку, і кожнае выкананне гэтай інструкцыі будзе выклікаць выключэнне. «Асінхронны» азначае, што немагчыма дакладна вызначыць інструкцыю, а значэнне PC інструкцыі можа адрознівацца кожны раз, калі ўзнікае выключэнне. "Дакладны асінхронны" азначае, што выключэнне можа быць размешчана дакладна на мяжы інструкцыі, г.зн. стан пасля выканання інструкцыі, напрыклад, знешняе перапыненне. «Недакладны асінхронны» азначае, што мяжа інструкцыі не можа быць дакладна вызначана, і, магчыма, стан пасля таго, як інструкцыя была перапыненая на паўдарогі выканання, напрыклад, памылка доступу да памяці.
  • Доступ да памяці патрабуе часу, і мікрапрацэсар звычайна не чакае заканчэння доступу пры звароце да памяці, а працягвае выконваць інструкцыю, калі памылка доступу ўзнікае зноў, мікрапрацэсар ужо выканаў наступныя інструкцыі і не можа быць дакладна размешчаны.

Увод выключэння

Калі праграма знаходзіцца ў працэсе нармальнай працы, па нейкай прычыне выклікае выключэнне або перапыненне. Апаратныя паводзіны мікрапрацэсара ў гэты момант можна абагульніць наступным чынам.

  1. Прыпыніць бягучы паток праграмы і перайсці да выканання функцый апрацоўкі выключэнняў або перапыненняў. Базавы адрас запісу і рэжым адрасавання функцыі выключэння або перапынення вызначаюцца рэгістрам базавага адраса запісу выключэння mtvec. mtvec[31:2] вызначае базавы адрас функцыі выключэння або перапынення. mtvec[1:0] вызначае рэжым адрасавання функцыі апрацоўшчыка. калі mtvec[1:0]=0, усе выключэнні і перапыненні выкарыстоўваюць уніфікаваны запіс, г. зн., калі адбываецца выключэнне або перапыненне, ён звяртаецца да mtvec[31:2], які вызначае базавы адрас для выканання. Калі mtvec[1:0]=1, выключэнні і перапыненні выкарыстоўваюць рэжым вектарнай табліцы, г.зн. кожнае выключэнне і перапыненне нумаруецца, і адрас зрушаны ў адпаведнасці з нумарам перапынення*4, і калі адбываецца выключэнне або перапыненне, ён зрушваецца на базавы адрас, вызначаны mtvec[31:2] + нумар перапынення*4 Выкананне. Табліца вектараў перапыненняў змяшчае інструкцыю для пераходу да функцыі апрацоўшчыка перапыненняў, або гэта могуць быць іншыя інструкцыі.
  2. Абнавіць рэестр CSR
    • Пры ўводзе выключэння або перапынення мікрапрацэсар аўтаматычна абнаўляе адпаведныя рэгістры CSR, у тым ліку рэгістр прычыны выключэння машыннага рэжыму mcause, рэгістр паказальніка выключэння машыннага рэжыму mepc, рэгістр значэння выключэння машыннага рэжыму metal і стан рэгістра стану машыннага рэжыму.

Абнаўленне mcause

Як згадвалася раней, пасля ўводу выключэння або перапынення яго значэнне адлюстроўвае бягучы тып выключэння або нумар перапынення, і праграмнае забеспячэнне можа прачытаць значэнне гэтага рэгістра, каб праверыць прычыну выключэння або вызначыць крыніцу перапынення, як падрабязна апісана ў табліцы 2. -1.

Абнаўленне mepc

  • Стандартнае вызначэнне зваротнага адраса мікрапрацэсара пасля выхаду з выключэння або перапынення захоўваецца ў mepc.
  • Такім чынам, калі адбываецца выключэнне або перапыненне, апаратнае забеспячэнне аўтаматычна абнаўляе значэнне mepc да бягучага значэння PC інструкцыі, калі сустракаецца выключэнне, або да наступнага папярэдне выкананага значэння PC інструкцыі перад перапыненнем.
  • Пасля апрацоўкі выключэння або перапынення мікрапрацэсар выкарыстоўвае захаванае значэнне ў якасці зваротнага адраса для вяртання да месца перапынення для працягу выканання.
  • Аднак варта адзначыць, што.
  1. MEPC - гэта рэгістр, які можна чытаць і запісваць, і праграмнае забеспячэнне таксама можа змяняць значэнне, каб змяніць месцазнаходжанне паказальніка ПК, які працуе пасля вяртання.
  2. Калі адбываецца перапыненне, г.зн. калі прычына выключэння рэгіструе mcause[31]=1, значэнне карт абнаўляецца да значэння PC наступнай нявыкананай інструкцыі ў момант перапынення.
    • Пры ўзнікненні выключэння значэнне карт абнаўляецца да значэння ПК інструкцыі бягучага выключэння, калі выключэнне выклікае рэгістр mcause[31]=0. Такім чынам, у гэты час, калі выключэнне вяртаецца, калі мы вяртаемся непасрэдна з выкарыстаннем значэння mepc, мы працягваем выконваць інструкцыю, якая раней стварала выключэнне, і ў гэты час мы будзем працягваць уводзіць выключэнне. Звычайна пасля апрацоўкі выключэння мы можам змяніць значэнне mepc на значэнне наступнай нявыкананай інструкцыі і потым вярнуцца. Напрыкладample, калі мы выклікаем выключэнне з-за выкліку/разрыву, пасля апрацоўкі выключэння, паколькі recall/break (c.ebreak складае 2 байты) з'яўляецца 4-байтавай інструкцыяй, нам спатрэбіцца толькі праграмнае забеспячэнне для змены значэння mepc на mepc +4 (c.ebreak - гэта mepc+2), а затым вярнуцца.

Абнаўленне mtval

Пры ўводзе выключэнняў і перапыненняў апаратнае забеспячэнне аўтаматычна абновіць значэнне mtval, якое з'яўляецца значэннем, якое выклікала выключэнне. Значэнне звычайнае.

  1. Калі выключэнне выклікана доступам да памяці, апаратнае забеспячэнне захавае адрас доступу да памяці ў момант выключэння ў mtval.
  2. Калі выключэнне выклікана недапушчальнай інструкцыяй, апаратнае забеспячэнне захавае код інструкцыі ў mtval.
  3. Калі выключэнне выклікана апаратнай кропкай супыну, апаратнае забеспячэнне захавае значэнне ПК у кропцы перапынку ў mtval.
  4. Для іншых выключэнняў абсталяванне ўсталёўвае значэнне mtval у 0, напрыклад, перапынак, выключэнне, выкліканае інструкцыяй выкліку.
  5. Пры ўваходзе ў перапыненне апаратнае забеспячэнне ўсталёўвае значэнне mtval у 0.

Абнавіць mstatus

Пасля ўводу выключэнняў і перапыненняў апаратнае забеспячэнне абнаўляе пэўныя біты ў mstatus.

  1. MPIE абнаўляецца да значэння MIE перад уваходам у выключэнне або перапыненне, і MPIE выкарыстоўваецца для аднаўлення MIE пасля таго, як выключэнне і перапыненне скончыліся.
  2. MPP абнаўляецца да прывілеяванага рэжыму перад уваходам у выключэнні і перапыненні, а пасля заканчэння выключэнняў і перапыненняў MPP выкарыстоўваецца для аднаўлення папярэдняга прывілеяванага рэжыму.
  3. Мікрапрацэсар QingKe V3 падтрымлівае ўкладанне перапыненняў у машынным рэжыме, і MIE не будзе выдалены пасля ўводу выключэнняў і перапыненняў.

Абнавіць рэжым прывілеяў мікрапрацэсара

  • Калі ўзнікаюць выключэнні і перапыненні, прывілеяваны рэжым мікрапрацэсара абнаўляецца ў машынны рэжым.

Функцыі апрацоўкі выключэнняў

  • Пасля ўводу выключэння або перапынення мікрапрацэсар выконвае праграму з адраса і рэжыму, вызначаных рэестрам mtvec. Пры выкарыстанні ўніфікаванага запісу мікрапрацэсар прымае інструкцыю пераходу з базавага адраса, вызначанага mtvec[31:2] на аснове значэння mtvec[1], або атрымлівае адрас запісу функцыі апрацоўкі выключэнняў і перапыненняў і адпраўляецца на выкананне замест гэтага . У гэты час функцыя апрацоўкі выключэнняў і перапыненняў можа вызначыць, ці з'яўляецца прычына выключэннем або перапыненнем, на падставе значэння mcause [31], а тып і прычыну выключэння або адпаведнага перапынення можна вызначыць па коду выключэння і апрацоўваюцца адпаведна.
  • Пры выкарыстанні базавага адраса + нумар перапынення *4 для зрушэння апаратнае забеспячэнне аўтаматычна пераходзіць да вектарнай табліцы, каб атрымаць адрас ўваходу функцыі выключэння або перапынення на аснове нумара перапынення і пераходзіць да яго выканання.

Выключэнне Выхад

  • Пасля завяршэння апрацоўшчыка выключэння або перапынення неабходна выйсці з службовай праграмы. Пасля ўводу выключэнняў і перапыненняў мікрапрацэсар пераходзіць у машынны рэжым з рэжыму карыстальніка, і апрацоўка выключэнняў і перапыненняў таксама завяршаецца ў машынным рэжыме. Калі неабходна выйсці з выключэнняў і перапыненняў, для вяртання неабходна выкарыстоўваць інструкцыю mret. У гэты час апаратнае забеспячэнне мікрапрацэсара будзе аўтаматычна выконваць наступныя аперацыі.
  • Паказальнік ПК аднаўляецца да значэння рэгістра CSR mepc, г.зн. выкананне пачынаецца па адрасе інструкцыі, захаваным mepc. Неабходна звярнуць увагу на аперацыю зрушэння mepc пасля завяршэння апрацоўкі выключэнняў.
  • Абнавіце статус рэгістра CSR, MIE аднаўляецца ў MPIE, а MPP выкарыстоўваецца для аднаўлення прывілеяванага рэжыму папярэдняга мікрапрацэсара.
  • Увесь працэс рэагавання на выключэнне можа быць апісаны наступным малюнкам 2-1.WH-V3-Мікрапрацэсар-мал.1

PFIC і кіраванне перапыненнямі

  • Мікрапрацэсар QingKe V3 распрацаваны з праграмуемым кантролерам хуткіх перапыненняў (PFIC), які можа кіраваць да 256 перапыненнямі, уключаючы выключэнні.
  • Першыя 16 з іх фіксуюцца як унутраныя перапыненні мікрапрацэсара, а астатнія з'яўляюцца знешнімі перапыненнямі, гэта значыць максімальная колькасць знешніх перапыненняў можа быць пашырана да 240. Яго асноўныя асаблівасці заключаюцца ў наступным.
  • 240 знешніх перапыненняў, кожны запыт на перапыненне мае незалежны трыгер і біты кіравання маскай, з вылучанымі бітамі стану
  • Праграмуемы прыярытэт перапынення падтрымлівае 2 ўзроўні ўкладзенасці
  • Спецыяльны механізм хуткага ўводу/вываду перапынення, апаратнае аўтаматычнае стэкаванне і аднаўленне, максімальная глыбіня HPE 2 ўзроўні
  • Механізм адказу на перапыненне без вектарнай табліцы (VTF), 2-канальны праграмуемы прамы доступ да адрасоў вектараў перапынення
  • Заўвага: Максімальная глыбіня ўкладзенасці і глыбіня HPE, якія падтрымліваюцца кантролерам перапынення, адрозніваюцца для розных мадэляў мікрапрацэсараў, што можна знайсці ў табліцы 1-1.
  • Вектарная табліца перапыненняў і выключэнняў паказана ў табліцы 3-1 ніжэй.

Табліца 3-1 Табліца вектараў выключэнняў і перапыненняў

Нумар Прыярытэт Тып Імя Апісанне
0
1
2 -5 Выпраўлена НМІ Немаскіраванае перапыненне
3 -4 Выпраўлена ВЫКЛ Перапыненне выключэння
4
5 -3 Выпраўлена ЭКАЛ-М Перапыненне зваротнага выкліку машыннага рэжыму
6-7
8 -2 Выпраўлена ЭКАЛЛ-У Перапыненне зваротнага выкліку рэжыму карыстальніка
9 -1 Выпраўлена ПУНКТ ЗРЫВУ Перапыненне зваротнага выкліку пункту прыпынку
10-11
12 0 Праграмуемы SysTick Перапыненне сістэмнага таймера
13
14 1 Праграмуемы SWI Праграмнае перапыненне
15
16-255 2-241 Праграмуемы Знешняе перапыненне Знешняе перапыненне 16-255

Заўвага: ECALL-M, ECALL-U і BREAKPOINT - гэта розныя тыпы выключэнняў EXC, якія з'яўляюцца незалежнымі ў V3B/C для прастаты выкарыстання, і вышэйзгаданыя 3 адрасы ўваходу сумесна з EXC у V3A.

Набор рэгістраў PFIC

Табліца 3-2 Рэестры PFIC

Імя Адрас доступу Доступ Апісанне Скінуць значэнне
PFIC_ISRx 0xE000E000

-0xE000E01C

RO Рэгістр стану дазволу перапынення x 0x00000000
PFIC_IPRx 0xE000E020

-0xE000E03C

RO Перапыненне рэгістра чакання стану x 0x00000000
PFIC_ITHRESDR 0xE000E040 RW Рэгістр канфігурацыі парога прыярытэту перапынення 0x00000000
PFIC_VTFBADDRR 0xE000E044 RW Базавы адрасны рэестр VTF

Заўвага: дзейнічае толькі для V3A

0x00000000
PFIC_CFGR 0xE000E048 RW Рэгістр канфігурацыі перапынення

Заўвага: дзейнічае толькі для V3A

0x00000000
PFIC_GISR 0xE000E04C RO Перапыніце глабальны рэестр статусу 0x00000002
 

PFIC_VTFIDR

 

0xE000E050

 

RW

Рэгістр канфігурацыі ID перапынення VTF

Заўвага: дзейнічае толькі для V3B/C.

 

0x00000000

PFIC_VTFADDRRx 0xE000E060

-0xE000E06C

RW Рэгістр адрасоў зрушэння VTF x 0xXXXXXXXXX
PFIC_IENRx 0xE000E100

-0xE000E11C

WO Рэгістр налад дазволу перапынення x 0x00000000
PFIC_IRERx 0xE000E180

-0xE000E19C

WO Перарыванне дазваляе ачысціць рэгістр x 0x00000000
PFIC_IPSRx 0xE000E200

-0xE000E21C

WO Перарыванне ў чаканні рэгістра ўстаноўкі x 0x00000000
PFIC_IPRRx 0xE000E280

-0xE000E29C

WO Перапыненне ў чаканні ачысткі рэгістра x 0x00000000
PFIC_IACTRx 0xE000E300

-0xE000E31C

RO Рэгістр стану актывацыі перапынення x 0x00000000
PFIC_IPRIORx 0xE000E400

-0xE000E43C

RW Рэгістр канфігурацыі прыярытэту перапынення 0x00000000
PFIC_SCTLR 0xE000ED10 RW Рэестр кіравання сістэмай 0x00000000

Заўвага:

  1. NMI, EXC, ECALL-M, ECALL-U і BREAKPOINT заўсёды ўключаны па змаўчанні.
  2. ECALL-M, ECALL-U і BREAKPOINT - гэта выпадак EXC.
  3. NMI, EXC, ECALL-M, ECALL-U і BREAKPOINT падтрымліваюць перапыненне ў чаканні ачысткі і наладкі, але не перарываюць уключэнне ачысткі і наладкі.

Кожны рэестр апісваецца наступным чынам:

Статус дазволу перапынення і рэгістры стану чакання перапынення (PFIC_ISR<0-7>/PFIC_IPR<0-7>)

Імя Адрас доступу Доступ Апісанне Скінуць значэнне
 PFIC_ISR0  0xE000E000  RO Перапыненне 0-31 уключае рэгістр стану, у агульнай складанасці 32 біты стану [n], якія паказваюць, што #n перапыненне ўключае стан

Заўвага: NMI і EXC уключаны па змаўчанні

 Для V3A: 0x0000000C

Для V3B/C: 0x0000032C

PFIC_ISR1 0xE000E004 RO Перапыненне 32-63 уключыць рэгістр стану, у агульнай складанасці 32 біта стану 0x00000000
PFIC_ISR7 0xE000E01C RO Перапыненне 224-255 уключыць рэгістр стану, у агульнай складанасці 32 біта стану 0x00000000
PFIC_IPR0 0xE000E020 RO Статус чакання перапынення 0-31 0x00000000
рэгістр, у агульнай складанасці 32 біта стану [n], якія паказваюць чакаючы статус перапынення #n
PFIC_IPR1 0xE000E024 RO Перапыніце 32-63 рэгістры стану ў чаканні, усяго 32 біта стану 0x00000000
PFIC_IPR7 0xE000E03C RO Перапыненне 244-255 рэгістра чакання стану, усяго 32 біта стану 0x00000000

Два наборы рэгістраў выкарыстоўваюцца для ўключэння і адключэння адпаведных перапыненняў.

Налада дазволу перапынення і ачысткі рэгістраў (PFIC_IENR<0-7>/PFIC_IRER<0-7>)3

Імя Адрас доступу Доступ Апісанне Скінуць значэнне
PFIC_IENR0 0xE000E100 WO Перапыненне 0-31 дазваляе рэгістр налад, у агульнай складанасці 32 біты налады [n], для налады ўключэння перапынення #n

Заўвага: НМІ і ВЫКЛ ёсць уключаны па змаўчанні

 

 

 

0x00000000

PFIC_IENR1 0xE000E104 WO Перапыненне 32-63, каб уключыць рэгістр налад, у агульнай складанасці 32 біта налады 0x00000000
PFIC_IENR7 0xE000E11C WO Налада ўключэння перапынення 224-255

рэгістр, у агульнай складанасці 32 біты налады

0x00000000
 PFIC_IRER0  0xE000E180  WO Перапыненні 0-31 дазваляюць ачысціць рэгістр, у агульнай складанасці 32 біты ачысткі [n], для перапынення #n дазваляюць ачысціць Заўвага: NMI і EXC не могуць быць апераваны  

 

0x00000000

PFIC_IRER1 0xE000E184 WO Перапыненне 32-63 дазваляе ачысціць рэгістр, у агульнай складанасці 32 ачышчаных біта 0x00000000
PFIC_IRER7 0xE000E19C WO Перапыненне 244-255 дазваляе ачысціць рэгістр, у агульнай складанасці 32 ачышчаных біта 0x00000000

Два наборы рэгістраў выкарыстоўваюцца для ўключэння і адключэння адпаведных перапыненняў.

Налада чакання перапынення і ачыстка рэгістраў (PFIC_IPSR<0-7>/PFIC_IPRR<0-7>)

Імя Адрас доступу Доступ Апісанне Скінуць значэнне
 

PFIC_IPSR0

 

0xE000E200

 

WO

Перапыненне 0-31 рэгістр налад чакання, 32

усталяванне бітаў [n], для перапынення #n у чаканні ўстаноўкі

 

0x00000000

PFIC_IPSR1 0xE000E204 WO Перапыненне 32-63 у чаканні рэгістра ўстаноўкі,

усяго 32 біты ўстаноўкі

0x00000000
PFIC_IPSR7 0xE000E21C WO Перапыненне 224-255 у чаканні ўстаноўкі

рэгістр, усяго 32 біты налады

0x00000000
 

PFIC_IPRR0

 

0xE000E280

 

WO

Перапыненне 0-31 у чаканні ачысткі рэгістра, усяго 32 ачышчаных біта [n], для перапынення #n

у чаканні ачысткі

 

0x00000000

PFIC_IPRR1 0xE000E284 WO Перапыненне 32-63 чакае ачысткі рэгістра,

усяго 32 чыстых біта

0x00000000
PFIC_IPRR7 0xE000E29C WO Перапыненне 244-255 чакае ачысткі рэгістра,

усяго 32 чыстых біта

0x00000000

Калі мікрапрацэсар дазваляе перапыненне, яго можна ўсталяваць непасрэдна праз рэгістр чакання перапынення для запуску перапынення. Выкарыстоўвайце рэгістр ачысткі чакання перапынення, каб ачысціць трыгер чакання.

Рэгістр стану актывацыі перапынення (PFIC_IACTR<0-7>)

Імя Адрас доступу Доступ Апісанне Скінуць значэнне
 PFIC_IACTR0  0xE000E300  RO Перапыненне 0-31 актывуе рэгістр стану з 32 бітамі стану [n], паказваючы, што выконваецца перапыненне #n  0x00000000
 PFIC_IACTR1  0xE000E304  RO Перарыванне 32-63 рэгістраў стану актывацыі, 32 біты стану ў

усяго

 

0x00000000

 PFIC_IACTR7  0xE000E31C  RO Перарыванне 224-255 рэгістраў стану актывацыі, у агульнай складанасці 32 біта стану  0x00000000

Кожнае перапыненне мае актыўны біт стану, які ўсталёўваецца пры ўваходзе ў перапыненне і ачышчаецца апаратным забеспячэннем, калі рынак вяртаецца.

Прыярытэт перапынення і парогавыя рэгістры прыярытэту (PFIC_IPRIOR<0-7>/PFIC_ITHRESDR)

Імя Адрас доступу Доступ Апісанне Скінуць значэнне
PFIC_IPRIOR0 0xE000E400 RW Канфігурацыя прыярытэту перапынення 0. V3A: [7:4]: Біты кіравання прыярытэтам. Калі канфігурацыя не ўкладзеная, біт перавагі адсутнічае. Калі ўкладзенасць настроена, біт 7 з'яўляецца прыярытэтным бітам. [3:0]: зарэзервавана, фіксавана да 0  V3B: [7:6]: Прыярытэтныя кіравальныя біты Калі канфігурацыя не ўкладзеная, прэвентыўныя біты не настроены ўкладзенымі, усе біты выцясняюцца, але дазволена ўзнікненне да двух узроўняў перапыненняў [5:0]: Зарэзервавана, фіксавана для 0
V3C:
[7:5]: кантрольныя біты прыярытэту
Калі канфігурацыя не ўкладзеная, ніякіх прэвентыўных бітаў
Калі канфігурацыя ўкладзеная, усе біты выцясняюцца, але дазволена адбывацца да двух узроўняў перапыненняў [4:0]: зарэзерваваны, фіксаваны на 0. Заўвага: чым меншае значэнне прыярытэту, тым вышэйшы прыярытэт. Калі адно і тое ж перапыненне з прыярытэтам выключэння завісае ў той жа час, то перапыненне з больш высокім прыярытэтам будзе выканана першым.
0x00
PFIC_IPRIOR1 0xE000E401 RW Налада прыярытэту перапынення 1, тая ж функцыя, што і PFIC_IPRIOR0 0x00
PFIC_IPRIOR2 0xE000E402 RW Налада прыярытэту перапынення 2, тая ж функцыя, што і PFIC_IPRIOR0
PFIC_IPRIOR254 0xE000E4FE RW Налада прыярытэту перапынення 254, тая ж функцыя, што і PFIC_IPRIOR0 0x00
PFIC_IPRIOR255 0xE000E4FF RW Налада прыярытэту перапынення 255, тая ж функцыя, што і PFIC_IPRIOR0 0x00
PFIC_ITHRESDR 0xE000E040 RW Налада парогавага значэння прыярытэту перапынення

V3A:

[31:8]: зарэзервавана, фіксавана да 0

[7:4]: Парог прыярытэту

[3:0]: зарэзервавана, фіксавана да 0

 V3B:

[31:8]: зарэзервавана, фіксавана да 0

[7:5]: Парог прыярытэту

[4:0]: зарэзервавана, фіксавана да 0

 V3C:

[31:8]: зарэзервавана, фіксавана да 0

[7:5]: Парог прыярытэту

[4:0]: зарэзервавана, фіксавана да 0

Заўвага: Для перапыненняў са значэннем прыярытэту ≥ парога функцыя абслугоўвання перапынення не выконваецца, калі адбываецца завісанне, і калі гэты рэгістр роўны 0, гэта азначае, што парогавы рэгістр несапраўдны.

0x00

Рэгістр канфігурацыі перапынення (PFIC_CFGR)

Імя Адрас доступу Доступ Апісанне Скінуць значэнне
PFIC_CFGR 0xE000E048 RW Рэгістр канфігурацыі перапынення 0x00000000

Гэты рэгістр сапраўдны толькі для V3A, яго біты вызначаны як:

Біт Імя Доступ Апісанне Скінуць значэнне
[31:16] КОД КЛЮЧА WO У адпаведнасці з рознымі мэтавымі кантрольнымі бітамі адпаведныя ідэнтыфікацыйныя даныя доступу да бяспекі павінны быць запісаны адначасова, каб быць змененымі, а счытвальныя даныя зафіксаваны на 0. KEY1 = 0xFA05; KEY2 = 0xBCAF; KEY3 = 0xBEEF。 0
[15:8] Зарэзерваваны RO Зарэзерваваны 0
7 СІСТЭМНЫ СКІД WO Скід сістэмы (адначасовы запіс у KEY3). Аўтаматычная ачыстка 0.

Напісанне 1 правільнае, запіс 0 несапраўднае.

Заўвага: тая ж функцыя, што і біт SYSRESET рэгістра PFIC_SCTLR.

0
6 PFICRESET WO Скід модуля PFIC. Аўтаматычная ачыстка 0.

Напісанне 1 правільнае, запіс 0 несапраўднае.

0
5 ЭКСПРЭС WO Перапыненне выключэння чакае ачысткі (адначасовы запіс у KEY2)

Напісанне 1 правільнае, запіс 0 несапраўднае.

0
4 EXCSET WO Парадак чакання перапынення па выключэнні (адначасовы запіс у KEY2)

Напісанне 1 правільнае, запіс 0 несапраўднае.

0
3 NMIRESET WO Перапыненне NMI чакае ачысткі (адначасовы запіс у KEY2)

Напісанне 1 правільнае, запіс 0 несапраўднае.

0
2 NMISET WO Налада чакання перапынення NMI (адначасовая запіс у KEY2)

Напісанне 1 правільнае, запіс 0 несапраўднае.

0
1 NESTCTRL RW Укладанне перапынкаў дазваляе кантраляваць.

1: выключана; 0: уключана (сінхронная запіс на KEY1)

0
0 HWSTKCTRL RW Уключэнне кіравання HPE

1: выключана; 0: уключана (сінхронная запіс на KEY1)

0

Перапыненне глабальнага рэгістра стану (PFIC_GISR)

Імя Адрас доступу Доступ Апісанне Скінуць значэнне
PFIC_GISR 0xE000E04C RO Перапыніце глабальны рэестр статусу 0x00000000

Яго людзі вызначаюцца як

Біт Імя Доступ Апісанне Скінуць значэнне
[31:14] Зарэзерваваны RO Зарэзерваваны 0
 

 

13

 

 

ЛАКСТА

 

 

RO

Ці знаходзіцца працэсар у дадзены момант у заблакаваным стане:

1: Заблакіраваны стан;

0: незаблакіраваны стан.

Заўвага: гэты біт сапраўдны толькі для V3B/C.

 

 

0

 

 

12

 

 

DBGMODE

 

 

RO

Ці знаходзіцца працэсар у цяперашні час у стане адладкі: 1: стан адладкі;

0: стан без адладкі.

Заўвага: гэты біт сапраўдны толькі для V3B/C.

 

 

0

 

 

11

 

 

ГЛОБЛІ

 

 

RO

Глабальнае ўключэнне перапынення:

1: Уключыць перапыненне;

0: Адключыць перапыненне.

Заўвага: гэты біт сапраўдны толькі для V3B/C.

10 Зарэзерваваны RO Зарэзерваваны 0
9 ГПЕНДСТА RO Ці чакае перапыненне.

1: Так; 0: Не.

0
8 ГАКЦТА RO Ці выконваецца ў дадзены момант перапыненне.

1: Так; 0: Не.

0
 

 

[7:0]

 

 

NESTSTA

 

 

RO

Бягучы стан укладання перапынення. 0x03: перапыненне ўзроўню 2.

0x01: перапыненне ўзроўню 1. 0x00: перапыненняў не адбываецца.

Іншае: немагчымая сітуацыя.

 

 

0

Базавы адрас ідэнтыфікатара VTF і рэгістры адрасоў зрушэння (PFIC_VTFBADDRR/PFIC_VTFADDRR<0-3>)

Імя Адрас доступу Доступ Апісанне Скінуць значэнне
 

 

PFIC_VTFBADDRR

 

 

0xE000E044

 

 

RW

[31:28]: старэйшыя 4 біты мэтавага адраса VTF

[27:0]: Зарэзервавана

Гэты рэестр сапраўдны толькі для V3A.

 

 

0x00000000

 

 

 

PFIC_VTFIDR

 

 

 

0xE000E050

 

 

 

RW

[31:24]: Колькасць VTF 3

[23:16]: Колькасць VTF 2

[15:8]: Колькасць VTF 1

[7:0]: Колькасць VTF 0

Гэты рэестр сапраўдны толькі для V3B/C.

 

 

 

0x00000000

 

 

 

 

 

 

 

 

PFIC_VTFADDRR0

 0xE000E060  RW V3A:

[31:24]: нумар перапынення VTF 0

[23:0]: малодшыя 24 біта мэтавага адраса VTF, з якіх малодшыя 20 бітаў настроены як сапраўдныя, а [23:20] зафіксаванае значэнне 0.

 V3B/C:

[31:1]: адрас VTF 0, выраўнаваны па 2 байты

[0]:

1: Уключыць канал VTF 0

0: Адключыць

 

 

 

 

 

 

 

Для V3A: 0x00000000

Для V3B/C: 0xXXXXXXXX

 

 

 

 

 

 

 

 

PFIC_VTFADDRR1

 

 

 

 

 

 

 

 

0xE000E064

 

 

 

 

 

 

 

 

RW

V3A:

[31:24]: нумар перапынення VTF 1

[23:0]: малодшыя 24 біта мэтавага адраса VTF, з якіх малодшыя 20 бітаў настроены як сапраўдныя, а [23:20] зафіксаваны на 0.

 

V3B/C:

[31:1]: адрас VTF 1, выраўнаваны па 2 байты

[0]:

1: Уключыць канал VTF 1

0: Адключыць

 

 

 

 

 

 

 

Для V3A: 0x00000000

Для V3B/C: 0xXXXXXXXX

 

 

 

 

 

 

 

 

PFIC_VTFADDRR2

 

 

 

 

 

 

 

 

0xE000E068

 

 

 

 

 

 

 

 

RW

V3A:

[31:24]: нумар перапынення VTF 2

[23:0]: малодшыя 24 біта мэтавага адраса VTF, з якіх малодшыя 20 бітаў настроены як сапраўдныя, а [23:20] зафіксаванае значэнне 0.

 

V3B/C:

[31:1]: адрас VTF 2, выраўнаваны па 2 байты

[0]:

1: Уключыць канал VTF 2

0: Адключыць

 

 

 

 

 

 

 

Для V3A: 0x00000000

Для V3B/C: 0xXXXXXXXX

PFIC_VTFADDRR3 0xE000E06C RW V3A: Для V3A:
[31:24]: нумар перапынення VTF 3

[23:0]: малодшыя 24 біта мэтавага адраса VTF, з якіх малодшыя 20 бітаў настроены як сапраўдныя, а [23:20] зафіксаванае значэнне 0.

 V3B/C:

[31:1]: адрас VTF 3, выраўнаваны па 2 байты

[0]:

1: Уключыць канал VTF 3

0: Адключыць

0x00000000

Для V3B/C: 0xXXXXXXXX

Рэгістр кіравання сістэмай (PFIC_SCTLR)

Імя Адрас доступу Доступ Апісанне Скінуць значэнне
PFIC_SCTLR 0xE000ED10 RW Рэестр кіравання сістэмай 0x00000000

Кожны з іх вызначаецца наступным чынам.

Біт Імя Доступ Апісанне Скінуць значэнне
31 СІСТЭМНЫ СКІД WO Скід сістэмы, аўтаматычная ачыстка 0. Запіс 1 сапраўдны, а запіс 0 несапраўдны.

Заўвага: гэты біт сапраўдны толькі для V3B/C

0
[30:6] Зарэзерваваны RO Зарэзерваваны 0
5 СЭТЭВЕНТ WO Усталюйце падзею для абуджэння корпуса WFE. 0
 

4

СЕВОНПЕНД RW Калі адбываецца падзея або перапыняе стан чакання, сістэму можна вывесці з рэжыму сну пасля інструкцыі WFE, або, калі інструкцыя WFE не выканана, сістэма будзе абуджана адразу пасля наступнага выканання інструкцыі.

1: Уключаныя падзеі і ўсе перапыненні (уключаючы неўключаныя перапыненні) могуць абудзіць сістэму.

0: толькі ўключаныя падзеі і ўключаны

перапыненні могуць абудзіць сістэму.

 

 

 

0

3 WFITOWFE RW Выканайце каманду WFI, як быццам гэта WFE.

1: разглядайце наступную інструкцыю WFI як інструкцыю WFE.

0: Няма эфекту.

0
2 СПАЦЬ RW Рэжым малой магутнасці сістэмы кіравання. 0
1: глыбокі сон 0: сон
1 СЛІПАНЕКСІ Т RW Стан сістэмы пасля выхаду кіравання з праграмы абслугоўвання перапыненняў.

1: Сістэма пераходзіць у рэжым нізкага энергаспажывання.

0: сістэма пераходзіць у асноўную праграму.

0
0 Зарэзерваваны RO Зарэзерваваны 0

Рэгістры CSR, звязаныя з перапыненнямі

Акрамя таго, наступныя рэгістры CSR таксама аказваюць значны ўплыў на апрацоўку перапыненняў. Рэгістр кіравання сістэмай перапынення (intsyscr)

Гэты рэестр не дзейнічае толькі для V3A:

Імя КСА Адрас Доступ Апісанне Скінуць значэнне
інцыскр 0x804 URW Рэгістр кіравання сістэмай перапынення 0x0000E002

Яго людзі вызначаюцца як:

Біт Імя Доступ Апісанне Скінуць значэнне
 

 

 

31

 

 

 

ЗАМОК

 

 

 

УРО

0: Гэты рэгістр можна чытаць і запісваць у карыстальніцкім рэжыме;

1: Гэты рэгістр можна чытаць і запісваць толькі ў машынным рэжыме.

Заўвага: гэты біт канфігурацыі дзейнічае з

версія 1.0 і далей.

 

 

 

0

[30:6] Зарэзерваваны УРО Зарэзерваваны 0x380
 

 

 

 

 

5

 

 

 

 

 

ГІХВСТКНЕН

 

 

 

 

 

URW1

Глабальнае перапыненне і адключэнне апаратнага стэка ўключаны.

Заўвага: гэты біт часта выкарыстоўваецца ў аперацыйных сістэмах рэальнага часу. Калі кантэкст пераключаецца падчас перапынення, усталяванне гэтага біта можа адключыць глабальнае перапыненне і падштурхнуць апаратны стэк. Калі пераключэнне кантэксту завершана і перапыненне вяртаецца, апаратнае забеспячэнне будзе

аўтаматычна ачысціць гэты біт.

 

 

 

 

 

0

4 Зарэзерваваны УРО Зарэзерваваны 0
[3:2] PMTCFG URW Канфігурацыя біт прыярытэтнага выключэння:

00: Колькасць біт выключэння роўная 0; 01: Колькасць біт апярэджання роўная 1; 10: Колькасць біт перавагі роўная 2; 11: Колькасць біт перавагі роўная 3; Заўвага: гэты біт канфігурацыі сапраўдны пасля 1.0.

0
1 СЛУХАЙЦЕ URW Функцыя ўкладання перапынення ўключана, а фіксаванае значэнне роўна 1: 1
0: адключыць;

1: Уключыць.

Заўвага: 1. Фактычны ўзровень укладзенасці кантралюецца NEST_LVL у CSR 0xBC1;

2. Могуць быць толькі версіі пасля 1.0

напісана.

0 ХВСТКЕН URW Уключыць апаратны стэк:

0: функцыя націску апаратнага стэка адключана;

1: уключана функцыя націскання апаратнага стэка.

0

Рэгістр базавых адрасоў выключэння машыннага рэжыму (mtvec)

Імя КСА Адрас Доступ Апісанне Скінуць значэнне
mtvec 0x305 МРВ Рэестр базавых адрасоў выключэнняў 0x00000000

Яго людзі вызначаюцца як

Біт Імя Доступ Апісанне Скінуць значэнне
[31:2] BASEADDR[31:2] МРВ Базавы адрас табліцы вектара перапынення, дзе

біты [9:2] маюць значэнне 0.

0
1 РЭЖЫМ1  

MRO

Рэжым распазнання табліцы вектараў перапынення: 0: ідэнтыфікацыя па інструкцыі пераходу з абмежаваным аб'ёмам і падтрымка інструкцый без пераходу;

1: Ідэнтыфікацыя па абсалютным адрасе, падтрымка поўнага дыяпазону, але неабходна скакаць.

Заўвага: гэты біт сапраўдны толькі для V3B/C.

0
0 РЭЖЫМ0 МРВ Выбар рэжыму адрасу запісу перапынення або выключэння.

0: выкарыстанне адзінага адрасу ўваходу.

1: Зрушэнне адраса на аснове нумара перапынення *4.

0

Для MCU з мікрапрацэсарамі серыі V3, MODE0 настроены на 1 па змаўчанні пры запуску file, а запісы для выключэнняў або перапыненняў зрушаны ў адпаведнасці з нумарам перапынення *4. Звярніце ўвагу, што мікрапрацэсар V3A захоўвае інструкцыю пераходу ў вектарнай табліцы, у той час як мікрапрацэсар V3B/C можа альбо інструкцыю пераходу, альбо выкарыстоўваць абсалютны адрас функцыі перапынення, які настроены як абсалютны адрас пры запуску па змаўчанні file.

Рэгістр канфігурацыі мікрапрацэсара (карэктар)

Гэты рэестр несапраўдны для V3A:

Імя КСА Адрас Доступ Апісанне Скінуць значэнне
corecfgr 0xBC0 МРВ Рэестр канфігурацыі мікрапрацэсара 0x00000001

Яго людзі вызначаюцца як

Біт Імя Доступ Апісанне Скінуць значэнне
[31:8] Зарэзерваваны MRO Зарэзерваваны 0
 

 

7

 

 

CSTA_FAULT_IE

 

 

МРВ

Памылка стану ядра ўключыць перапыненне:

0: пры памылцы стану не ствараецца перапыненне NMI;

1: Пры памылцы стану адбываецца перапыненне NMI

генеруецца.

 

 

0

6 Зарэзерваваны MRO Трымайце 0. 0
5 IE_REMAP_EN МРВ Адлюстраванне рэгістра MIE дазваляе:

0: адрас CSR 0x800 з'яўляецца рэгістрам толькі для чытання, а вяртанае значэнне - гэта значэнне STATUS;

1: Біты 3 і 7 адраса CSR 0x800 супастаўляюцца з бітам MIE рэестра STATUS і бітам MPIE рэгістра STATUS адпаведна.

 

 

 

 

0

4 Зарэзерваваны MRO Зарэзерваваны 0
3 ROM_LOOP_ACC МРВ Паскарэнне цыкла інструкцый вобласці ROM дазваляе:

0: Выключыць функцыю цыклічнага паскарэння ў вобласці ПЗУ;

1: бесперапынныя інструкцыі з целам цыкла ў межах 128 байт будуць цалкам паскораны, у той час як інструкцыі з целам цыклу ў межах 256 байт будуць паскораны часткова;

0
2 ROM_JUMP_ACC МРВ Уключана паскарэнне пераходу інструкцый вобласці ПЗУ:

0: Адключыць паскарэнне інструкцый вобласці ПЗУ;

1: Уключыць паскарэнне пераходу інструкцый у вобласці ПЗУ.

0
[1:0] FETCH_MODE МРВ Рэжым атрымання:

00: папярэдняя выбарка выключана. Функцыя папярэдняй выбаркі інструкцый выключана, каб пазбегнуць несапраўдных аперацый выбаркі інструкцый, і ў канвееры працэсара ёсць не больш за адну сапраўдную інструкцыю. Гэтая мадэль мае самае нізкае энергаспажыванне, а яе прадукцыйнасць зніжаецца прыкладна ў 2 ~ 3 разы. 01: Рэжым папярэдняй выбаркі 1. Калі функцыя папярэдняй выбаркі інструкцый уключана, працэсар будзе працягваць доступ да памяці інструкцый, пакуль колькасць інструкцый, якія павінны быць выкананы ва ўнутраным буферы інструкцый, не перавысіць пэўную колькасць, або пакуль буфер інструкцый не будзе запоўнены, і выбарка інструкцый будзе прыпыненая; (Збой прагназавання працэсара прывядзе да залішняй аперацыі выбаркі, і ў некаторых выпадках выканаўчы блок увядзе 0 ~ 2 цыклы бурбалак, і прадукцыйнасць большасці праграм відавочна не знізіцца); 10: Зарэзерваваны;
11: Рэжым папярэдняй выбаркі 2. Калі функцыя папярэдняй выбаркі інструкцый уключана, ЦП будзе працягваць доступ да памяці інструкцый, і калі буфер інструкцый запоўнены, ЦП будзе працягваць паўторныя спробы адрасу. Гэты рэжым мае найбольшую прадукцыйнасць і энергаспажыванне. Збой прагназавання працэсара і паўторная спроба прывядуць да залішніх аперацый выбаркі і могуць працягваць займаць паласу прапускання памяці. (Для вобласці ROM паўтарэнне азначае перапынены доступ да адраса, таму рэкамендуецца ўключыць ROM_ACC_EN).

0x1

Перапыненне ўкладзенага рэгістра кіравання (inestcr)

Гэты рэестр несапраўдны толькі для V3A:

Імя КСА Адрас Доступ Апісанне Скінуць значэнне
інвестар 0xBC1 МРВ Перапыненне ўкладзенага рэгістра кіравання 0x00000000

Яго людзі вызначаюцца як

Біт Імя Доступ Апісанне Скінуць значэнне
31 Зарэзерваваны MRO Зарэзерваваны 0
30 NEST_OV МРВ Біт укладзенага сцяга перапаўнення перапынення/выключэння, напішыце 1, каб ачысціць:

0: перапыненне не перапоўнілася; 1: Сцяг перапаўнення перапынення.

Заўвага: перапаўненне перапынення будзе адбывацца толькі пры выкананні функцыі абслугоўвання другаснага перапынення для стварэння выключэння інструкцыі або перапынення NMI. У гэты час выключэнне і перапыненне NMI ўваходзяць нармальна, але стэк працэсара перапаўняецца, таму вы не можаце выйсці з гэтага выключэння і

Перапыненне NMI.

0
[29:12] Зарэзерваваны MRO Зарэзерваваны 0
[11:8] NEST_STA MRO Укладзены біт сцяга стану:

0000: Няма перапынення;

0001: перапыненне ўзроўню 1;

0011: перапыненне ўзроўню 2 (укладзенасць 1 ўзроўню);

0
0111: перапыненне ўзроўню 3 (перапаўненне);

1111: Перапыненне ўзроўню 4 (перапаўненне).

[7:2] Зарэзерваваны MRO Зарэзерваваны 0
[1:0] NEST_LVL МРВ Узровень укладзенасці:

00: Размяшчэнне забаронена і функцыя ўкладання адключана;

01: укладзенасць першага ўзроўню, якая ўключае функцыю ўкладзенасці;

Іншае: несапраўднае.

Заўвага: запішыце 10 або 11 у гэтае поле, і поле будзе ўсталявана ў 01. Пры запісе 11 у гэтае поле прачытайце гэты рэгістр, каб атрымаць самы высокі ўзровень укладзенасці мікрасхемы.

0

Рэгістр уключэння глабальных перапыненняў карыстальніцкага рэжыму (інтэрн)

Гэты рэестр несапраўдны толькі для V3A:

Імя КСА Адрас Доступ Апісанне Скінуць значэнне
гінтэнр 0x800 URW Рэестр дазволу глабальнага перапынення 0x00000000

Гэты рэгістр выкарыстоўваецца для кіравання дазволам і маскай глабальнага перапынення. Уключэнне і маска глабальнага перапынення ў машынным рэжыме могуць кіравацца бітамі MIE і MPIE у статусе, але гэты рэгістр не можа працаваць у рэжыме карыстальніка.
Глабальны рэгістр уключэння перапынення gintenr - гэта адлюстраванне MIE і MPIE у mstatus, і можа выкарыстоўвацца для ўстаноўкі і ачысткі MIE і MPIE шляхам працы gintenr у карыстальніцкім рэжыме.

Кожны з іх вызначаецца як:

Біт Імя Доступ Апісанне Скінуць значэнне
[31:13] Зарэзерваваны УРО Зарэзерваваны 0
[12:11] MPP УРО Увайдзіце ў прывілеяваны рэжым перад перапынкам. 0
[10:8] Зарэзерваваны УРО Зарэзерваваны 0
7 MPIE URW Калі 0xBC0(CSR)bit5 уключаны, гэты біт

можна чытаць і пісаць у карыстальніцкім рэжыме.

0
[6:4] Зарэзерваваны УРО Зарэзерваваны 0
3 MIE URW Калі 0xBC0(CSR)bit5 уключаны, гэты біт

можна чытаць і пісаць у карыстальніцкім рэжыме.

0
[1:0] Зарэзерваваны УРО Зарэзерваваны 0

Перапыненне ўкладвання

У спалучэнні з перапыненнем, рэгістрам канфігурацыі PFIC_CFGR і рэгістрам прыярытэту перапынення PFIC_IPRIOR можа быць дазволена ўкладанне перапыненняў. Уключыце ўкладзенасць у рэгістры канфігурацыі перапынення (укладзенасць уключана па змаўчанні для мікрапрацэсараў серыі V3) і наладзьце прыярытэт адпаведнага перапынення. Чым меншае значэнне прыярытэту, тым вышэйшы прыярытэт. Чым меншае значэнне біта апярэджання, тым вышэйшы прыярытэт выключэння. Калі ёсць перапыненні, якія вісяць у той жа час з тым жа прыярытэтам выключэння, мікрапрацэсар адказвае на перапыненне з больш нізкім значэннем прыярытэту (вышэйшым прыярытэтам) першым.

Апаратны пралог/эпілог (HPE)

  • Калі адбываецца выключэнне або перапыненне, мікрапрацэсар спыняе бягучы паток праграмы і пераходзіць да выканання функцыі апрацоўкі выключэння або перапынення, месца бягучага патоку праграмы неабходна захаваць. Пасля вяртання выключэння або перапынення неабходна аднавіць сайт і працягнуць выкананне спыненага патоку праграмы. Для мікрапрацэсараў серыі V3 «сайт» адносіцца да ўсіх рэестраў захаваных абанентаў у табліцы 1-2.
  • Мікрапрацэсары серыі V3 падтрымліваюць апаратнае аднацыклавае аўтаматычнае захаванне 16 сфармаваных рэестраў, захаваных абанентам, ва ўнутраную вобласць стэка, якая не бачная карыстальніку. Пры вяртанні выключэння або перапынення апаратны адзіночны цыкл аўтаматычна аднаўляе даныя з вобласці ўнутранага стэка ў 16-падобныя рэгістры. HPE падтрымлівае ўкладзенасць да 2 узроўняў.
  • Схема стэка ціску мікрапрацэсара паказана на наступным малюнку.WH-V3-Мікрапрацэсар-мал.2

Заўвага:

  1. Функцыі перапынення, якія выкарыстоўваюць HPE, павінны быць скампіляваны з дапамогай MRS або прадастаўленай ім інструментальнай ланцужкі, а функцыя перапынення павінна быць аб'яўлена з дапамогай __attribute__((interrupt(“WCH-Interrupt-fast”))).
  2. Функцыя перапынення, якая выкарыстоўвае штуршок стэка, аб'яўляецца __attribute__((interrupt())).

Вектарная табліца бясплатна (VTF)

  • Праграмуемы кантролер хуткага перапынення (PFIC) забяспечвае 4 канала VTF, г.зн. прамы доступ да запісу функцыі перапынення без праходжання працэсу пошуку вектара перапынення ў табліцы.
  • Канал VTF можна ўключыць, запісаўшы яго нумар перапынення, базавы адрас функцыі абслугоўвання перапынення і адрас зрушэння ў адпаведны рэгістр кантролера PFIC пры звычайнай канфігурацыі функцыі перапынення.
  • Працэс адказу PFIC для хуткіх перапыненняў без табліцы паказаны на малюнку 3-2 ніжэй.WH-V3-Мікрапрацэсар-мал.3

Абарона фізічнай памяці PMP

  • У мэтах павышэння бяспекі сістэмы модуль абароны фізічнай памяці (PMP) распрацаваны ў адпаведнасці са стандартам архітэктуры RISC-V для мікрапрацэсараў серыі V3 высакагорнага ячменю. Падтрымліваецца кіраванне правамі доступу да 4 фізічных рэгіёнаў. Дазволы ўключаюць атрыбуты чытання (R), запісу (W) і выканання (X), а даўжыню абароненай вобласці можна ўсталяваць не менш за 4 байты. Модуль PMP заўсёды ўступае ў сілу ў карыстальніцкім рэжыме, але ён можа ўступіць у сілу па жаданні, заблакіраваўшы атрыбут (L) у машынным рэжыме.
  • Калі доступ парушае бягучы ліміт дазволаў, гэта выкліча ненармальнае перапыненне. Модуль PMP уключае чатыры групы 8-разрадных рэгістраў канфігурацыі (адна група 32-разрадных) і чатыры групы адрасных рэгістраў, да ўсіх з якіх неабходна атрымаць доступ у машынным рэжыме з дапамогай інструкцыі CSR.
  • Заўвага: Колькасць абароненых абласцей, якія падтрымліваюцца PMP у розных мадэлях мікрапрацэсараў, можа быць рознай, і колькасць падтрымоўваных рэгістрамі pmpcfg і pmpaddr таксама адрозніваецца. Падрабязнасці глядзіце ў табліцы 1-1.

PMP Register Set

Спіс рэгістраў CSR, якія падтрымліваюцца модулем PMP мікрапрацэсара V3, паказаны ў табліцы 4-1 ніжэй.

Табліца 4-1 Набор рэгістраў модуля PMP

Імя Адрас CSR Доступ Апісанне Скінуць значэнне
pmpcfg0 0x3A0 МРВ Рэгістр канфігурацыі PMP 0 0x00000000
pmpaddr0 0x3B0 МРВ Рэгістр адрасоў PMP 0 0xXXXXXXXXX
pmpaddr1 0x3B1 МРВ Рэгістр адрасоў PMP 1 0xXXXXXXXXX
pmpaddr2 0x3B2 МРВ Рэгістр адрасоў PMP 2 0xXXXXXXXXX
pmpaddr3 0x3B3 МРВ Рэгістр адрасоў PMP 3 0xXXXXXXXXX

pmpcfg - гэта рэгістр канфігурацыі блока PMP, і кожны рэгістр змяшчае чатыры 8-бітныя палі накачкі, якія адпавядаюць канфігурацыі чатырох абласцей, а накачка ўяўляе значэнне канфігурацыі вобласці i. Яго фармат паказаны ў наступнай табліцы 4-2.

Табліца 4-2 рэгістра pmpcfg0WH-V3-Мікрапрацэсар-мал.4

pmpcfg выкарыстоўваецца для канфігурацыі вобласці I, і яго вызначэнне бітаў апісана ў наступнай табліцы 4-3.

Табліца 4-3 pmp

Біт Імя Апісанне
7 L Блакаванне ўключана і можа быць разблакіравана ў машынным рэжыме. 0: не заблакаваны;

1: Заблакіраваць адпаведны рэестр.

[6:5] Зарэзерваваны
[4:3] A Выраўноўванне адрасоў і выбар дыяпазону зоны абароны. 00: ВЫКЛ (PMP выключаны)

01: TOR (абарона верхняга выраўноўвання) 10: NA4 (фіксаваная чатырохбайтавая абарона)

11: NAPOT (абарона байтаў 2(G+2), G≥1)

2 X Выкананы атрыбут.
0: Няма дазволу на выкананне;

1: Выканаць дазвол.

 

1

 

W

Атрыбут, які можна запісваць.

0: Няма дазволу на запіс 1: Дазвол на запіс.

 

0

 

R

Чытальны атрыбут

0: Няма дазволу на чытанне 1: Дазвол на чытанне.

pmpaddr

Рэгістр pmpaddr выкарыстоўваецца для канфігурацыі адраса вобласці I. Стандартнае вызначэнне знаходзіцца ў архітэктуры RV32, якая з'яўляецца кадоўкай старэйшых 32 бітаў 34-бітнага фізічнага адраса, і яго фармат паказаны ў наступнай табліцы 4-4. .
Уся фізічная адрасная прастора мікрапрацэсара V3 - гэта 4G, таму два верхнія біты гэтага рэгістра не выкарыстоўваюцца.

Табліца 4-4 pmpaddrWH-V3-Мікрапрацэсар-мал.5

Калі абраны NAPOT, малодшы біт адраснага рэгістра таксама выкарыстоўваецца для ўказання памеру бягучай зоны абароны, як паказана ў наступнай табліцы, дзе 'y' - біт рэестра.
Табліца 4-5 Табліца ўзаемасувязі паміж канфігурацыяй PMP і рэестрам адрасоў і абароненай зонай.

pmpaddr pmpcfg. А Адпаведны базавы адрас і памер
yyyy…yyyy NA4 З 'yy…yyyy00' у якасці базавага адрасу 4-байтавая вобласць абаронена.
yyyy…yyy0 НАПОТ З 'yy…yyy000' у якасці базавага адрасу 8-байтавая вобласць абаронена.
yyyy…yy01 НАПОТ З 'yy…yy0000' у якасці базавага адрасу 16-байтавая вобласць абаронена.
yyyy…y011 НАПОТ З 'yy…y00000' у якасці базавага адрасу 16-байтавая вобласць абаронена.
ггг01…111 НАПОТ З 'y0…000000' у якасці базавага адрасу 231-байтавая вобласць абаронена.
гг011…111 НАПОТ Абараніце ўсю 232-байтную вобласць.

Механізм абароны

X/W/R у pmpcfg выкарыстоўваецца для ўстаноўкі паўнамоцтваў аховы вобласці I, і парушэнне адпаведных паўнамоцтваў прывядзе да адпаведнага выключэння:

  1. Пры спробе атрымаць інструкцыі ў вобласці PMP без паўнамоцтваў на выкананне гэта прывядзе да выключэння памылкі доступу да выбаркі інструкцый (mcause=1).
  2. Пры спробе запісаць даныя ў вобласць PMP без пісьмовага дазволу гэта выкліча памылку выключэння (mcause=7) у доступе да інструкцый крамы.
  3. Пры спробе прачытаць даныя ў вобласці PMP без дазволу на чытанне гэта прывядзе да ненармальнай памылкі доступу да памяці (mcause=5) для інструкцыі загрузкі.

A ў pmpcfg выкарыстоўваецца для ўстаноўкі дыяпазону абароны і выраўноўвання адрасоў вобласці I, а таксама для абароны памяці A_ADDR ≤ region < i > < B_ADDR (як A_ADDR, так і B_ADDR павінны быць выраўнаваны па 4 байтах):

  1. Калі B _ ADDR–A_ADDR = = 22, прымаецца рэжым NA4;
  2. Калі B _ ADDR–A_ADDR = = 2(G+2), G≥1, а _ адрас роўны 2(g+2), прымаецца метад NAPOT;
  3. У адваротным выпадку прымаецца рэжым TOP.

Табліца 4-6 Метады супастаўлення адрасоў PMP

Значэнне Імя Апісанне
0b00 ВЫКЛ Няма зоны для абароны
0b01 ТЗ Верхняя абарона зоны.

Пад pmp

pmpaddri = B_ADDR >> 2.

Заўвага: калі вобласць 0 PMP настроена як рэжым TOR (i=0), ніжняй мяжой зоны абароны з'яўляецца адрас 0, г. зн. 0 ≤ addr < pmpaddr0, усё ў межах адпаведнага дыяпазону.

0b10 NA4 Выпраўлена 4-байтавая абарона вобласці.

pmp

0b11 НАПОТ Абараніце вобласць 2(G+2) з G ≥ 1, калі A_ADDR выраўнаваны 2(G+2). pmpaddri = ((A_ADDR|(2(G+2)-1)) &~(1< >1.
  • Біт L у pmp
  • Мікрапрацэсары серыі QingKe V3 падтрымліваюць абарону некалькіх зон. Калі адна і тая ж аперацыя супадае з некалькімі зонамі адначасова, зона з меншым нумарам супадае першай.

Сістэмны таймер (SysTick)

  • Мікрапрацэсар серыі QingKe V3 распрацаваны з 32-разрадным або 64-разрадным лічыльнікам (SysTick) унутры. Яго крыніцай тактавага сігналу з'яўляецца сістэмны гадзіннік або яго 8-частотнае дзяленне, а V3A падтрымлівае толькі 8-частотнае дзяленне.
  • Ён можа забяспечыць часовую аснову, час і вымярэнне часу для аперацыйнай сістэмы рэальнага часу. Розныя тыпы рэгістраў, задзейнічаных у таймеры, маюць розныя адрасы адлюстравання, як паказана ў наступных табліцах 5-1 і 5-2.

Табліца 5-1 Спіс рэестраў V3A SysTick

Імя Адрас доступу Апісанне Скінуць значэнне
STK_CTLR 0xE000F000 Рэгістр кіравання лічыльнікам сістэмы 0x00000000
STK_CNTL 0xE000F004 Ніжні рэгістр сістэмнага лічыльніка 0xXXXXXXXXX
STK_CNTH 0xE000F008 Высокі рэгістр сістэмнага лічыльніка

Заўвага: дзейнічае толькі для V3A.

0xXXXXXXXXX
STK_CMPLR 0xE000F00C Малодшы рэгістр значэння параўнання сістэмнага падліку 0xXXXXXXXXX
STK_CMPHR 0xE000F010 Высокі рэгістр параўнальнага значэння сістэмнага падліку

Заўвага: дзейнічае толькі для V3A.

0xXXXXXXXXX

Табліца 5-2 Спіс рэгістраў V3 SysTick іншых мадэляў

Імя Адрас доступу Апісанне Скінуць значэнне
STK_CTLR 0xE000F000 Рэгістр кіравання лічыльнікам сістэмы 0x00000000
СТК_СР 0xE000F004 Рэестр стану лічыльніка сістэмы 0x00000000
STK_CNTL 0xE000F008 Ніжні рэгістр сістэмнага лічыльніка 0xXXXXXXXXX
STK_CMPLR 0xE000F010 Ніжні рэгістр значэння параўнання графа 0xXXXXXXXXX

Кожны рэестр падрабязна апісаны наступным чынам.

Рэгістр кіравання лічыльнікам сістэмы (STK_CTLR)

Табліца 5-3 Рэгістры кіравання SysTick

Біт Імя Доступ Апісанне Скінуць значэнне
[31:5] Зарэзерваваны RO Зарэзерваваны 0
 

 

4

 

 

РЭЖЫМ

 

 

RW

Рэжым падліку: 1: зваротны адлік;

0: Лічыце.

Заўвага: недапушчальна для V3A.

 

 

0

 

 

 

3

 

 

 

ВУЛ

 

 

 

RW

Біт уключэння падліку аўтаматычнай перазагрузкі:

1: зноў адлік ад 0 пасля адліку да параўнальнага значэння і зноў адлік ад параўнальнага значэння пасля зваротнага адліку да 0;

0: Працягвайце лічыць уверх/уніз.

Заўвага: недапушчальна для V3A.

 

 

 

0

 

 

2

 

 

STCLK

 

 

RW

Біт выбару крыніцы контртакта:

1: HCLK як база часу; 0: HCLK/8 як база часу.

Заўвага: гэта недапушчальна для V3A, які падтрымлівае толькі

HCLK/8 як база часу.

 

 

0

1 САЙТ RW Кіруючыя біты ўключэння перапынення лічыльніка: 0
1: Уключыць перапыненне лічыльніка; 0: адключыць перапыненне лічыльніка.

Заўвага: недапушчальна для V3A.

0 STE RW Сістэмны лічыльнік дазваляе кантрольны біт. 1: Уключыць сістэмны лічыльнік STK;

0: адключэнне сістэмнага лічыльніка STK, і лічыльнік спыняе падлік.

0

Рэгістр стану лічыльніка сістэмы (STK_SR)

Гэты рэестр не распаўсюджваецца на V3A.

Табліца 5-4 Ніжні рэгістр лічыльніка SysTick

Біт Імя Доступ Апісанне Скінуць значэнне
 

 

31

 

 

СВІ

 

 

RW

Уключэнне праграмнага перапынення (SWI): 1: запускае праграмнае перапыненне;

0: Выключыць курок.

Заўвага: гэты біт павінен быць ачышчаны пасля ўваходу ў праграмнае перапыненне, інакш яно заўсёды будзе запускацца.

 

 

0

[30:1] Зарэзерваваны RO Зарэзерваваны 0
 

 

0

 

 

CNTIF

 

 

RW

Сцяг параўнання падліку, выразна напішыце 0, напішыце 1 несапраўдны:

1: лічыце да значэння параўнання і адлічвайце да 0;

0: значэнне параўнання не дасягнута.

 

 

0

Ніжні рэгістр сістэмнага лічыльніка (STK_CNTL)

Табліца 5-5 Ніжні рэгістр лічыльніка SysTick

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] CNTL RW Бягучае значэнне лічыльніка на 32 біта ніжэй. Для V3A гэты рэгістр можна прачытаць як 8-бітны/16-бітны

/32-біт, але можа быць запісаны толькі як 8-біт, і інш

мадэлі не абмежаваныя.

0xXXXXX XXX

Заўвага: Рэгістр STK_CNTL і рэгістр STK_CNTH у V3A разам складаюць 64-бітны лічыльнік сістэмы.

Старшы рэгістр лічыльніка сістэмы (STK_CNTH)

Табліца 5-6 Старшы рэгістр лічыльніка SysTick

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] CNTH RW Бягучае значэнне лічыльніка на 32 біта вышэй. Гэты рэгістр можа быць прачытаны 8-бітным/16-бітным/32-бітным, але можа быць запісаны толькі 8-бітным.

Заўвага: дзейнічае толькі для V3A.

0xXXXXX XXX

Заўвага: Рэгістр STK_CNTL і рэгістр STK_CNTH у V3A разам складаюць 64-бітны лічыльнік сістэмы.

Ніжні рэгістр параўнальнага значэння колькасці сістэмы (STK_CMPLR)

Табліца 5-7 Ніжні рэгістр значэння параўнання SysTick

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] CMPL RW Усталюйце значэнне параўнання лічыльніка на 32 біта ніжэй. Калі значэнне CMP і значэнне CNT роўныя, будзе запушчана перапыненне STK. Для V3A гэты рэгістр можа быць прачытаны як 8-бітны/16-бітны/32-бітны, але толькі

напісаны як 8-бітны, а іншыя мадэлі не абмежаваныя.

0xXXXXX XXX

Заўвага: Рэгістры STK_CMPLR і рэгістры STK_CMPHR у V3A разам складаюць 64-бітнае значэнне параўнання лічыльніка.

Верхні рэгістр параўнальнага значэння колькасці сістэмы (STK_CMPHR)

Табліца 5-8 Верхні рэгістр значэння параўнання SysTick

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] CMPH RW Усталюйце значэнне параўнання лічыльніка на 32 біта вышэй. Перапыненне STK будзе запушчана, калі значэнне CMP і значэнне CNT роўныя.

Гэты рэгістр можа быць прачытаны 8-бітным/16-бітным/32-бітным, але можа быць запісаны толькі 8-бітным.

Заўвага: дзейнічае толькі для V3A.

0xXXXXX XXX

Заўвага: Рэгістры STK_CMPLR і рэгістры STK_CMPHR у V3A разам складаюць 64-бітнае значэнне параўнання лічыльніка.

Налады нізкага энергаспажывання працэсара

  • Мікрапрацэсары серыі QingKe V3 падтрымліваюць рэжым сну праз інструкцыю WFI (Wait for Interrupt) для дасягнення нізкага статычнага энергаспажывання.
  • Разам з рэестрам кіравання сістэмай PFIC (PFIC_SCTLR) могуць быць рэалізаваны розныя рэжымы сну і інструкцыі WFE.

Увайдзіце ў рэжым сну

  • Мікрапрацэсары серыі QingKe V3 могуць пераходзіць у рэжым сну двума спосабамі: чакаць перапынення (WFI) і чакаць падзеі (WFE). Метад WFI азначае, што мікрапрацэсар пераходзіць у спячы рэжым, чакае перапынення, каб прачнуцца, а затым прачынаецца да адпаведнага перапынення для выканання. Метад WFE азначае, што мікрапрацэсар пераходзіць у спячы рэжым, чакае падзеі, каб прачнуцца, і прачынаецца, каб працягнуць выкананне раней спыненага патоку праграмы.
  • Стандартны RISC-V падтрымлівае інструкцыі WFI, і каманда WFI можа быць выканана непасрэдна для пераходу ў рэжым сну метадам WFI. Для метаду WFE біт WFITOWFE ў рэгістры кіравання сістэмай PFIC_SCTLR выкарыстоўваецца для кіравання наступнымі камандамі WFI ў якасці апрацоўкі WFE для дасягнення метаду WFE для пераходу ў рэжым сну.
  • Глыбіня сну кантралюецца ў адпаведнасці з бітам SLEEPDEEP у PFIC_SCTLR.
  • Калі SLEEPDEEP у рэгістры PFIC_SCTLR ачышчаецца да нуля, мікрапрацэсар пераходзіць у рэжым сну, а ўнутраны гадзіннік прылады можа быць выключаны, за выключэннем SysTick і часткі логікі абуджэння.
  • Калі SLEEPDEEP у рэгістры PFIC_SCTLR усталяваны, мікрапрацэсар пераходзіць у рэжым глыбокага сну, і ўсе тактавыя сігналы ячэйкі могуць быць выключаны.
  • Калі мікрапрацэсар знаходзіцца ў рэжыме адладкі, перайсці ў рэжым сну немагчыма.

Сон Прачынанне

Мікрапрацэсары серыі QingKe V3 могуць быць прабуджаны пасля сну з-за WFI і WFE наступнымі спосабамі.

Пасля таго, як метад WFI пераходзіць у рэжым сну, яго можна абудзіць

  1. Мікрапрацэсар можа быць абуджаны крыніцай перапынення, на якое адказвае кантролер перапынення. Пасля абуджэння мікрапрацэсар спачатку выконвае функцыю перапынення.
  2. Перайдзіце ў рэжым сну, запыт адладкі можа прымусіць мікрапрацэсар прачнуцца і перайсці ў глыбокі сон, запыт адладкі не можа вывесці мікрапрацэсар з рэжыму сну.

Пасля таго, як метад WFE пераходзіць у рэжым сну, мікрапрацэсар можна разбудзіць наступным чынам.

  1. Унутраныя або знешнія падзеі, калі няма неабходнасці наладжваць кантролер перапыненняў, прачынаюцца і працягваюць выкананне праграмы.
  2. Калі крыніца перапынення ўключана, мікрапрацэсар прачынаецца, калі генеруецца перапыненне, і пасля выхаду з абуджэння мікрапрацэсар выконвае функцыю перапынення першым.
  3. Калі настроены біт SEVONPEND у PFIC_SCTLR, кантролер перапынення не дазваляе перапыненне, але калі генеруецца новы сігнал чакання перапынення (раней створаны сігнал чакання не ўступае ў сілу), гэта таксама можа выклікаць прачынанне мікрапрацэсара і адпаведны сцяг чакання перапынення трэба ачысціць уручную пасля абуджэння.
  4. Запыт адладкі ў рэжыме сну можа прымусіць мікрапрацэсар прачнуцца і перайсці ў глыбокі сон, запыт адладкі не можа вывесці мікрапрацэсар з рэжыму сну.
  • Акрамя таго, станам мікрапрацэсара пасля абуджэння можна кіраваць, наладзіўшы біт SLEEPONEXIT у PFIC_SCTLR.
  • Усталяваны SLEEPONEXIT, і інструкцыя вяртання перапынення апошняга ўзроўню (mret) запусціць рэжым сну WFI.

SLEEPONEXIT ачышчаны без эфекту.

Розныя прадукты MCU, абсталяваныя мікрапрацэсарамі серыі V3, могуць прымаць розныя рэжымы сну, адключаць розныя перыферыйныя прылады і гадзіны, рэалізоўваць розныя палітыкі кіравання сілкаваннем і метады абуджэння ў адпаведнасці з рознымі канфігурацыямі PFIC_SCTLR, а таксама рэалізоўваць розныя рэжымы нізкага энергаспажывання.

Падтрымка адладкі

  • Мікрапрацэсары серыі QingKe V3 ўключаюць апаратны модуль адладкі, які падтрымлівае складаныя аперацыі адладкі. Калі мікрапрацэсар прыпынены, модуль адладкі можа атрымаць доступ да GPR, CSR, памяці, знешніх прылад і г. д. мікрапрацэсара праз абстрактныя каманды, інструкцыі па разгортванні буфера праграмы і г. д. Модуль адладкі можа прыпыняць і аднаўляць працу мікрапрацэсара.
  • Модуль адладкі адпавядае спецыфікацыі RISC-V External Debug Support Version0.13.2, падрабязную дакументацыю можна спампаваць з RISC-V International webсайт.

Модуль адладкі

  • Модуль адладкі ўнутры мікрапрацэсара, здольны выконваць аперацыі адладкі, выданыя хостам адладкі, уключае.
  • Доступ да рэестраў праз інтэрфейс адладкі
  • Скід, прыпыненне і аднаўленне працы мікрапрацэсара праз інтэрфейс адладкі
  • Чытайце і запісвайце памяць, рэгістры інструкцый і знешнія прылады праз інтэрфейс адладкі
  • Разгортванне некалькіх адвольных інструкцый праз інтэрфейс адладкі
  • Усталюйце кропкі прыпынку праграмнага забеспячэння праз інтэрфейс адладкі
  • Усталюйце апаратныя кропкі прыпынку праз інтэрфейс адладкі
  • Падтрымка аўтаматычнага выканання абстрактных каманд
  • Падтрымка аднаэтапнай адладкі
  • Заўвага: V3A не падтрымлівае апаратныя кропкі супыну, апаратныя кропкі супыну V3B падтрымліваюць супастаўленне адрасоў інструкцый, а апаратныя кропкі супыну V3C падтрымліваюць супастаўленне адрасоў інструкцый і адрасоў даных.
  • Унутраныя рэгістры модуля адладкі выкарыстоўваюць 7-бітны адрасны код, а наступныя рэгістры рэалізаваны ўнутры мікрапрацэсараў серыі QingKe V3.

Табліца 7-1 Спіс рэгістра модуля адладкі

Імя Адрас доступу Апісанне
дадзеныя0 0x04 Рэгістр даных 0 можа выкарыстоўвацца для часовага захоўвання даных
дадзеныя1 0x05 Рэгістр даных 1 можа выкарыстоўвацца для часовага захоўвання даных
дэкантроль 0x10 Рэгістр кіравання модулем адладкі
dmstatus 0x11 Рэестр стану модуля адладкі
hartinfo 0x12 Рэестр стану мікрапрацэсара
рэфераты 0x16 Рэестр стану абстрактных каманд
загадваць 0x17 Абстрактны рэгістр каманд
абстрактны аўт 0x18 Аўтаматычнае выкананне абстрактнай каманды
progbuf0-7 0х20-0х27 Рэгістры кэша інструкцый 0-7
haltsum0 0x40 Прыпыніць рэестр стану
  • Хост адладкі можа кантраляваць прыпыненне, аднаўленне, скід і г.д. мікрапрацэсара шляхам канфігурацыі рэгістра дэкантролю. Стандарт RISC-V вызначае тры тыпы абстрактных каманд: рэестр доступу, хуткі доступ і доступ да памяці.
  • Мікрапрацэсар QingKe V3A падтрымлівае толькі доступ да рэгістра, іншыя мадэлі падтрымліваюць доступ да рэгістра і памяці, але не хуткі доступ. Доступ да рэгістраў (GPR, CSR) і бесперапынны доступ да памяці можна рэалізаваць з дапамогай абстрактных каманд.
  • Модуль адладкі рэалізуе 8 рэгістраў кэша інструкцый progbuf0-7, і хост адладкі можа кэшаваць некалькі інструкцый (якія могуць быць сціснутымі інструкцыямі) у буфер і можа працягваць выкананне інструкцый у рэгістрах кэша інструкцый пасля выканання абстрактнай каманды або выканаць кэшаваныя інструкцыі непасрэдна.
  • Заўвага што апошняя інструкцыя ў праграмах павінна быць інструкцыяй «ebreak» або «c.ebreak». Доступ да сховішчаў, перыферыйных прылад і г.д. таксама магчымы з дапамогай абстрактных каманд і інструкцый, захаваных у кэшы праграм.
  • Кожны рэестр падрабязна апісаны наступным чынам.
  • Рэгістр даных 0 (data0)

Табліца 7-2 Вызначэнне рэгістра даных

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] дадзеныя0 RW Рэгістр даных 0, які выкарыстоўваецца для часовага захоўвання даных 0

Рэгістр даных 1 (data1)

Табліца 7-3 data1 вызначэнне рэгістра

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] дадзеныя1 RW Рэгістр даных 1, які выкарыстоўваецца для часовага захоўвання даных 0

Рэгістр кіравання модулем адладкі (дэкантроль)

Гэты рэгістр кіруе паўзай, скідам і аднаўленнем працы мікрапрацэсара. Хост адладкі запісвае даныя ў адпаведнае поле для дасягнення паўзы (haltreq), скіду (ndmreset), аднаўлення (resumereq). Вы апісваеце наступнае.

Табліца 7-4 вызначэнне рэгістра дэкантролю

Біт Імя Доступ Апісанне Скінуць значэнне
31 haltreq WO 0: ачысціць запыт на паўзу

1: Адпраўце запыт на паўзу

0
30 resumereq W1 0: несапраўдны

1: Аднавіць бягучы мікрапрацэсар

Заўвага: Запіс 1 сапраўдны, і апаратнае забеспячэнне ачышчаецца пасля аднаўлення мікрапрацэсара

0
29 Зарэзерваваны RO Зарэзерваваны 0
28 пацвердзіць скід W1 0: несапраўдны

1: Ачысціце біт стану ўраджаю мікрапрацэсара

0
[27:2] Зарэзерваваны RO Зарэзерваваны 0
1 ndmreset RW 0: Ачысціць скід

1: Скінуць усю сістэму, акрамя модуля адладкі

 

0

0 дэактываваць RW 0: Скінуць модуль адладкі

1: Модуль Debug працуе належным чынам

0

Рэестр стану модуля адладкі (статус dm)

  • Гэты рэгістр выкарыстоўваецца для ўказання стану модуля адладкі і з'яўляецца рэгістрам толькі для чытання з наступным апісаннем кожнага біта.

стол 7-5 вызначэнне рэестра dmstatus

Біт Імя Доступ Апісанне Скінуць значэнне
[31:20] Зарэзерваваны RO Зарэзерваваны 0
19 усё скінута RO 0: несапраўдны

1: Скід мікрапрацэсара

0
18 anyhavereset RO 0: несапраўдны

1: Скід мікрапрацэсара

0
17 allresumeack RO 0: несапраўдны

1: Скід мікрапрацэсара

0
16 anyresumeack RO 0: несапраўдны

1: Скід мікрапрацэсара

0
[15:14] Зарэзерваваны RO Зарэзерваваны 0
13 алювіяльны RO 0: несапраўдны

1: Мікрапрацэсар недаступны

0
12 любая карысць RO 0: несапраўдны

1: Мікрапрацэсар недаступны

0
11 усё працуе RO 0: несапраўдны

1: Мікрапрацэсар працуе

0
10 любы бег RO 0: несапраўдны

1: Мікрапрацэсар працуе

0
9 спынены RO 0: несапраўдны

1: Мікрапрацэсар падвешаны

0
8 любыя спыненыя RO 0: несапраўдны

1: Мікрапрацэсар з падвескі

0
7 аўтэнтыфікаваны  

RO

0: перад выкарыстаннем модуля адладкі патрабуецца аўтэнтыфікацыя

1: Модуль адладкі быў сертыфікаваны

 

0x1

[6:4] Зарэзерваваны RO Зарэзерваваны 0
[3:0] версія RO Версія архітэктуры падтрымкі сістэмы адладкі 0010: V0.13 0x2

Рэестр стану мікрапрацэсара (hartinfo)

Гэты рэгістр выкарыстоўваецца для прадастаўлення інфармацыі аб мікрапрацэсары хосту адладкі і з'яўляецца рэгістрам толькі для чытання, кожны біт якога апісаны наступным чынам.

Табліца 7-6 Вызначэнне рэгістра hartinfo

Біт Імя Доступ Апісанне Скінуць значэнне
[31:24] Зарэзерваваны RO Зарэзерваваны 0
[23:20] драпаць RO Колькасць падтрымоўваных скрэтч-рэгістраў 0x3
[19:17] Зарэзерваваны RO Зарэзерваваны 0
16 DataAccess RO 0: Рэгістр дадзеных супастаўляецца з адрасам CSR

1: Рэгістр дадзеных адлюстроўваецца на адрас памяці

0x1
[15:12] памер дадзеных RO Колькасць рэгістраў даных 0x2
 

[11:0]

дад  

RO

Адрас зрушэння рэгістра дадзеных data0,

базавы адрас якога 0xe0000000, падлягае спецыяльнаму чытанню.

0xXXX

Абстрактнае кіраванне камандамі і рэгістры стану (рэфераты)

Гэты рэгістр выкарыстоўваецца для ўказання выканання абстрактнай каманды. Хост адладкі можа прачытаць гэты рэгістр, каб даведацца, выканана апошняя абстрактная каманда ці не, і можа праверыць, ці ўзнікла памылка падчас выканання абстрактнай каманды, і тып памылкі, які падрабязна апісаны наступным чынам.

Табліца 7-7 азначэнняў рэгістра тэзісаў

Біт Імя Доступ Апісанне Скінуць значэнне
[31:29] Зарэзерваваны RO Зарэзерваваны 0
[28:24] памер праграмы RO Паказвае нумар праграмнага буфера

рэгістры кэша

0x8
[23:13] Зарэзерваваны RO Зарэзерваваны 0
12 заняты RO 0: абстрактная каманда не выконваецца

1: Выконваюцца абстрактныя каманды

Заўвага: пасля выканання абсталяванне ачышчаецца.

 

0

11 Зарэзерваваны RO Зарэзерваваны 0
[10:8] cmder RW Памылка абстрактнай каманды тыпу 000: Памылак няма

001: Выкананне абстрактнай каманды для запісу ў каманды, анатацыі, абстрактныя аўтаматычныя рэгістры або чытання і запісу ў рэгістры дадзеных і progbuf

010: Не падтрымлівае бягучую абстрактную каманду 011: Выкананне абстрактнай каманды з выключэннем 100: Мікрапрацэсар не прыпынены або недаступны і не можа выконваць абстрактныя каманды 101: Памылка шыны

110: Памылка біта цотнасці падчас сувязі 111: Іншыя памылкі

Заўвага: для запісу біта 1 выкарыстоўваецца для ачысткі нуля.

 

 

 

 

 

 

 

0

[7:4] Зарэзерваваны RO Зарэзерваваны 0
[3:0] зніжка RO Колькасць рэгістраў даных 0x2
  • Хасты адладкі могуць атрымліваць доступ да GPR, рэгістраў CSR і памяці, запісваючы розныя значэнні канфігурацыі ў абстрактны рэгістр каманд.
  • Пры звароце да рэгістраў біты каманднага рэгістра вызначаюцца наступным чынам.
  • Табліца 7-8 Вызначэнне рэгістра каманд пры доступе да рэестраў
Біт Імя Доступ Апісанне Скінуць значэнне
[31:24] тып cmd WO Абстрактны тып каманды 0: Рэестр доступу;

1: Хуткі доступ (не падтрымліваецца);

2: Доступ да памяці.

0
23 Зарэзерваваны WO Зарэзерваваны 0
[22:20] aarsize WO Разраднасць дадзеных рэгістра доступу 000: 8 біт

001: 16-біт

010: 32-біт

0
011: 64-біт (не падтрымліваецца) 100: 128-біт (не падтрымліваецца)

Заўвага: пры доступе да рэгістраў з плаваючай кропкай

FPRs, падтрымліваецца толькі 32-бітны доступ.

19 аарпасцінкрэмент WO 0: Няма эфекту

1: Аўтаматычна павялічваць значэнне regno пасля доступу да рэестра

 

0

18 пост вык WO 0: Няма эфекту

1:Выканайце абстрактную каманду, а затым выканайце каманду ў progbuf

 

0

17 перадача WO 0: Не выконваць аперацыю, вызначаную запісам

1: Выканайце маніпуляцыю, указаную запісам

0
16 пісаць WO 0: Скапіраваць дадзеныя з вызначанага рэгістра ў data0 1: Скапіраваць дадзеныя з data0 рэгістра ў паказаны рэгістр  

0

[15:0] рэгна WO Укажыце рэгістры доступу 0x0000-0x0fff з'яўляюцца CSR 0x1000-0x101f з'яўляюцца GPR  

0

Пры звароце да памяці біты ў рэгістры каманд вызначаюцца наступным чынам.

Табліца 7-9 Вызначэнне каманды Register when Accessing Memory

Біт Імя Доступ Апісанне Скінуць значэнне
[31:24] тып cmd WO Абстрактны тып каманды 0: Рэестр доступу;

1: Хуткі доступ (не падтрымліваецца);

2: Доступ да памяці.

0
23 aamvirtual WO 0: фізічны адрас доступу;

1: Доступ да віртуальнага адрасу.

0
[22:20] памер рукі WO Разраднасць дадзеных доступу да памяці 000: 8 біт;

001: 16-біт;

010: 32-біт;

011: 64-біт (не падтрымліваецца); 100: 128-біт (не падтрымліваецца);

 

0

19 aampастынкрэмент WO 0: Няма ўплыву;

1: Пасля паспяховага доступу да памяці павялічце адрас, які захоўваецца ў рэгістры data1, на колькасць байтаў, якая адпавядае разраднасці, настроенай памерам рукі.

Aamsize=0, доступ праз байт, data1 плюс 1.

Aamsize=1, доступ праз паўслова, data1 плюс 2. aamsize=2, доступ праз біт, data1 плюс 4.

 

0

18 пост вык WO 0: Няма ўплыву;

1: Выканайце каманду ў progbuf пасля выканання абстрактнай каманды.

0
17 Запаведнік RO Зарэзерваваны 0
 

 

16

 

 

пісаць

 

 

WO

0: Чытанне даных з адраса, указанага data1, у data0

1: Запіс дадзеных у data0 на адрас, указаны

дадзеныя1.

 

 

0

 

 

 

 

 

 

[15:14]

 

 

 

 

 

 

мэтавы

 

 

 

 

 

 

WO

Вызначэнне рэжыму чытання і запісу Write:

00, 01: Запіс непасрэдна ў памяць;

10: Пасля таго, як дадзеныя ў data0 выконваюцца АБО з бітамі дадзеных у памяці, вынік запісваецца ў памяць (падтрымліваецца толькі доступ да слова).

11: Пасля сумавання даных у data0 з бітамі даных у памяці запішыце вынік у памяць (падтрымліваецца толькі доступ да слоў).

Чытайце:

00, 01, 10, 11: Счытванне 0 непасрэдна з памяці.

 

 

 

 

 

 

0

[13:0] Запаведнік RO Зарэзерваваны

Рэгістр аўтаматычнага выканання абстрактнай каманды (абстрактны аўта)

Гэты рэестр выкарыстоўваецца для канфігурацыі модуля адладкі. Пры чытанні і запісе progbufx і даных модуля адладкі абстрактная каманда можа быць выканана зноў.

Апісанне гэтага рэестра наступнае:

Табліца 7-10 Вызначэнне абстрактнага аўтарэгістра

Біт Імя Доступ Апісанне Скінуць значэнне
[31:16] autoexecprogbuf RW Калі біт усталяваны, адпаведнае чытанне і запіс progbufx прывядзе да паўторнага выканання абстрактнай каманды ў рэгістры каманд.

Заўвага: серыя V3 распрацавана з 8 progbuf, адпаведныя біты [23:16].

 

0

[15:12] Запаведнік RO Зарэзерваваны 0
[11:0] autoexecdata  

RW

Калі біт усталяваны ў 1, адпаведнае чытанне і запіс рэгістра даных прывядзе да паўторнага выканання абстрактнай каманды ў рэгістры каманд.

Заўвага: серыя V3 распрацавана з двума дадзенымі рэгістры, адпаведныя бітам [1:0].

0

Рэгістр кэша інструкцый (progbufx)

Гэты рэестр выкарыстоўваецца для захоўвання любой інструкцыі і разгортвання адпаведнай аперацыі, у тым ліку 8, якая павінна звярнуць увагу на апошняе выкананне, якое павінна быць «break» або «c.ebreak».

Табліца 7-11 Вызначэнне рэгістра progbuf

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] progbuf RW Кадаванне інструкцый для аперацый з кэшам, якія

можа ўключаць інструкцыі па сціску

0

Прыпыніць рэестр стану (haltsum0)

Гэты рэгістр выкарыстоўваецца, каб паказаць, прыпынены ці не мікрапрацэсар. Кожны біт паказвае прыпынены стан мікрапрацэсара, і калі ёсць толькі адно ядро, толькі самы малодшы біт гэтага рэгістра выкарыстоўваецца для яго ўказання.

Табліца 7-12 вызначэнне рэгістра haltsum0

Біт Імя Доступ Апісанне Скінуць значэнне
[31:1] Зарэзерваваны RO Зарэзерваваны 0
0 haltsum0 RO 0: мікрапрацэсар працуе нармальна

1: прыпынак мікрапрацэсара

0
  • У дадатак да вышэйзгаданых рэестраў модуля адладкі функцыя адладкі таксама ўключае ў сябе некаторыя рэгістры CSR, галоўным чынам рэгістр кіравання адладкай і статусам dcsr і паказальнік інструкцый адладкі dpc, якія падрабязна апісаны наступным чынам.
  • Кантроль адладкі і рэестр стану (dcsr)

Табліца 7-13 вызначэнне рэгістра dcsr

Біт Імя Доступ Апісанне Скінуць значэнне
[31:28] xdebugver DRO 0000: знешняя адладка не падтрымліваецца 0100: падтрымка стандартнай знешняй адладкі

1111: Знешняя адладка падтрымліваецца, але не сустракаецца

спецыфікацыя

 

 

0x4

[27:16] Зарэзерваваны DRO Зарэзерваваны 0
15 перапынак DRW 0: каманда break у машынным рэжыме паводзіць сябе так, як апісана ў прывілеі file

1: Каманда break у машынным рэжыме можа перайсці ў рэжым адладкі

 

 

0

[14:13] Зарэзерваваны DRO Зарэзерваваны 0
12 разрыў  

DRW

0: каманда break у карыстальніцкім рэжыме паводзіць сябе так, як апісана ў прывілеі file

1: Каманда break у рэжыме карыстальніка можа перайсці ў рэжым адладкі

 

 

0

11 крок DRW 0: перапыненні адключаны пры аднаэтапнай адладцы

1: Уключыць перапыненні пры аднаэтапнай адладцы

0
10 Зарэзерваваны DRO Зарэзерваваны 0
9 спыніць час DRW 0: Сістэмны таймер працуе ў рэжыме адладкі

1: Сістэмны таймер спыняецца ў рэжыме адладкі

0
 

[8:6]

выклікаць DRO Прычыны ўваходу ў адладку

001: Увод адладкі ў выглядзе каманды перапынку (прыярытэт 3)

010: Увод адладкі ў форме трыгернага модуля (прыярытэт 4, самы высокі)

011: Увод адладкі ў выглядзе запыту на паўзу (прыярытэт 1)

100: адладка ў выглядзе аднаэтапнай адладкі

(прыярытэт 0, самы нізкі)

0
101: перайсці ў рэжым адладкі непасрэдна пасля скіду мікрапрацэсара (прыярытэт 2) Іншыя: зарэзервавана
[5:3] Зарэзерваваны DRO Зарэзерваваны 0
2 крок DRW 0: адключыць аднаэтапную адладку

1: Уключыць аднаэтапную адладку

0
[1:0] Папярэд DRW Рэжым прывілеяў 00: Рэжым карыстальніка

01: Рэжым наглядчыка (не падтрымліваецца) 10: Зарэзерваваны

11: Машынны рэжым

Заўвага: запішыце прывілеяваны рэжым пры ўваходзе ў рэжым адладкі, адладчык можа змяніць гэта значэнне, каб змяніць прывілеяваны рэжым пры выхадзе з адладкі

 

 

 

 

0

Паказальнік праграмы рэжыму адладкі (DPC)

  • Гэты рэгістр выкарыстоўваецца для захавання адраса наступнай інструкцыі, якая будзе выканана пасля таго, як мікрапрацэсар пераходзіць у рэжым адладкі, і яго значэнне абнаўляецца па розных правілах у залежнасці ад прычыны ўводу адладкі. dpc рэестр падрабязна апісаны наступным чынам.

Табліца 7-14 Вызначэнні рэгістра dpc

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] DPC DRW Адрас інструкцыі 0

Правілы актуалізацыі рэестраў прыведзены ў наступнай табліцы.

Табліца 7-15 Правілы абнаўлення dpc

Увядзіце метад адладкі Правілы абнаўлення dpc
перапынак Адрас інструкцыі Ebreak
адзін крок Адрас інструкцыі наступнай інструкцыі бягучай інструкцыі
трыгерны модуль Часова не падтрымліваецца
запыт на прыпынак Адрас наступнай інструкцыі, якая будзе выканана пры ўваходзе ў Debug

Інтэрфейс адладкі

  • У адрозненне ад стандартнага ДжTAG інтэрфейс, вызначаны RISC-V, мікрапрацэсар серыі QingKe V3 выкарыстоўвае 1-правадны/2-правадны паслядоўны інтэрфейс адладкі і прытрымліваецца пратаколу інтэрфейсу адладкі WCH V1.0.
  • Інтэрфейс адладкі адказвае за сувязь паміж хостам адладкі і модулем адладкі і рэалізуе аперацыю чытання/запісу хоста адладкі ў рэгістры модуля адладкі.
  • WCH распрацавала WCH_Link і адкрыла зыходны код яго схемы і двайковага файла праграмы files, які можна выкарыстоўваць для адладкі ўсіх мікрапрацэсараў архітэктуры RISC-V.
  • Звярніцеся да WCH Debug Protocol Manual для канкрэтных пратаколаў інтэрфейсу адладкі.

Спіс рэестра КСА

  • Архітэктура RISC-V вызначае шэраг рэгістраў кіравання і стану (CSR) для кантролю і запісу працоўнага стану мікрапрацэсара.
  • Некаторыя з CSR былі прадстаўлены ў папярэднім раздзеле, і ў гэтай главе будуць падрабязна апісаны рэгістры CSR, рэалізаваныя ў мікрапрацэсарах серыі QingKe V3.

Спіс рэестра КСА

Табліца 8-1 Спіс рэгістраў CSR мікрапрацэсара

Тып Імя КСА Адрас Доступ Апісанне
RISC-V

Стандартная КСА

мархіда 0xF12 MRO Нумарны рэестр архітэктуры
сціплы 0xF13 MRO Рэестр нумарацыі апаратнай рэалізацыі
mstatus 0x300 МРВ Рэестр статусаў
міса 0x301 МРВ Рэестр апаратных інструкцый
mtvec 0x305 МРВ Рэестр базавых адрасоў выключэнняў
mscratch 0x340 МРВ Машынны рэжым stagрэестр
MEPC 0x341 МРВ Рэестр паказальнікаў праграмы выключэнняў
mcause 0x342 МРВ Рэестр прычын выключэнняў
mtval 0x343 МРВ Рэгістр значэнняў выключэнняў
pmpcfg 0x3A0+i МРВ Рэестр канфігурацыі PMP
pmpaddr 0x3B0+i МРВ Рэестр адрасоў PMP
цэлект 0x7A0 МРВ Рэестр выбару трыгера адладкі
тдадзеныя1 0x7A1 МРВ Рэгістр дадзеных трыгера адладкі 1
тдадзеныя2 0x7A2 МРВ Рэгістр дадзеных трыгера адладкі 2
dcsr 0x7B0 DRW Кантроль адладкі і рэгістры стану
dpc 0x7B1 DRW Рэгістр паказальніка праграмы ў рэжыме адладкі
dscratch0 0x7B2 DRW Рэжым адладкі stagзарэгістравацца 0
dscratch1 0x7B3 DRW Рэжым адладкі stagзарэгістравацца 1
 

КСА, вызначаны пастаўшчыком

гінтэнр 0x800 URW Рэестр дазволу глабальнага перапынення
інцыскр 0x804 URW Рэгістр кіравання сістэмай перапынення
corecfgr 0xBC0 МРВ Рэестр канфігурацыі мікрапрацэсара
інэсткр 0xBC1 МРВ Перапыненне ўкладзенага рэгістра кіравання

Стандартныя рэестры CSR RISC-V

  • Рэестр нумароў архітэктуры (мархід)
  • Гэты рэестр з'яўляецца рэгістрам толькі для чытання для ўказання бягучага нумара апаратнай архітэктуры мікрапрацэсара, які ў асноўным складаецца з кода вытворцы, кода архітэктуры, кода серыі і кода версіі. Кожны з іх вызначаецца наступным чынам.

Табліца 8-2 Вызначэнне рэгістра marchid

Біт Імя Доступ Апісанне Скінуць значэнне
31 Зарэзерваваны MRO Зарэзерваваны 1
[30:26] Вендэр0 MRO Код вытворцы 0

Фіксуецца літарным кодам "W".

0x17
[25:21] Вендэр1 MRO Код вытворцы 1

Фіксаваны на літарны код "C".

0x03
[20:16] Вендэр2 MRO Код вытворцы 2

Фіксуецца літарным кодам "H".

0x08
15 Зарэзерваваны MRO Зарэзерваваны 1
[14:10] Арх MRO Архітэктурны код 0x16
Архітэктура RISC-V прывязаная да літары «V».
[9:5] Серыял MRO Код серыі

Серыя QingKe V3, з фіксаванай лічбай «3»

0x03
[4:0] Версія MRO Код версіі

Можа быць версія «A», «B», «C» і іншыя літары кода

x

Нумар вытворцы і нумар версіі з'яўляюцца літарнымі, а нумар серыі - лічбавым. Табліца кадавання літар прыведзена ў наступнай табліцы.

Табліца 8-3 Табліца алфавітнага адлюстравання

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
  • Сярод іх мікрапрацэсар QingKe V3A, рэестр чытае назад да 0.

Рэгістр нумарацыі апаратнай рэалізацыі (лімпід)

  • Гэты рэестр у асноўным складаецца з кодаў пастаўшчыкоў, кожны з якіх вызначаецца наступным чынам.

Табліца 8-4 Вызначэнне празрыстага рэгістра

Біт Імя Доступ Апісанне Скінуць значэнне
31 Зарэзерваваны MRO Зарэзерваваны 1
[30:26] Вендэр0 MRO Код вытворцы 0

Фіксуецца літарным кодам "W".

0x17
[25:21] Вендэр1 MRO Код вытворцы 1

Фіксаваны на літарны код "C".

0x03
[20:16] Вендэр2 MRO Код вытворцы 2

Фіксуецца літарным кодам "H".

0x08
15 Зарэзерваваны MRO Зарэзерваваны 1
[14:8] Зарэзерваваны MRO Зарэзерваваны 0
[7:4] Мінор MRO Нумар Subversion 0xX
[3:0] маёр MR0 Нумар асноўнай версіі 0xX
  • Гэты рэгістр можна прачытаць у любой машыннай рэалізацыі, а ў працэсары серыі QingKe V3A гэты рэгістр счытваецца да нуля.

Рэгістр стану машыннага рэжыму (mstatus)

  • Гэты рэестр быў часткова апісаны ў папярэднім раздзеле, і яго людзі размешчаны наступным чынам.

Табліца 8-5 Вызначэнне рэестра mstatus

Біт Імя Доступ Апісанне Скінуць значэнне
[31:13] Зарэзерваваны MRO Зарэзерваваны 0
[12:11] MPP МРВ Прывілеяваны рэжым перад выхадам на перапынак 0
[10:8] Зарэзерваваны MRO Зарэзерваваны 0
7 MPIE МРВ Стан уключэння перапынення перад уваходам у перапыненне 0
[6:4] Зарэзерваваны MRO Зарэзерваваны 0
3 MIE МРВ Уключэнне перапынення ў машынным рэжыме 0
[2:0] Зарэзерваваны MRO Зарэзерваваны 0
  • Поле MPP выкарыстоўваецца для захавання прывілеяванага рэжыму перад уваходам у выключэнне або перапыненне і выкарыстоўваецца для аднаўлення прывілеяванага рэжыму пасля выхаду з выключэння або перапынення. MIE з'яўляецца глабальным бітам дазволу перапынення, і пры ўводзе выключэння або перапынення значэнне MPIE абнаўляецца да значэння MIE, і варта адзначыць, што ў мікрапрацэсарах серыі QingKe V3 MIE не будзе абнаўляцца да 0 перад апошні ўзровень укладзеных перапыненняў, каб пераканацца, што ўкладзенасць перапынення ў машынным рэжыме працягвае выконвацца. Пры выхадзе з выключэння або перапынення мікрапрацэсар вяртаецца ў машынны рэжым, захаваны MPP, і MIE аднаўляецца да значэння MPIE.
  • Мікрапрацэсар QingKe V3 падтрымлівае рэжым машыны і рэжым карыстальніка. Калі вам трэба прымусіць мікрапрацэсар працаваць толькі ў рэжыме машыны, вы можаце ўсталяваць MPP на 0x3 пры ініцыялізацыі загрузкі file, гэта значыць пасля вяртання ён заўсёды будзе заставацца ў машынным рэжыме.

Рэгістр апаратных інструкцый (misa)

  • Гэты рэгістр выкарыстоўваецца для ўказання архітэктуры мікрапрацэсара і падтрымоўваных пашырэнняў набору інструкцый, кожнае з якіх апісана наступным чынам.

Табліца 8-6 Вызначэнне рэгістра misa

Біт Імя Доступ Апісанне Скінуць значэнне
[31:30] MXL MRO Даўжыня машыннага слова 1:32

2:64

3:128

1
[29:26] Зарэзерваваны MRO Зарэзерваваны 0
[25:0] Пашырэнні MRO Пашырэнні набору інструкцый x
  • MXL выкарыстоўваецца для абазначэння даўжыні слова мікрапрацэсара, QingKe V3 - гэта 32-разрадныя мікрапрацэсары, а дамен фіксаваны на 1.
  • Пашырэнні выкарыстоўваюцца, каб паказаць, што мікрапрацэсар падтрымлівае пашыраны набор інструкцый, кожнае паказвае клас пашырэнняў, іх падрабязнае апісанне паказана ў наступнай табліцы.

Табліца 8-7 Дэталі пашырэння набору інструкцый

Біт Імя Апісанне
0 A Атамнае пашырэнне
1 B Папярэдне зарэзервавана для пашырэння Bit-Manipulation
2 C Сціснутае пашырэнне
3 D Пашырэнне ліку з плаваючай кропкай падвойнай дакладнасці
4 E База ISA RV32E
5 F Пашырэнне ліку з плаваючай кропкай адзінарнай дакладнасці
6 G Прысутнічаюць дадатковыя стандартныя пашырэнні
7 H Пашырэнне гіпервізара
8 I RV32I/64I/128I базавы ISA
9 J Папярэдне зарэзервавана для пашырэння моў з дынамічным перакладам
10 K Зарэзерваваны
11 L Арыенціровачна зарэзервавана для пашырэння дзесятковай плывучай коскі
12 M Пашырэнне цэлалікавага множання/дзялення
13 N Падтрымліваюцца перапыненні на ўзроўні карыстальніка
14 O Зарэзерваваны
15 P Папярэдне зарэзервавана для пашырэння Packed-SIMD
16 Q Пашырэнне ліку з плаваючай кропкай з чатырохразовай дакладнасцю
17 R Зарэзерваваны
18 S Рэалізаваны рэжым супервізора
19 T Папярэдне зарэзервавана для пашырэння транзакцыйнай памяці
20 U Рэалізаваны карыстальніцкі рэжым
21 V Папярэдне зарэзервавана для пашырэння Vector
22 W Зарэзерваваны
23 X Прысутнічаюць нестандартныя пашырэнні
24 Y Зарэзерваваны
25 Z Зарэзерваваны
  • Напрыкладample, для мікрапрацэсара QingKe V3A значэнне рэгістра роўна 0x401001105, што азначае, што падтрымліваецца архітэктура набору інструкцый RV32IMAC, і ён мае рэалізацыю карыстальніцкага рэжыму.

Рэгістр базавых адрасоў выключэння машыннага рэжыму (mtvec)

  • Гэты рэгістр выкарыстоўваецца для захоўвання базавага адраса апрацоўшчыка выключэння або перапынення, а два малодшыя біты выкарыстоўваюцца для канфігурацыі рэжыму і метаду ідэнтыфікацыі вектарнай табліцы, як апісана ў раздзеле 3.2.

Машынны рэжым stagрэгістрацыя (mscratch)

Табліца 8-8 азначэнні рэгістра mscratch

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] mscratch МРВ Захоўванне дадзеных 0

Гэты рэгістр уяўляе сабой 32-бітны рэгістр, які можна чытаць і запісваць у машынным рэжыме для часовага захоўвання дадзеных. Напрыкладample, пры ўводзе апрацоўшчыка выключэння або перапынення паказальнік стэка карыстальніка SP захоўваецца ў гэтым рэгістры, а паказальнік стэка перапынення прызначаецца рэгістру SP. Пасля выхаду з выключэння або перапынення аднавіць значэнне SP паказальніка стэка карыстальніка з нуля. Гэта значыць, стэк перапыненняў і стэк карыстальніка могуць быць ізаляваны.

Рэгістр паказальніка праграмнага выключэння машыннага рэжыму (карта)

Табліца 8-9 азначэнні рэгістра mepc

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] mepc МРВ Паказальнік працэдуры выключэння 0
  • Гэты рэгістр выкарыстоўваецца для захавання паказальніка праграмы пры ўваходзе ў выключэнне або перапыненне.
  • Ён выкарыстоўваецца для захавання ўказальніка інструкцый ПК перад уваходам у выключэнне, калі генеруецца выключэнне або перапыненне, а mepc выкарыстоўваецца ў якасці зваротнага адраса, калі апрацоўваецца выключэнне або перапыненне, і выкарыстоўваецца для вяртання выключэння або перапынення.
  • Аднак важна адзначыць, што.
  • Калі ўзнікае выключэнне, mepc абнаўляецца да значэння ПК інструкцыі, якая ў цяперашні час стварае выключэнне.
  • Калі адбываецца перапыненне, mepc абнаўляецца да значэння PC наступнай інструкцыі.
  • Калі вам трэба вярнуць выключэнне пасля апрацоўкі выключэння, вы павінны звярнуць увагу на змяненне значэння mepc, і больш падрабязную інфармацыю можна знайсці ў раздзеле 2 Выключэнні.

Рэгістр прычын выключэння машыннага рэжыму (mcause)

Табліца 8-10 Вызначэнне рэгістра mcause

Біт Імя Доступ Апісанне Скінуць значэнне
31 Перапыніць МРВ Поле індыкацыі перапынення 0: Выключэнне

1: Перапыненне

 

0

[30:0] Код выключэння МРВ Коды выключэнняў глядзіце ў табліцы 2-1 0
  • Гэты рэгістр у асноўным выкарыстоўваецца для захавання прычыны выключэння або нумара перапынення. Яго старшы біт - гэта поле Interrupt, якое выкарыстоўваецца, каб паказаць, ці з'яўляецца бягучае з'яўленне выключэннем або перапыненнем.
  • Малодшы біт - гэта код выключэння, які выкарыстоўваецца для ўказання канкрэтнай прычыны. Яго падрабязнасці можна знайсці ў раздзеле 2 Выключэнні.

Рэгістр значэнняў выключэння машыннага рэжыму (mtval)

Табліца 8-11 Вызначэнне рэестра mtval

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] mtval МРВ Значэнне выключэння 0
  • Гэты рэгістр выкарыстоўваецца для захоўвання значэння, якое выклікала выключэнне, калі адбываецца выключэнне. Каб атрымаць падрабязную інфармацыю, напрыклад, кошт і час захоўвання, звярніцеся да главы 2 "Выключэнні".

Рэгістр канфігурацыі PMP (pmpcfg

  • Гэты рэгістр у асноўным выкарыстоўваецца для канфігурацыі блока абароны фізічнай памяці, і кожныя 8 біт гэтага рэгістра выкарыстоўваюцца для канфігурацыі абароны вобласці. Калі ласка, звярніцеся да раздзела 4 для падрабязнага азначэння.

Рэестр адрасоў PMP (pmpaddr

  • Гэты рэгістр у асноўным выкарыстоўваецца для канфігурацыі адрасоў блока абароны фізічнай памяці, які кадуе верхнія 32 біта 34-бітнага фізічнага адраса. Калі ласка, звярніцеся да раздзела 4 для канкрэтнага метаду канфігурацыі.

Рэгістр паказальніка праграмы ў рэжыме адладкі (DPC)

  • Гэты рэгістр выкарыстоўваецца для захоўвання адраса наступнай інструкцыі, якая будзе выканана пасля ўваходу мікрапрацэсара
  • Рэжым адладкі і яго значэнне абнаўляюцца па розных правілах у залежнасці ад прычыны ўводу адладкі. Падрабязнае апісанне глядзіце ў раздзеле 6.1.

Трыгер адладкі абярыце рэгістра (выбраць)

  • Ён дзейнічае толькі для мікрапрацэсараў, якія падтрымліваюць апаратныя кропкі супыну і падтрымліваюць максімум 4-канальныя кропкі супыну, і яго малодшыя 2 біта сапраўдныя.
  • Пры канфігурацыі кожнай кропкі супыну канала вам трэба выбраць адпаведны канал праз гэты рэестр перад канфігурацыяй.

Табліца 8-12 выбраць вызначэнне рэгістра

Біт Імя Доступ Апісанне Скінуць значэнне
[31:2] Зарэзерваваны MRO Зарэзерваваны 0
[1:0]  

ВЫБРАЦЬ

 

МРВ

Рэгістр выбару канала кропкі супыну настроены, гэта значыць, пасля выбару адпаведнага канала рэгістры tdata1 і tdata2 могуць выкарыстоўвацца для канфігурацыі кропкі супыну

інфармацыі.

 

X

Рэгістр дадзеных трыгера адладкі 1(tdata1)

Ён дзейнічае толькі для мікрапрацэсараў, якія падтрымліваюць апаратныя кропкі супыну. Мікрапрацэсары падтрымліваюць толькі кропкі супыну адраса інструкцыі і адраса даных, дзе біт TYPE рэгістра tdata1 мае фіксаванае значэнне 2, а іншыя біты адпавядаюць вызначэнню кіравання ў стандарце адладкі.

Табліца 8-13 Вызначэнне рэгістра tdata1

Біт Імя Доступ Апісанне Скінуць значэнне
[31:28] ТЫП MRO Вызначэнне тыпу кропкі супыну, тып кіравання. 0x2
 

 

27

 

 

DMODE

 

 

MRO

0: Адпаведныя рэгістры трыгера могуць быць зменены як у машынным рэжыме, так і ў рэжыме адладкі;

1: Толькі ў рэжыме адладкі можна змяняць адпаведныя рэгістры трыгера.

 

 

1

 

[26:21]

 

МАСКАМАКС

 

MRO

Калі MATCH=1, дапускаецца максімальны экспанентны дыяпазон супастаўлення, гэта значыць максімальна дапушчальны дыяпазон супастаўлення складае 231 байт.  

0x1F

[20:13] Зарэзерваваны MRO Зарэзерваваны 0
 

 

12

 

 

ДЗЕЯННЕ

 

 

МРВ

Усталюйце рэжым апрацоўкі пры запуску кропкі супыну:

0: пры запуску ўвесці кропку перапынку і выклікаць перапыненне;

1: Увядзіце рэжым адладкі пры спрацоўванні.

 

 

0

[11:8] Зарэзерваваны MRO Зарэзерваваны 0
 

 

 

7

 

 

 

МАТЧ

 

 

 

МРВ

Адпаведная канфігурацыя палітыкі:

0: Супадзенне, калі значэнне трыгера роўна TDATA2;

1: Значэнне трыгера супадае са старэйшым бітам m TDATA2, дзе m = 31–n, а n з'яўляецца першым нулявым цытатам TDATA0 (пачынаючы з малодшага біта).

 

 

 

0

 

6

 

M

 

МРВ

Уключыць трыгер у рэжыме M:

0: Адключыць трыгер у рэжыме M; 1: Уключыце трыгер у рэжыме M.

 

0

[5:4] Зарэзерваваны MRO Зарэзерваваны 0
 

3

 

U

 

МРВ

Уключыць трыгер у рэжыме U:

0: Адключыць трыгер у рэжыме U; 1: Уключыце трыгер у рэжыме U.

 

0

 

2

 

ВЫКАНАЦЬ

 

МРВ

Трыгер адраса чытання інструкцый уключаны: 0: адключана;

1: Уключыць.

 

0

 

1

 

КРАМА

 

МРВ

Трыгер адраса запісу даных уключаны: 0: адключана;

1: Уключыць.

 

0

 

0

 

ЗАГРУЗІЦЬ

 

МРВ

Трыгер адраса чытання дадзеных уключаны: 0: адключана;

1: Уключыць.

 

0

Рэгістр дадзеных трыгера адладкі 2(tdata2)

Ён дзейнічае толькі для мікрапрацэсараў, якія падтрымліваюць апаратныя кропкі супыну, і выкарыстоўваецца для захавання адпаведнага значэння трыгера.

Табліца 8-14 Вызначэнне рэгістра tdata2

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] TDATA2 МРВ Выкарыстоўваецца для захавання адпаведных значэнняў. X

Кантроль адладкі і рэестр стану (dcsr)

Гэты рэгістр выкарыстоўваецца для кантролю і запісу стану працы рэжыму адладкі. Падрабязнасці глядзіце ў раздзеле 7.1.

Паказальнік праграмы рэжыму адладкі (DPC)

Гэты рэгістр выкарыстоўваецца для захоўвання адраса наступнай інструкцыі, якая будзе выканана пасля таго, як мікрапрацэсар пераходзіць у рэжым адладкі, яго значэнне адрозніваецца ў залежнасці ад прычын пераходу ў рэжым адладкі, а таксама розныя правілы абнаўлення. Падрабязнае апісанне глядзіце ў раздзеле 7.1.

Рэжым адладкі stagрэгістр (dscratch0-1)

Гэтая група рэгістраў выкарыстоўваецца для часовага захоўвання дадзеных у рэжыме адладкі.

Табліца 8-15 азначэнні рэгістраў dscratch0-1

Біт Імя Доступ Апісанне Скінуць значэнне
[31:0] dscratch DRW Даныя рэжыму адладкі stagная каштоўнасць 0
Вызначаны карыстальнікам CSR Register

Рэгістр дазволу глабальных перапыненняў карыстальніцкага рэжыму (gintenr)

  • Гэты рэгістр выкарыстоўваецца для кіравання дазволам і маскай глабальнага перапынення. Уключэнне і маска глабальнага перапынення ў машынным рэжыме могуць кіравацца бітамі MIE і MPIE у статусе, але гэты рэгістр не можа працаваць у рэжыме карыстальніка.
  • У той час як глабальнае перапыненне дазваляе зарэгістраваць gintenr, гэта адлюстраванне MIE і MPIE у статусе.
  • У карыстальніцкім рэжыме намер можна выкарыстоўваць для ўстаноўкі і ачысткі MIE і MPIE, як апісана ў Раздзеле 3.2 для дэталяў.

Заўвага

  • Глабальныя перапыненні не ўключаюць незамаскіраваныя перапыненні NMI і выключэнні.

Рэгістр кіравання сістэмай перапынення (intsyscr)

Гэты рэгістр у асноўным выкарыстоўваецца для канфігурацыі глыбіні ўкладзенасці перапынення, націску апаратнага стэка і іншых звязаных функцый, як апісана ў Раздзеле 3.2 для дэталяў.

Рэгістр канфігурацыі мікрапрацэсара (corecfgr)

Гэты рэгістр выкарыстоўваецца, каб кантраляваць, ці дазволена перапыненне NMI пасля перапаўнення перапынення і ці ачышчаецца запыт перапынення пры выкананні інструкцыі агароджы. Калі ласка, звярніцеся да раздзела 3.2 для атрымання канкрэтнага вызначэння.

Перапыненне ўкладзенага рэгістра кіравання (inestcr)

Гэты рэгістр выкарыстоўваецца для ўказання стану ўкладзенасці перапынення і таго, перапаўняецца яно ці не, а таксама для кантролю максімальнага ўзроўню ўкладзенасці. Калі ласка, звярніцеся да раздзела 3.2 для атрымання канкрэтнага вызначэння.

Дакументы / Рэсурсы

PDF thumbnailМікрапрацэсар V3
User Manual · V3 Microprocessor, V3, Microprocessor

Задайце пытанне

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Задайце пытанне

Ask a question about setup, compatibility, troubleshooting, or anything missing from this manual.