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

Canis Dirus

Участник
  • Постов

    174
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Canis Dirus

  • Звание
    Частый гость
    Частый гость

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

3 108 просмотров профиля
  1. С мест сообщают, что у особо отдельных экземпляров могло быть и 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».
  2. Так в том то всё и дело, что нет: 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 Это другое, выравнивают код уже после таблицы векторов.
  3. Да нет, там просто, получается, прибили эту таблицу гвоздями к нулевому адресу, в расчёте на то что никаких новых прерываний в начало таблицы не засунут. 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
  4. И выглядит эта запись вот так: la t0, _start ori t0, t0, 3 csrw mtvec, t0
  5. А из того самого 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) стоит скромный прочерк.
  6. Чтобы два раза не вставать и не плодить лишние темы. У кого-нибудь есть идея, как понимать «It should be noted that the vector table base address needs to be 1KB aligned in the QingKe V2 microprocessor» (похожее требование есть и в документации на V3, а вот в V4 — нет)? Потому что в прилагаемом коде (например этом) на это выравнивание по границе килобайта благополучно положили.
  7. Но вот если положить их в жидкий азот…
  8. Как писал тов. Погорилый, не может, а именно что германиевый.
  9. Вы, батенька, с прямым углом перепутали. В смысле, с Accel EDA, который потом стал P-CAD 200x.
  10. На Сахаре дали ссылку на склад индийских ферритов (порошки и готовые сердечники). Работают, правда, только с юр. лицами, по безналичному расчёту.
  11. Не всегда.™ В текстовых файлах у китайцев (материковых) скорее встретится собственная гордость, под названием GB18030.
  12. Di Halt в январе заказывал, но без монтажа.
  13. Потому что это было актуально лет так 30-40 назад. См. тот же «В помощь радиолюбителю» восьмидесятых.
×
×
  • Создать...