Операции и режимы, связанные с ОС, на ARM7TDMI(GameBoy Advance)

Я хотел бы знать, может ли процессор GBA использовать какие-либо функции, обычно зарезервированные для операционных систем, и как это можно сделать.
Например, я хотел бы иметь доступ к привилегированным режимам, которые, по-видимому, поддерживает процессор, но я не могу понять, как сначала ввести его (и изменить код, который будет на нем запускаться), так как gba запускается в пользователе Режим.
Более того, я хотел бы знать, какие, если таковые имеются, расширения руки у gba, такие как сопроцессор, mmu, mpu и т. Д.

Я прочитал в спецификации спекуляции, что привилегированные режимы существуют, но никаких дальнейших упоминаний не делается.

1 ответ

Решение

Ничего особенного в GBA, когда вы начинаете, вы находитесь в режиме супервизора, вам не нужно ничего делать, чтобы попасть туда. То же самое верно для любого ARM, с которым вы, вероятно, столкнетесь (это не запущенная операционная система, скажем, linux, и вы являетесь пользователем этой операционной системы в командной строке). http://github.com/dwelch67, у меня есть много примеров процессоров на основе ARM, включая yagbat (еще одно руководство по gba).

Хотя ARM имеет пользовательский режим с защитой, вы не хотели бы видеть, что используется во встроенных приложениях. конечно, не ARM7 (ARMv4/ARMv4T) без кеша, без mmu и не такой большой поддержки сопроцессора, как в GBA.

Я думаю, что я ответил на этот вопрос, у него совсем немного, ни mmu, ни fpu, он не может вспомнить, поддерживает ли он какие-либо инструкции сопроцессора. Это верно для большинства ARM7, большинства ARM в целом. Подумайте об этом так: если он запускает полноценный, не uclinux, linux, такой как OMAP в beagleboard, и чудеса в open-rd и подключаемом компьютере и кавиумы на других платах, у него есть mmu, возможно, кеши, контроллер внешней памяти и т. д. Если это не так, если он только запускает uclinux или вообще не запускает linux, то он больше похож на встроенный конец, например, на микроконтроллер или микроконтроллер. ARM7TDMI в GBA определенно попадает в эту категорию. И ARM7 и ARM9 на NDS также по большей части.

Хотя я годами рекомендовал gba в качестве образовательной платформы ARM, времена меняются, флеш-карты исчезают и т. Д. Посмотрите на доску для поиска stm32f4 за 20 долларов. (см. репозиторий stm32f4 d в моем пространстве github). Он работает на частоте 168 МГц, имеет кэш-память, имеет fpu и пропитан другими вещами, которые микроконтроллеры редко используют. Не уверен, что вы ищете, но трудно упустить такую ​​цену за то, что вы получаете, уверен, что у вас нет кнопок и ЖК-экрана, графического оборудования и т. Д., Которые вы получаете с gba...

Другие вопросы по тегам