На каком языке пишутся программы для raspberry. Программы для Raspberry Pi

В 2011 году одноплатный компьютер Raspberry Pi был выпущен для тех, кто устал искать готовые решения и решил творить технологическое окружение самостоятельно. В то время как Arduino – это игрушка в большей степени для любителей работать руками, «малиновый» продукт – разминка мозга для программистов.

Всего за 6 лет под Raspberry были адаптированы почти все популярные языки программирования. Какие-то имеют существенные ограничения, какие-то работают на полную катушку. Рассмотрим 9 представителей второй категории.

Scratch

Официальный сайт предлагает пользователям Raspberry первый делом обратиться к Scratch. Исходники языка уже включены в стандартную операционную систему Raspbian. Начать создание IoT с помощью Scratch может как взрослый специалист, так и совсем ещё ребёнок. Недаром он всего за 10 лет выбился в топ-20 языков по числу запросов в поисковиках.

Python

Возможно для вас это будет сюрпризом, но Pi в названии – это не математическая константа, а отсылка к Python. IDLE, стандартная среда разработки программ на Raspberry, работает как раз на змеином языке. На официальном сайте в разделе документация вы найдёте базовое руководство . Кроме того, благодаря Python Games и их исходникам, вы познакомитесь с возможностями языка.

HTML5 и CSS3

Компьютеры Raspberry Pi подходят для создания систем IoT, а встроенный браузер Epiphany - подходящий клиентский интерфейс. Это значит, что без языков веба не обойтись. HTML5 и CSS3 позволят вам решить вопрос создания виртуальной оболочки умного дома с минимальными затратами времени и незначительными ограничениями.

JavaScript

JavaScript - динамическая сила Raspberry Pi. Вы сможете поработать с ним благодаря платформе Node.js, позволяющей вам создавать десктопные и веб-приложения. Не стоит забывать про библиотеку jQuery, которая работает в любом браузере, и наполняет его привычными динамическими функциями.

Java

Возможность запустить Java-код на любой платформе – главная концепция языка. И эта концепция особенно полезна для таких платформ, как Raspberry Pi. Вы сначала отладите код на «большой» ОС, а потом перенесёте на Raspbian. При этом разработка приложений на Java внутри «малиновой» системы затруднительна - здесь нет полноценной среды для этого языка.

С

Так как Raspbian – ОС на базе Unix, в качестве базового языка здесь выступает С. С его помощью вы получите максимальную производительность без использования машинных команд. Это особенно важно для серверных систем в составе IoT. Надмножество языка, Objective-C, используется для написания приложений для iPhone и iPad, что также может пригодиться вам с «малиной».

C++

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

Perl

Perl постепенно сдаёт позиции в мире больших машин, но в Raspberry Pi это пока один из основных инструментов. Он поставляется «из коробки», имеет множество расширений и дополнений, с его помощью можно организовать сбор информации или переписать Си-программу. Это ударит по быстродействию, зато работать с таким кодом на порядок проще.

Erlang

Erlang - язык программирования для создания сложных систем. Допустим вы разрабатываете на своем одноплатном друге атомную электростанцию или нейронно-вычислительную сеть. C++ или другой прикладной язык не подойдёт. А вот Erlang позволит вам минимизировать ошибки и извлечь максимум возможностей из Raspberry Pi. Конечно, если вы дорастете до этого уровня.

Как вы поняли, язык разработки для Rasberry Pi имеет третьестепенное значение. Выбор зависит от вкусовых предпочтений, от типа решаемой задачи и вашего опыта. А значит, Rasberry Pi станет вашим верным спутником в программировании, какой бы путь вы ни выбрали.

In this post, I’ll give a quick overview of what a Python program is, what they can be used for, and finally, how to write and run a simple program on the Raspberry Pi.

What is a Python program?

The Python programming language actually started as a scripting language for Linux. Python programs are similar to shell scripts in that the files contain a series of commands that the computer executes from top to bottom. Python is a very useful and versatile high level programming language, with easy to read syntax that allows programmers to use fewer lines of code than would be possible in languages such as assembly, C, or Java.

Compare a “hello world” program written in C vs. the same program written in Python:

Python programs don’t need to be compiled before running them, as you do with C programs. However, you will need to install the Python interpreter on your computer to run them. The interpreter is the program that reads the Python file and executes the code. There are programs like or Pyinstaller that can package Python code into stand-alone executable programs so you can run Python programs on computers without the Python interpreter installed.

