2014-09-05 3 views
1

Я пытаюсь научиться рукопожатию, это будет первый язык программирования, который я могу сказать, что знаю. на самом деле прямо сейчас я изучаю машинный язык сначала, так как он мне легче.ARM Assembly, загрузка первой инструкции

Мой вопрос: Как загрузить первую инструкцию в процессор?

Моя платформа программирования для экспериментирования - это продвижение игрового автомата. У этого есть процессор arm7tdmi, и у меня нет флеш-карты, поэтому я собираюсь использовать мой arduino для загрузки кода через порт связи (подключенный к выводам d, di, do, dc чипа). Мне просто нужно помочь выяснить как загрузить любую программу. без использования чужого программного обеспечения, отличного от материала arduino, и биологии gameboy.

Так что мой вопрос: Если я возьму чип BIOS из gba, могу ли я загрузить инструкции через эти контакты, или есть другое место, в котором процессор обычно ищет инструкции после того, как он был отправлен? также как он принимает сообщение и как я могу загрузить инструкцию по одному бит за раз?

ответ

3

Механизм использования этого порта называется multiboot, ваш ардуинио должен будет соответствовать правильному протоколу, чтобы сделать эту работу, и, без сомнения, кто-то уже это сделал.

Теперь удаление биоса, если вы могли бы не сделали бы вам любой хороший

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

В принципе, gba - отличная платформа для изучения голого металла, но то, как вы это делаете или говорите о том, как это сделать, - не лучший способ пойти на этот вид обучения.

Если вы хотите использовать gba, используйте visualboyadvance эмулятор/симулятор и преодолевайте препятствия при загрузке и запуске ваших первых программ, которые, вероятно, будут нужны для рисования пикселей в этой среде (на gba, мигающем батареей с низким светодиодом самый простой, но без флеш-тележки, пока не беспокоиться).

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

для реального оборудования не только вы должны получить время и pullups и такие права на этом последовательном порту, но вы также должны иметь правильный заголовок, чтобы запустить многозагрузочную программу. это определенно не новичок для gba. найдите флеш-карту, которую они все еще там, мой любимый на некоторое время - это ezflash 3 в 1 gba размером не один ds, но вам нужен ds с флеш-картой ds, чтобы загрузить что-то на нем. ds flash carts намного проще (но разработка ds немного сложнее, но не так много). есть также некоторые m3 или все, что они называются sdcard или micro sd на основе карты, которые вам не нужны фантастический программист (чье программное обеспечение трудно найти и устаревает быстро).

вы могли бы рассмотреть DS Lite (старше одного) и тележку для этого они легко прийти

или просто получить Tiva гр Launchpad или какой-либо другой $ 5 или $ 10 доска руки

лучший просто используйте симулятор набора инструкций, сначала, бесплатно, и вы можете разрабатывать минуты после прочтения этого. например, поиск миниатюры в github. или использовать armulator в gdb.

короткий ответ, у вас есть неправильное оборудование для того, что вы пытаетесь сделать. но очень хорошее аппаратное обеспечение для изучения программирования с открытым металлом (пока вы можете получить флеш-карту, которая не является болезненной для использования). Мое предпочтительное решение заключается в загрузке загрузчика на флеш-карте, а затем превращении этого верхнего порта в последовательный порт 8n1, который вырезали пополам пополам, чтобы добраться до проводов и подключить их к USB-устройству ftdi для последовательной платы. то вам нужно только загрузить загрузчик один раз, если вы найдете мой или кого-то elses, и в течение длительного времени не нужно удалять или перепрограммировать картридж. просто активируйте цикл (или сбросьте, если вы добавите кнопку сброса) и серийно загрузите свою программу и запустите ее.

+0

В качестве альтернативы, если вы можете найти выпускной ботинок, вы можете удалить его и заменить его на сокет, получить выпускного программиста для выпускного экзамена (возможно, придется купить еще один выпускной бал, в зависимости от условия его снятия и если это otp или не), эти сокеты недолговечны. ардуино не участвует. –

+0

также помните, что ардуины часто имеют 5 В, а не 3,3, а в режиме gba - 3,3 В, поэтому вы можете нанести ущерб gba или arduino или оба, если вы используете 5v arduino без преобразователей напряжения, и поскольку я думаю, что один вывод является двунаправленным в многозагрузочном режиме, что делает жизнь более болезненной при попытке преобразования напряжения, проще просто купить 3,3v arduino. –

+0

Ну, я думал об удалении чипа bios, потому что меня больше интересует сам процессор, и я пишу свою собственную биографию. Наверное, больше хлопот, чем его ценность. Да, я знаю, что есть разность напряжений и уже настроена цепь деления напряжения –