Изучение блока ARM

В течение этого года там будет прибывать пара мультисенсорные портативные компьютеры за под600€, которые содержат Tegra2. Они приносят мне к хорошему оправданию изучению ассемблера ARM. Но у меня нет подсказки, где запустить с в стороне arm.com.

Для первого броска я мог просто взять эмулятор с дистрибутивом Linux в нем. Но какой эмулятор и дистрибутив работали бы лучше всего над этим? Наличие доступа к файлам хост-системы состояло бы хорошо в том, таким образом, я мог скомпилировать и выполнить двоичные файлы ARM прямо из моего корневого каталога.

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

22
задан Cheery 22 February 2010 в 20:32
поделиться

3 ответа

Получите ознакомительную версию одного из наборов программных средств ARM , который будет включать отладчик / программный эмулятор. Если вы готовы потратить несколько сотен долларов, приобретите доску для оценки Arm ( Кейл продает несколько). Вы можете протестировать свой код на плате через интерфейс JTAG и посмотреть, что происходит на реальном оборудовании.

Это должно помочь вам двигаться в правильном направлении.

Раскрытие информации: я работаю в ARM.

10
ответ дан 29 November 2019 в 05:29
поделиться

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

  1 Censu
  11 Marju
  4  Cikku
  11 Lonzu

тогда алгоритм сортировки может вернуть как Censu, Cikk, Marju, Lonzu, или Censu, Cikku, Lonzu, Marju, как правильные сортировки. Детерминированная сортировка - это сортировка, которая всегда возвращает один и тот же порядок. Это не всегда должно быть так. В случае quicksort, можно получить более высокую среднюю производительность, если шкворни выбираются случайным образом (в идеале вы бы выбрали медиану, но это может быть дорого). Однако это происходит ценой: ваш поиск уже не детерминирован.

-121--2913785-

Да, посмотрите на pg _ dump и pg _ restore

http://www.postgresql.org/docs/current/static/app-pgdump.html

http://www.postgresql.org/docs/current/static/app-pgrestore.html

-121--4903683-

Справочная документация ARM на самом деле предоставляет очень хорошее введение в набор инструкций. Это отличное место для начала.

Поскольку вы пишете сборку (и поэтому, вероятно, заинтересованы в низкоуровневых деталях производительности), вам потребуется либо симулятор с точностью до цикла, либо фактическое оборудование (или и то, и другое). Помимо аппаратных опций, предложенных Дэвидом Лайвли , можно также обратиться к Beagle Board .

Что касается компиляторов, есть инструменты ARM RealView и GCC. Поддержка новых аппаратных функций может быть несколько более полностью реализована в инструментах ARM.

7
ответ дан 29 November 2019 в 05:29
поделиться

Начните с qemu для эмулятора, поддерживаются дистрибутивы linux и некоторые платы на рынке и вне его. Зайдите на sparkfun.com, там есть много плат arm стоимостью менее $50 для изучения ассемблера, но не обязательно linux. Вы хотите сначала изучить arm7 или arm, а затем thumb second. Плата embest (при условии, что она не слишком дешево сделана) лучше, чем beagleboard, поскольку, чтобы сделать beagleboard полезной, вам придется потратить еще 150 долларов на кабели и usb. Плата embest доставляется в США за неделю или две с момента заказа. За эти деньги я предпочитаю плату openrd или компьютер с разъемом marvell sheeva. Если вы ищете ассемблер, вам не нужна система с поддержкой linux, так что возьмите что-нибудь от sparkfun, на базе arm7, например sam7 или lpc, есть один с последовательным портом на борту, но вам нужно обеспечить питание. Купите jtag-tiny или три от amontec, отличный инструмент, чтобы просто иметь.

Game boy advance - хорошее место, чтобы научиться программировать руку, а также большой палец, visualboy advance - хороший эмулятор. Я могу показать вам, как сделать последовательный кабель и найти оборудование для других вещей. Существует linux. NDS (Nintendo DS) тоже хорошая система, но я бы начал с GBA. Избегайте NDSi.

Отказ от ответственности: я не связан с arm, но у меня есть по крайней мере одна из всех описанных выше плат, плюс несколько плат stellaris (большой палец 2 изучает cortex-m3 ПОСЛЕДНИЙ после arm и большого пальца).

3
ответ дан 29 November 2019 в 05:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: