User Tag List

Показано с 1 по 10 из 40

Тема: Кросс-компиляция для програм на си

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,874
    Спасибо Благодарностей отдано 
    523
    Спасибо Благодарностей получено 
    252
    Поблагодарили
    226 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    используют для запуска соответствующего софта (CP/M, MS-DOS, Panos, ...).
    тогда биос/монитор тоже надо переписывать под BBC, так как без этого указанные Вами операционки правильно работать не будут.

    Цитата Сообщение от litwr Посмотреть сообщение
    Кросс-компилятор сразу генерирует правильные коды для целевой архитектуры.
    каким образом? Если нет исходников, то кросс-компилятор ничего сгенерить не может! Декомпилировать исполняемый код до исходного текста С это надо умудриться(особенно, если исполняемый код получен не из С). Мне такие софты не попадались. Просто дизассемблировать(желател но с трассировкой и частями от эмулятора) и потом ассемблировать кросс-ассемблером это еще куда ни шло.

    По поводу использования второго более скоростного 65c02 без внесения изменений в софт, а тем более для распараллеливания "на лету" тоже не получится для софта, который использовал первый процессор "под завязку". А вот расширенный по возможностям процессор, например, ARM с такой задачей справится может.
    Если 65с02 в fpga, то его естественно можно расширить и ускорить(и замедлить). Тогда достаточно просто выкинуть или отключить основной процессор в плате и его функции, в том числе расширенные передать fpga-железу ( или как в проекте, на который Вы давали ссылку, компьютеру Pi Zero)
    Если нет ни того, ни другого, в этой роли может выступить даже внешний гаджет( смартфон, наладонник, ноутбук, десктоп). По сути это режим ICE In-circuit emulation через CPU, а можно и через память. Тогда правда скорость не растет, но на BBC можно запускать что угодно.
    Последний раз редактировалось andrews; 05.06.2022 в 11:20.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andrews Посмотреть сообщение
    тогда биос/монитор тоже надо переписывать под BBC, так как без этого указанные Вами операционки правильно работать не будут.
    Дело в том, что СР/М для BBC Micro существуют в двух вариантах с первой половины 80-х. Оба варианта были весьма недёшевы, но работают отлично. Сам под них писал коды. Второй Z80 процессор от Acorn работает на 6 МГц без тормозов - это одна из самых быстрых машинок на Z80. А второй Z80 от Torch использует своё ПЗУ и поэтому СР/М там грузится быстро, потом так на Маках и Амигах сделали. Также отлично работает ДОС на https://en.wikipedia.org/wiki/BBC_Master#Master_512 - тоже коды туда писал. То же самое верно и для Panos/Pandora или ArthurOS (предшественник RiscOS). Если кто захотел бы сгенерировать RT-11 проблем было бы не больше, чем для БК0011: исходники ОС есть, конфигурируем их, затем пишем драйвер дисковода на основе имеющихся, навешиваем эмулятор терминала - и готово.


    Цитата Сообщение от andrews Посмотреть сообщение
    каким образом? Если нет исходников, то кросс-компилятор ничего сгенерить не может! Декомпилировать исполняемый код до исходного текста С это надо умудриться(особенно, если исполняемый код получен не из С). Мне такие софты не попадались. Просто дизассемблировать(желател но с трассировкой и частями от эмулятора) и потом ассемблировать кросс-ассемблером это еще куда ни шло.
    Вы совсем похоже не поняли, о чем пишу. Не о каких декомпиляциях даже представить в этом контексте мне не представляется возможным. Попробую короче. Есть набор игр от Фабрицио, их народ может запускать на множестве платформ, включая наш Вектор. Исходники игр написаны на чистом си, языке высокого уровня. У Фабрицио есть базовая поддержка PDP-11, для переноса игр на БК нужны ещё компилятор и библиотека. Хоглет, об этом собственно весь мой пост, обнаружил, что в качестве компилятора, генерирующего PDP-11 коды, отлично работает ACK...

    Цитата Сообщение от andrews Посмотреть сообщение
    По поводу использования второго более скоростного 65c02 без внесения изменений в софт, а тем более для распараллеливания "на лету" тоже не получится для софта, который использовал первый процессор "под завязку". А вот расширенный по возможностям процессор, например, ARM с такой задачей справится может.
    Но в реальности люди просто преобретали второй 6502 процессор и автоматически получали хороший разгон - это легко проверить на эмуляторах. Базовая ОС BBC Micro (биос фактически) учитывает наличие второго процессора и работает прозрачно для прикладных программ. Конечно, если прикладная программа будет работать не через системные вызовы, а прямым использованием аппаратуры, то она на втором процессоре не заработает - у каждого процессора память отдельная.

  4. #3

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,874
    Спасибо Благодарностей отдано 
    523
    Спасибо Благодарностей получено 
    252
    Поблагодарили
    226 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Дело в том, что СР/М для BBC Micro существуют в двух вариантах с первой половины 80-х.
    Я не об этом. А о том, чтобы запустить на 65с02 исполняемый код[CP/M для z80 причем конкретного железа под него!] Конечно он эти коды должен воспринимать как данные для пересылки на параллельный процессор.
    То есть у нас есть живой BBC микро, а вот того конкретного железа нет и в помине! И нет пзу его биоса/монитора-программы.
    Ведь монитор-экран есть и клавиатура, и диски, но всё другое! Поэтому тот код, даже если "воткнуть" параллельно железный z80 правильно исполнятся не будет! А придется основному 65с02 перехватывать такие "железо-зависимые коды" и преобразовывать в свои собственные, чтобы пользователь мог видеть правильный результат на экране, а нажатие клавиш попадало в нужные яп параллельного процессора.
    Об эмуляторах и говорить нечего! Если в него такую функцию специально не заложить.
    То, что описываете Вы говорит о том, что на уровне схемы обе системы независимы и по команде пользователя разделяют общие ресурсы: диски, клавиатуру, монитор-экран. Это не параллелизм в исполнении кодов!
    Цитата Сообщение от litwr Посмотреть сообщение
    Но в реальности люди просто преобретали второй 6502 процессор и автоматически получали хороший разгон - это легко проверить на эмуляторах
    значит основной софт допускал такое распараллеливание. В нынешних архитектурах тоже есть несколько ядер. Но старинному дос-у и windows-у их использовать для параллельных вычислений и даже для запуска разных задач в системе не удастся!
    Последний раз редактировалось andrews; 05.06.2022 в 14:48.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. SNASM кросс ассемблер для 6502/Z80
    от drbars в разделе Программирование
    Ответов: 4
    Последнее: 25.04.2018, 01:16
  2. Кросс-компилятор бейсика для БК
    от litwr в разделе БК-0010/0011
    Ответов: 2
    Последнее: 30.03.2018, 18:03
  3. Примочка для кросс-дева
    от Alex Rider в разделе Несортированное железо
    Ответов: 5
    Последнее: 07.06.2012, 19:21
  4. Кросс-ассемблеры Z80 для Pc
    от Aprisobal в разделе Программирование
    Ответов: 16
    Последнее: 15.01.2011, 22:46
  5. кросс компилятор С для Z80
    от vitasam в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2007, 18:03

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •