Для будь-якого процесора потрібна програма. Писати програму теоретично можна на асемблері або C / C ++. Щоб запустити проект Amber в нашій платі Марсоход2 нам, звичайно доведеться писати і компілювати програми. Як це робити?
Як бачимо, в папці sw / проекту Amber лежать всякі різні програми. Зазвичай початківці програмісти пишуть програми типу "hello world". Ну ось і тут ми бачимо папку sw / hello-world з декількома файлами: hello-world.c. start.S. Makefile. sections.lds.
Hellow-world.c містить по суті дуже просту програму на мові C:
#include "stdio.h"
main ()
printf ( "Hello, World! \ n");
/ * Flush out UART FIFO * /
printf ( "");
_testpass ();
>
Функція printf друкує форматований текстовий рядок на консоль, а консоль у нас - це мабуть послідовний порт.
Походимо по інших папок проекту Amber - нічого схожого на компілятор не видно. Зате в папці doc є опис проекту англійською мовою amber-spec.pdf.
Ось там-то, в розділі 10.2 Installing compiler все що нам потрібно і написано.
Спробуємо виконати викладену там інструкцію.
4) З'являється ось така сторінка - доведеться заповнити форму зі своїм прізвищем ім'ям і email, перш ніж нам дадуть скачати файл. Запоняю форму і натискаю кнопку Get It.
На черговій сторінці мені сказали, що по пошті вислали посилання на скачування Sourcery Codebench.
5) Так і є. Я отримав від них листа. Переходжу за посиланням.
Нарешті сторінка, звідки можна скачати! До речі схоже можна вибрати компілятор працює під Linux або працює під Windows. Я все ж вибираю для Linux.
Насправді я пробував викачувати компілятор і для Windows. Така красива інсталяшку до нього. Ставиться без проблем, ось тільки користуватися для наших цілей відразу не вийде. Є дві проблеми:
- Вихідні тексти для Amber мають Makefile. які описують що і як компілювати. Щоб використовувати Makefile потрібно мати встановлену програму make - це така спеціальна утиліта. В принципі начебто є make для Windows, але чесно кажучи було лінь шукати. У моєму Linux програма make здається стояла за замовчуванням з самого початку.
- Деякі папки проекту Amber, наприклад, sw / tools мають виконувані скрипти * .sh. Напевно їх так само можна було б запустити в Windows, але не став возитися з цим.
У мене є віртуальна машина з Ubuntu - її і використовував, поставив все там.
Його потрібно зробити виконуваним командами Linux:
і на всі питання відповідати натисканням клавіші Enter. Після цього в домашній папці з'являється папка CodeSourcery і в ній все і встановлено.
Таким чином, компілятор стає встановленим.
Щоб компілювати наші вихідні для Amber потрібно встановити змінну оточення
і додати до змінної PATH шлях до компілятора
Я написав такий ініціалізації файл sw / init який задає ці змінні. Тепер після запуску терміналу в Linux можна просто набрати в корені проекту
і все - середовище розробки практично готова.
Так ось ще скрипти в папці sw / tools не запускаються. Щоб це виправити їм потрібно задати права дозволу виконання
chmod a + x sw / tools / *. sh
Тепер якщо зайти, наприклад, в папку sw / hello-world і набрати
то відбувається компіляція програми і з'являються різні об'єктні і текстові файли - власне результат компіляції.
Користуватися програмою make, а також запускати bash скрипти можна з Windows, встановивши Cygwin. Привабливість у тому, що з консолі Cygwin можна запускати як проги скомпілірованни е під * nix (Cygwin), так і програми, встановлені в Windows. Таким чином мені вдалося запускати з bash скриптів ModelSim, встановлений на Windows
Залишилося поставити Quarus for linux і буде ноборот. Windows в віртуьной машині.
А воотбще приголомшливий сайт.
да, працювати тільки в Лінуксі це було б не погано.
Є одна проблема - драйвер програматора MBFTDI поки є тільки для Quartus II Windows.
Звичайно, для Linux у нас є утиліта SVF плеєра, яка може завантажувати образи в ПЛІС, але ось з її допомогою не можна користуватися дуже важливою функцією Quartus SignalTap. Ось таке обмеження.
Залишилося поставити Quarus for linux і буде ноборот. Windows в віртуьной машині.