![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Предлагаю вниманию таблицу адресов для отображения в MMU.
Версия предварительная и будет немного изменяться по ходу реализации внешних устройств.
Битность регистров для UART, SPI, i2c не окончательная, там надо еще подумать.
Буду делать в первую очередь RTL-модель для PIC и GPIO без привязки к определенному железу.
Версия предварительная и будет немного изменяться по ходу реализации внешних устройств.
Битность регистров для UART, SPI, i2c не окончательная, там надо еще подумать.
Буду делать в первую очередь RTL-модель для PIC и GPIO без привязки к определенному железу.
| Address | Unit | Register | R/W | Width | Description | |---------+-------+-----------+-----+-------+---------------------------------------------------| | 77777 | PIC | IFS (РАП) | RW | 48 | Флажки прерываний ожидающих обработку | | 77776 | | IFSSET | W | 48 | Установка по маске | | 77775 | | IFSCLR | W | 48 | Сброс по маске | | 77774 | | IEC(РМРП) | RW | 48 | Маска разрешенных прерываний | | 77773 | | IECSET | W | 48 | Установка по маске | | 77772 | | IECCLR | W | 48 | Сброс по маске | | 77771 | | reserved | | | | | 77770 | | OFF(РНП) | R | 6 | Номер старшего бита в IFS | |---------+-------+-----------+-----+-------+---------------------------------------------------| | 77767 | Timer | T0CON | RW | 48 | Управление режимом и делителем | | 77766 | | T0TMR | RW | 48 | Текущее значение таймера | | 77765 | | Т0PRD | RW | 48 | Период | | 77764 | | T0IE | RW | 1 | Разрешение прерываний | | 77763 | | | | | | | 77762 | | | | | | | 77761 | | | | | | | 77760 | | | | | | |---------+-------+-----------+-----+-------+---------------------------------------------------| | 77757 | GPIO | TRIS | RW | 48 | Направление данных | | 77756 | | PORT | RW | 48 | Запись - выдача, чтение - прием | | 77755 | | CNIE | RW | 1 | Разрешение прерывания по изменению входных данных | | 77754 | | CNEN | RW | 48 | Маска отслеживаемых пинов | | 77753 | | reserved | | | | | 77752 | | reserved | | | | | 77751 | | reserved | | | | | 77750 | | reserved | | | | |---------+-------+-----------+-----+-------+---------------------------------------------------| | 77747 | FLASH | CSR | RO | 32 | Статус регистр флеш-памяти | | 77746 | | CCR | RW | 32 | Управляющий регистр флеш-памяти | | 77745 | | AL | RW | 32 | Защелка адреса читаемой/записываемой ячейки | | 77744 | | DATA | RW | 32 | Содержимое ячейки по адресу AL | |---------+-------+-----------+-----+-------+---------------------------------------------------| | 77000 | DRAM | | RW | 48 | On CHIP Data RAM | | 0 | | | | | | |---------+-------+-----------+-----+-------+---------------------------------------------------|
no subject
Date: 2019-04-19 06:59 pm (UTC)Аналогично прогнал kalah.b6, обнаружил несколько обращений в верхнюю страницу:
01754: vjm 77451(14)
02577: vjm 77400(14)
07715: vjm 76312(16)
11105: vjm 76312(16)
12455: uj 76022
12500: uj 76021
74311: vjm 76005(16)
75707: vjm 76415(11)
У нас только половина страницы зарезервирована: 77000-77777. Два вызова идут по адресам 77400 и 77451.
Да ладно, придумаем что-нибудь. Рантайм всё равно придётся подменить. Да и нет особой необходимости запускать ни калах, ни мониторку.
no subject
Date: 2019-04-20 03:02 pm (UTC)Ввод задач через UART :) будто с перфоленты.