2016-10-16 3 views
-1

Вопрос: существует ли (желательно онлайн-или Linux-рабочий) RISC-компилятор с интерфейсом для отображения содержимого регистра и такого без необходимости в оборудовании? (Я полагаю, что простой эмулятор - это то, что я ищу.)RISC Emulator/Compiler

Фон: Я искал онлайн довольно долгое время, и ближайший, я могу найти, это неустойчивый компилятор NIOS II. Я смог запустить код сборки NIOS при подключении к аппаратным средствам Altera и т. Д., Но я не часто имею к этому доступ (и мне бы не пришлось конвертировать RISC в NIOS каждый раз). Я также видел кое-что из компилятора на основе Unix, но, насколько я исследовал, для этого также требуется оборудование.

Я понимаю, что это осложняет (в какой-то момент я начал кодировать свой собственный RISC-компилятор, но я все еще изучаю язык и довольно быстро ударяю по этому дорожному блоку), но мне все еще интересно, есть ли достаточно простой эмулятор/компилятор, который может анализировать длину RISC, которую я пропускаю.

(Примечание: Я ищу RISC в качестве образца here, а не RISC-V, поскольку у меня возникли некоторые вопросы. Я пробовал GCC и ARM, но они не то, что я ищу для)

+1

Если вы говорите, что «A и B не то, что я ищу», вы можете лучше объяснить, почему они не то, что вы ищете, и то, что вам не хватает. Монитор altera, с которым вы связаны, выглядит как 90-е, плохо используемый отладчик для меня, и вы можете получить гораздо лучше, основываясь на GDB в наши дни. –

+0

Да, это довольно старый, но функционально он дает мне «интерфейс для отображения содержимого регистра и тому подобного». Не удалось выполнить мой собственный IDE-поиск; какой ARM GDB по конкретным вы порекомендуете (+ link)? – sami

+0

Запрашивать ссылки вне темы на SO, действительно. И Google по-прежнему ваш друг. Но попробуйте Eclipse + CDT; есть много людей, которые поставляют индивидуальные версии Eclipse, разработанные для разработки ARM. –

ответ

3

ARM означает «усовершенствованная машина RISC»; существует очень стабильный и универсальный и оптимизированный компилятор, предназначенный для этой платформы: GCC. Clang нацеливает ARM тоже, как и многие другие компиляторы (в конце концов, это одна из самых популярных архитектур и поставляется с несколькими версиями и размерами от самых крошечных встраиваемых микроконтроллеров до полнофункциональных многоядерных процессоров настольных/тканевые контроллеры и т. д.).

Увидев вездесущность процессоров ARM, очень вероятно, что у вас даже есть аппаратное обеспечение: большинство смартфонов работают на ARM, ваш автомобиль (если его новый), конечно, имеет несколько микроконтроллеров ARM внутри, ваш любимый кусок электроники (стиральная машина? Stereo?) Вряд ли будет иметь микроконтроллер ARM Cortex-M; и даже если у вас нет оборудования прямо сейчас, но вы хотите поэкспериментировать с микроконтроллером RISC: платы eval доступны для < $ 10.

С qemu-arm вы также получаете зрелый эмулятор, поэтому вам действительно не нужно никакого оборудования; вы можете с комфортом сочетать эмулированное или реальное исполнение с GDB, отладчиком GNU и получать потрясающее представление не только о регистрах, но и о произвольных ячейках памяти (что для ARM в значительной степени представляет собой все части оборудования, которые не являются центральным ядром) ,

Архитектуры RISC довольно популярны - вы должны просто найти целевые архитектуры, поддерживаемые GCC, и выбрать один из них. Я все еще поддерживаю ARM (или RISCV) - хороший выбор - там есть реальное оборудование, есть зрелый эмулятор и много знаний сообщества.

+0

Возможно, я должен был упомянуть, что источники/ссылки были бы очень полезными. Я видел RISCV/ARM и GCC, и я не думаю, что это совсем то, что я ищу. – sami

+0

then: что вы ищете?Я действительно не думаю, что мне нужно связать ARM или GCC - у вас есть доступ к google и wikipedia, и это самая распространенная архитектура и наиболее широко используемый компилятор, во всем мире, вероятно. –

+0

Я ищу что-то вроде [Altera Monitor Program] (http://www-ug.eecg.toronto.edu/msl/nios_labs_SoC/6/interrupt.html), где он компилируется, а также предоставляет интерфейс где я могу видеть содержимое регистра и так далее. Кроме того, я не могу использовать это без конкретной платы. – sami

Смежные вопросы