What can a Python program do?

Like shell scripts, Python can automate tasks like batch renaming and moving large amounts of files. Using IDLE, Python’s REPL (read, eval, print, loop) function can be used just like a command line. However, there are more useful things you can create with Python. Programmers use Python to create things like:

  • Web applications
  • Desktop applications and utilities
  • Special GUIs
  • Small databases
  • 2D games

Python also has a large collection of libraries, which speeds up the development process. There are libraries for everything you can think of – game programming, rendering graphics, GUI interfaces, web frameworks, and scientific computing.

Many (but not all) of the things you can do in C can be done in Python. Computations are slower in Python than in C, but its ease of use makes Python an ideal language for prototyping programs and applications that aren’t computationally intensive.

How to create and run a program in Python

We will only cover the basics of writing and executing a Python program here, but for a great tutorial covering everything a programmer needs to know about Python, you might want to check out the bookLearning Python 5th Ed. (O’Reilly) by Mark Lutz .

Python 2 and Python 3 come pre-installed on Raspbian, but to install it on another Linux OS or to update it, simply run sudo apt-get install python3 or sudo apt-get install python. To access Python from the command prompt, type “python ” or “python3 ” depending on which version you want to use. This opens up the Python REPL (read-eval-print-loop), from which you can enter Python commands just like you use the command line. Use Ctrl-D to exit the REPL:

Our first program in Python will be the standard “hello world” program. To begin, enter sudo nano hello-world.py at the command prompt to open the nano text editor and create a new file named hello-world.py .

Enter this code into nano, then press Ctrl-X to exit and save the file:

All Python program files will need to be saved as “.py ” file types. You can write the program in a text editor such as notepad or notepad++ as long as you save the file with a “.py ” extension.

To run the program without making it executable, navigate to the location where you saved your file, and type python hello-world.py .

We can make the hello-world.py file executable by entering chmod +x hello-world.py at the command prompt. Now, all we need to do to run the program is enter: ./hello-world.py.

Here are some additional resources that will help you make the most out of programming in Python:

Hopefully you found this post useful. If you have any questions, feel free to leave a comment below. Also, if you know someone who would enjoy this article, please share it! You can also get updates when ever we post a new article by entering your email address in the subscribe box below…

Raspberry PI - это устройство имеющее достаточную производительность для того чтобы на его основе могли быть построены роботы способные распознавать образы, выполнять работу людей и прочие подобные устройства для автоматизации и выполнения сложных вычислительных действий. Т.к. тактовая частота процессора Raspberry PI 3 м.б. 1.2 ГГц а его разрядность 32 бита то Raspberry PI 3 значительно превосходит обычное Arduino у которого тактовая частота как правило 16 МГц а разрядность микроконтроллера 8 бит, Arduino безусловно занимает своё место в выполнении операций не требующих большой производительности но когда её уже не хватает Raspberry PI "приходит на помощь" и перекрывает такой большой диапазон возможных применений что можно быть абсолютно уверенным в целесообразности приобретения данного одноплатного компьютера Raspberry PI 3 (можно заказать по ссылке) . Т.к. Raspberry PI - это компьютер то для того чтобы его использовать нужно на него установить операционную систему (хотя существуют обходные пути но всё же лучше и проще установить операционную систему (ос далее)). Существует много ос которые можно установить на Raspberry Pi но одной из самых популярных (для использования с Raspberry Pi), наиболее подходящих для начинающих является ос Raspbian. Для того чтобы установить ос на Raspberry Pi понадобиться micro sd карта с расширителем для того чтобы её можно было вставить в обычный компьютер и записать на неё ос. Sd карта должна иметь не менее 4Гб памяти при установке полной версии Raspbian и не менее 8Гб для установки минимальных версий Raspbian. Минимальные версии могут не иметь (и скорее всего не имеют) графического интерфейса и много всего остального что может считаться лишним и занимает место. Для избежания проблем с отсутствием необходимых файлов, можно поставить полную версию. Можно использовать SD карту 10го класса и с 32Гб памяти (проверено работает (как см. видео ниже)). После приобретения карты памяти её надо вставить в компьютер в соответствующий разъём, после этого посмотреть с какой буквой появился диск в разделе "мой компьютер" и запомнить, потом надо скачать ос с официального сайта https://www.raspberrypi.org/downloads/raspbian/ нажав кнопку "Download ZIP" под "RASPBIAN JESSIE" для скачивания полной версии или под "RASPBIAN JESSIE LITE" для скачивания облегчённой но, для начинающих, лучше выбрать "RASPBIAN JESSIE" т.е. полную версию. После скачивания архива "RASPBIAN JESSIE" его нужно разархивировать, потом скачать программу (или от сюда https://yadi.sk/d/SGGe1lMNs69YQ), установить её, открыть, далее нужно в правом верхнем углу указать букву диска (запомненную ранее), найти разархивированный образ ос

И нажать кнопку "write".

После чего выведется окно с предупреждением и в этом окне надо нажать кнопку "Yes",

После того как запись закончиться и появится окно сообщающее об успешной записи (Write Successful) нужно нажать кнопку "Ok" в этом окне.

Потом закрыть программу, вытащить SD карту безопасным способом и вставить в Raspberry Pi.

Далее можно подключить к Raspberry Pi usb клавиатуру (или ps2 через переходник), usb мышь и монитор или телевизор через hdmi кабель или можно подключить ethernet кабель (но это для опытных пользователей поэтому далее рассмотрим первый вариант). После этого надо подключить питание через micro usb например от зарядного устройства от смартфона. После подключения питания начнётся установка операционной системы. Как правило в новых (на момент написания данной статьи) версиях ос уже настроена возможность связи с Raspberry Pi по SSH и поэтому для того чтобы настроить связь с Raspberry Pi 3 по wifi достаточно настроить только wifi, Для этого в правом верхнем углу экрана есть значёк на который нужно нажать и выбрать wifi,

После чего вписать пароль от данного wifi в появившееся текстовое поле,

После этих действий wifi на Raspberry Pi 3 будет настроен и дальше можно будет не используя провода программировать Raspberry Pi 3 удалённо по wifi. После настройки Raspberry Pi 3 можно выключить вписав в командной строке (в программе LXTerminal которую можно открыть двойным кликом по иконке программы) команду sudo halt или нажав соответствующие кнопки выключения в графическом режиме, после окончательного выключения можно отключить питание и при следующей подаче питания Raspberry Pi 3 включиться с wifi. Теперь чтобы программировать Raspberry Pi 3 по wifi нужно выяснить какой у него ip адрес. Для того чтобы это сделать надо подать питание на Raspberry Pi 3, дождаться окончания загрузки ос, зайти в веб интерфейс маршрутизатора (вписав в строке браузера 192.168.1.1 или то что надо для входа в веб интерфейс, ввести логин и пароль), найти вкладку DHCP Leases или что то подобное, найти там строку с raspberry и ip адрес Raspberry Pi 3.

Далее нужно открыть программу PuTTY (если её нет то перед этим скачать (или ) и установить) поставить порт 22, соединение по SSH, вписать в поле "Host Name (or IP Adress)" ip адрес Raspberry Pi 3,

После чего нажать кнопку "Open" внизу окна, далее появиться чёрное окно с предложением ввести логин. По умолчанию логин "pi" - его надо ввести и нажать enter. Далее надо ввести пароль, по умолчанию "raspberry". При вводе пароля он не отображается - это нормально. После того как пароль введён невидимыми буквами нужно нажать enter и если всё было сделано правильно то мы получим доступ к Raspberry Pi 3 если нет то нужно повторить действия. После того как получен доступ к Raspberry Pi 3 можно его программировать, для начала нужно войти в папку "pi" для этого надо вписать команду

И нажать enter (после cd обязательно пробел).
Теперь можно открыть текстовый редактор nano. Nano - это специальный текстовый редактор который есть на большинстве ос на подобии Linux и в котором можно написать программу для Raspberry Pi. Для открытия этого редактора и одновременно с этим создания файла с названием "first" и расширением "py" нужно вписать команду

И нажать enter. Откроется редактор nano и можно заметь что его интерфейс немного отличается но в основном - это то же чёрное поле в которое надо вписывать команды. Т.к. мы хотим управлять портами ввода вывода общего (GPIO) то прежде чем запустить программу по управлению этими портами, нужно подключить к ним какое нибудь устройство чтобы можно было видеть что управление получилось. Надо также отметить что пины настроенные как выходы у Raspberry Pi могут выдавать очень небольшой ток (предполагаю что до 25мА) и учитывая что Raspberry Pi это всё таки не самое дешёвое устройство то настоятельно рекомендуется позаботиться от том чтобы нагрузка на выводы не была слишком большой. Маломощные индикаторные светодиоды, как правило, могут использоваться с Raspberry Pi т.к. им для того чтобы светиться достаточно небольшого тока. Для первого раза можно сделать приспособление с разъёмом, двумя встречно параллельно включёнными светодиодами и резистором с сопротивлением 220Ом включённым последовательно со светодиодами. Т.к. сопротивление резистора 220Ом, ток обязательно проходит через этот резистор и нет параллельных путей его прохода, напряжение на выводах 3.3В то ток не будет больше чем 3.3/220=0.015А=15мА. Подключить это можно к свободным GPIO например к 5 и 13 как на схеме

(распиновка взята с https://en.wikipedia.org/wiki/Raspberry_Pi), выглядеть это может примерно так:

После того как всё аккуратно и правильно подключено и есть уверенность в том что ничего не сгорит можно скопировать в редактор NANO первую простенькую программу на языке Python

Import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)
GPIO.output(13, True)
GPIO.output(5, False)
time.sleep(1)
GPIO.output(13, False)
GPIO.output(5, True)
time.sleep(1)
GPIO.output(13, True)
GPIO.output(5, False)
time.sleep(1)
GPIO.output(13, False)
GPIO.output(5, True)
time.sleep(1)
GPIO.output(13, True)
GPIO.output(5, False)
time.sleep(1)
GPIO.output(13, False)
GPIO.output(5, True)
time.sleep(1)
GPIO.cleanup()

Потом нажать

После выхода из редактора NANO можно ввести команду

Sudo python first.py

После чего светодиоды помигают некоторое количество раз. Т.е. получилось управлять портами ввода вывода общего назначения по wifi! Теперь давайте рассмотрим программу и выясним как это получилось.
Строка:

Import RPi.GPIO as GPIO

Это подключение библиотеки "GPIO" для управления выводами.
Строка:

Это подключение библиотеки "time" для задержек.
Далее идёт установка режима GPIO:

GPIO.setmode(GPIO.BCM)

Конфигурация выводов 5 и 13 как выходы:

GPIO.setup(13, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)

Установка логической единицы на выводе 13, установка логического нуля на выводе 5:

GPIO.output(13, True)
GPIO.output(5, False)

Задержка

Установка логического нуля на выводе 13, установка логической единицы на выводе 5:

GPIO.output(13, False)
GPIO.output(5, True)

Переводит все выводы в исходное состояние и программа завершается. Т.о. можно управлять любыми свободными пинами по wifi и если сделать питание 5В от аккумулятора то уже можно сделать какого нибудь автономного робота или устройство не привязанное проводами к чему либо стационарному. Язык программирования Python (питон) отличается от си подобных языков, например вместо точки с запятой, для завершения команды, в питоне используется перевод строки, вместо фигурных скобок используется отступ от левого края который делается клавишей Tab. В общем Python это очень интересный язык на котором получается легко читаемый простой код. После того как работа (или игра) с Raspberry PI 3 закончена можно его выключить командой

И после полного выключения убрать питание. При подаче питания Raspberry PI 3 включается и с ним снова можно работать (или играть). Заказать Raspberry pi 3 можно по ссылке http://ali.pub/91xb2 . О том как делается настройка Raspberry PI 3 и управление его пинами можно посмотреть на видео:

После успешного мигания светодиодами можно приступить к полномасштабному изучению данного компьютера и созданию проектов используя возможностями Raspberry PI 3 которые ограничены лишь вашим воображением!

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

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

1. Chromium

Начнем с браузера, который можно очень просто установить на Raspberry Pi. Благодаря Chromium, вы получаете поддержку PepperFlash и HTML 5 на своем устройстве. Это позволяет играть в флеш игры, смотреть ролики, стримы и даже самому стримить в интернет.

Поскольку Google Chrome основан на Chromium, то большинство расширений Google Chrome совместимы с Rapsberry Pi, но его аппаратные ресурсы немного ограничивают использование тяжелых программ. Версия Chromium для Pi имеет предустановленное расширение uBlock Origin, которое защитит вас от рекламы.

В отличие от других программ в списке, Chromium уже предустановлен на Raspberry Pi. Вы можете только обновить его до последней версии с помощью команд:

sudo apt update
$ sudo apt upgrade

После завершения обновления, вам нужно перезапустить устройство.

2. Менеджер пакетов Synaptic

Установка пакетов на Raspberry Pi выполняется достаточно просто через командную строку, к тому же, в системе Raspbian есть специальная утилита для установки и удаления программ. Но иногда может понадобиться что-то более сложное.

Пакетный менеджер Synaptic очень популярен среди пользователей Ubuntu и Debian, он группирует все пакеты по категориях, в зависимости от их назаначения. Кроме того, вы можете посмотреть какие приложения уже установлены, для каких есть новые версии. Для операций с пакетами нужно их отметить, а затем нажать кнопку "Apply" . К тому же Synaptic автоматически разрешает все зависимости. Для установки программы наберите:

sudo apt-get install synaptic

А для запуска:

3. Плеер VLC

Если вернуться в 2013 год, когда было выпущено первое устройство, то все попытки воспроизведения видео в 480p давали очень печальный результат. Первая версия устройства не позволяла правильно использовать системные ресурсы для воспроизведения видео.

В наши дни Raspberry Pi 3 совсем другой. Видео и аудио могут воспроизводиться без проблем, например, с помощью медиаплеера VLC. Этот плеер может открыть практически все форматы, а также имеет такие дополнительные возможности, как запись видео с рабочего стола, загрузку видео в YouTube и конвертацию форматов. С помощью VLC вы можете превратить свой микрокомпьютер в медиа центр. Вы можете установить программу через стандартную утилиту установки приложений.

4. USB Over IP

Эта утилита позволяет получить доступ к удаленным USB устройствам через интернет или предоставлять другим компьютерам доступ к подключенным USB устройствам. Она может быть установлена на Raspberry Pi так же как и на Windows или Linux.

Очень удобно иметь доступ к флешке, подключенной к другому компьютеру, например, вы можете смотреть фото с картридера, подключенного к компьютеру. Но утилита должна быть на двух устройствах.

sudo modprobe usbip-core
$ sudo modprobe usbip-host sudo usbip -D

Затем вы можете посмотреть список устройств:

Утилита ищет запущенные usbip в локальной сети, к которым можно подключиться. Для подключения используйте:

sudo usbip --debug bind -b

Я уже писал про доступ к USB по сети в другой статье, смотрите там подробнее, про usbip во второй части статьи.

5. DOSBox

Для Raspberry Pi нет игр. Это устройство было разработано чтобы помочь детям разобраться в программировании. Однако Raspberry поддерживает эмуляцию, а значит вы можете запускать на нем старые игры, например, от DOS или разных приставок.

С помощью программы DOSBox вы можете играть в большинство игр, написанных для DOS начиная с 1980 по 1990 год. Установить программу можно командой:

sudo apt install dosbox

6. Arduino IDE

Если вы планируете использовать ваш Raspberry Pi вместе с Arduino, то вам обязательно понадобиться Arduino IDE. С помощью этой среды вам будет намного проще писать код для Arduino и загружать его на нужное устройство по USB. Вы можете установить среду через стандартную программу установки приложений.

7. Guake

Если вы новичок в Linux то для вас использование терминала может показаться очень сложным. Удобство использования во многом еще зависит эмулятора терминала, который вы используете. Терминал по умолчанию сложный в освоении.

Но вы можете использовать эмулятор терминала Guake, он проще и выглядит красивее. Установить его можно тоже через стандартную утилиту установки программ, как и другие приложения raspberry pi 3. Окно Guake прозрачно, потому вы будете видеть все, что делается на рабочем столе, кроме того, у программы множество настроек.

8. Deluge

Deluge - это торрент клиент, он предназначен для использования peer-to-peer сети для загрузки файлов и распространения их между пользователями. Но это еще не значит, что торрент незаконен, например, множество дистрибутивов Linux можно скачать через торрент.

Зачем может понадобиться торрент на Raspberry? Ну например, вы можете создать репозиторий со своими файлами. Установить программу можно командой:

sudo apt install deluged deluge-console python-mako deluge-web

9. DropBox Uploader

Официального клиента DropBox для Raspberry Pi нет, вы можете получить доступ к облаку через браузер Chromium, а для загрузки файлов использовать этот скрипт. Установить скрипт можно с помощью команды:

git clone https://github.com/andreafabrizi/Dropbox-Uploader.git

Затем выполните такие команды для установки и настройки скрипта:

cd Dropbox-Uploader
$ sudo chmod +x dropbox_uploader.sh
$ sudo ./dropbox_uploader.sh

По запросу программы вам нужно будет ввести токен доступа от приложения на DropBox. Затем для отправки файла достаточно выполнить:

sudo ./dropbox_uploader.sh upload /home/pi/screenplay.odt /docs/screenplay.odt

10. SD Card Copier

Чего не хватает в нашем списке лучшие программы для Raspberry Pi 3, так это утилиты для копирования SD карт. С помощью нее вы сможете создать резервную копию вашей системы Raspberry Pi. Утилита уже предустановлена и вы можете найти ее в главном меню.

Для копирования вам нужно подключить внешнюю флешку к Raspberry, затем открыть программу и выбрать этот носитель. После того как вы нажмете "Start" , все данные с него будут стерты.

Выводы

В этой статье мы рассмотрели лучшие программы raspberry pi 3, которые вы можете использовать на своих устройствах. А какие программы используете вы? Для чего применяете ваши микрокомпьютеры? Напишите в комментариях!

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

В чем подвох?

На первый взгляд задача кажется тривиальной: скачиваем keil, создаем проект… Но все не так просто. Все среды программирования(keil, IAR, Atolic) поддерживают максимум ARM9.У нас же ARM11. Это связано с негласным правилом, что на голом железе пишут до ARM9, а после на Линуксе. Но все-таки есть одна лазейка: arm-none-eabi-gcc поддерживает любой ARM.
Вторая проблема заключается в том, что под данный процессор(BCM2835) нет никаких конфигурационных файлов, header"ов и т.д. Здесь нам на помощь придет загрузчик Raspberry Pi. И ничего, что он пропритетарный. Он выполняет две функции: инициализирует процессор и его периферию, а также передает управление ядру kernel.img. Мы просто замаскируем свою программу под ядро и загрузчик её запустит.

Что нам понадобится?

1) Сама Raspberry Pi, карта памяти к ней и питание.
2) Даташит на процессор
3) Компьютер с установленным Linux (но может быть можно и на Винде. Не знаю, не пробовал).
4) Кросскомпилятор, установленный на компьютере из пункта 3. Я использую arm-none-eabi-gcc
5) Содержимое этой папочки.

Приготовления.

Нам нужно отформатировать карту памяти в FAT16 и закинуть на нее содержимое этой папки . Это загрузчик плюс ядро. Затем удаляем оттуда файлы kernel.img и kernel_emergency.img. Это ядро Linux, а оно нам не нужно.

Первая программа.

Теперь мы можем приступить к написанию первой программы. Создаем файл main.c и пишем следующий код
int main (void) { while(1) { } } void exit (void) { while(1) { } }
Как видите, эта программа ничего не делает. Функция exit зачем-то нужна компилятору.
Теперь соберем её.
arm-none-eabi-gcc -O2 -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -nostartfiles main.c -o kernel.elf
arm-none-eabi-objcopy kernel.elf -O binary kernel.img

Полученный файл kernel.img кидаем на карту памяти. Готово!

GPIO

Вряд ли Вас устроит программа, которая не будет делать абсолютно ничего. Сейчас попробуем зажечь лампочку.
Для начала объявим адрес, по которому лежит GPIO(это можно прочитать в даташите).
#define GPIO_BASE 0x20200000UL

И объявим переменную, которая определяют, что порт настроен на выход (GPIO_GPFSEL1) и переменную, подающую низкий уровень(то есть лампочка горит) на порт (GPIO_GPCLR0).
#define GPIO_GPFSEL1 1
#define GPIO_GPCLR0 10

Ну и наконец модифицируем главную функцию для зажигания лампочки:
volatile unsigned int* gpio; int main(void) { gpio = (unsigned int*)GPIO_BASE; gpio |= (1 << 16); gpio = (1 << 16); while(1) { } }

Собираем, прошиваем и радуемся.

В следующей части попробуем поиграться с таймерами и прерываниями.