-
Постов
174 -
Зарегистрирован
-
Посещение
-
С мест сообщают, что у особо отдельных экземпляров могло быть и 7 мегагерц, а загнивающая педивикия™ клевещет, что там вообще бардак творился: «Originally, the bus clock was synchronous with the CPU clock, resulting in varying bus clock frequencies among the many different IBM "clones" on the market (sometimes as high as 16 or 20 MHz), leading to software or electrical timing problems for certain ISA cards at bus speeds they were not designed for. Later motherboards or integrated chipsets used a separate clock generator, or a clock divider which either fixed the ISA bus frequency at 4, 6, or 8 MHz or allowed the user to adjust the frequency via the BIOS setup».
-
Таблица векторов прерываний
Canis Dirus ответил dimka76 тема в RISC-V
Так в том то всё и дело, что нет: 0x0000000000000800 __stack_size = 0x800 [!provide] PROVIDE (_stack_size = __stack_size) .init 0x0000000000000000 0x38 0x0000000000000000 _sinit = . 0x0000000000000000 . = ALIGN (0x4) *(SORT_NONE(.init)) .init 0x0000000000000000 0x38 ./Build/startup/startup_ch32v10x.o 0x0000000000000000 _start 0x0000000000000038 . = ALIGN (0x4) 0x0000000000000038 _einit = . .vector 0x0000000000000038 0x108 *(.vector) .vector 0x0000000000000038 0xf0 ./Build/startup/startup_ch32v10x.o 0x0000000000000140 . = ALIGN (0x40) *fill* 0x0000000000000128 0x18 Это другое, выравнивают код уже после таблицы векторов. -
Таблица векторов прерываний
Canis Dirus ответил dimka76 тема в RISC-V
Да нет, там просто, получается, прибили эту таблицу гвоздями к нулевому адресу, в расчёте на то что никаких новых прерываний в начало таблицы не засунут. P.S. Продолжение банкета. У CH32V103 оно ещё смешнее. В документации на ядро (V3) написано «The interrupt vector table base address, which needs to be 1KB aligned», линкер выравнивает таблицу по границе машинного слова, а код так вообще красота неописуемая: .section .init,"ax",@progbits .global _start .align 1 _start: j handle_reset .word 0x00000013 .word 0x00000013 .word 0x00000013 .word 0x00000013 .word 0x00000013 .word 0x00000013 .word 0x00000013 .word 0x00000013 .word 0x00000013 .word 0x00000013 .word 0x00000013 .word 0x00000013 .word 0x00100073 .section .vector,"ax",@progbits .align 1 _vector_base: .option norvc; j _start -
Таблица векторов прерываний
Canis Dirus ответил dimka76 тема в RISC-V
И выглядит эта запись вот так: la t0, _start ori t0, t0, 3 csrw mtvec, t0 -
Таблица векторов прерываний
Canis Dirus ответил dimka76 тема в RISC-V
А из того самого startup_ch32v00x.S и скрипта для линкера .section .init, "ax", @progbits .globl _start .align 2 _start: .option norvc; j handle_reset .word 0 .word NMI_Handler /* NMI Handler */ .word HardFault_Handler /* Hard Fault Handler */ .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word 0 .word SysTick_Handler /* SysTick Handler */ .word 0 .word SW_Handler /* SW Handler */ .word 0 ENTRY( _start ) SECTIONS { .init : { _sinit = .; . = ALIGN(4); KEEP(*(SORT_NONE(.init))) . = ALIGN(4); _einit = .; } >FLASH AT>FLASH Нет, формально это самое выравнивание и получается, но выглядит как грязный хак: в документации (что на ядро, что на CH32V003) то на этом месте (Entrance address 0x00000000) стоит скромный прочерк. -
Таблица векторов прерываний
Canis Dirus ответил dimka76 тема в RISC-V
Чтобы два раза не вставать и не плодить лишние темы. У кого-нибудь есть идея, как понимать «It should be noted that the vector table base address needs to be 1KB aligned in the QingKe V2 microprocessor» (похожее требование есть и в документации на V3, а вот в V4 — нет)? Потому что в прилагаемом коде (например этом) на это выравнивание по границе килобайта благополучно положили. -
Что за зверь германиевый транзистор ?
Canis Dirus ответил RR2021 тема в Схемотехника
Но вот если положить их в жидкий азот… -
Что за зверь германиевый транзистор ?
Canis Dirus ответил RR2021 тема в Схемотехника
Как писал тов. Погорилый, не может, а именно что германиевый. -
Вы, батенька, с прямым углом перепутали. В смысле, с Accel EDA, который потом стал P-CAD 200x.
-
На Сахаре дали ссылку на склад индийских ферритов (порошки и готовые сердечники). Работают, правда, только с юр. лицами, по безналичному расчёту.
-
Перевести комментарии.
Canis Dirus ответил muravei тема в В помощь начинающему
Не всегда.™ В текстовых файлах у китайцев (материковых) скорее встретится собственная гордость, под названием GB18030. -
В компэловский лабаз завезли цифровые изоляторы от фирмы Shanghai Chipanalog.
-
Di Halt в январе заказывал, но без монтажа.
-
Не все китайцы одинаково полезны:
-
Потому что это было актуально лет так 30-40 назад. См. тот же «В помощь радиолюбителю» восьмидесятых.
- 49 ответов
-
- блок питания
- лбп
-
(и ещё 1 )
C тегом: