Есть в наличие плата. SK-AT91SAM9260-SIM508 и экранчик SK-WF43BTIBED0-Plug.
Linux в плате загружается, выводиться сообщение как на экранчике, так и терминале в Window. Все нормально.
Написал свою программку на С, а ля "Hello Word".
Т.к. в Linux и тем более встроенном, я новичок, никак не могу понять, как мне мою программку, скомпилированную например в Keil, на основном компе, загрузить в плату и заставить там выполниться.
что бы ваша программка заработала на плате, её нужно скомпилировать кросс-компилятором. Кросс-компилятором собирается ядро linux. Собственно с его помощью можно скомпилировать вашу программку. Путь к кросс-компилятору можно посмотреть в файле который запускает сборку ядра.
Почитайте на форуме. Вопрос уже поднимался и не раз
За ответ спасибо, но я чуть о другом. как получить на компе скомпилированный файл я понимаю. Вопрос как этот файл передать на плату и заставить там выполниться. Я подозреваю что в терминальной программе нужно ввести какую-то команду ...
а форум почитать? а поучиться работе в линуксе?
в общем случае свой бинарник можно скопировать на внешний носитель - SD карточка или USB-флешдиск и подмонтировать к киту. Можно также передать по сети - типа ftpget или tftpget
в клиническом случае на ББ бинарник положить в каталог рутовой для кита и перешить рутовую в нанде..
А у меня такой вопрос - как можно скомпилировать программу прямо на плате ? Как я понимаю нужеен компилятор GNU С (GCC). Есть какие нибудь примеры по этой теме ?
alexanib, можно, я так делал ради интереса, но как выше уже сказали - это извращение.
И вообще, следует понимать одну простую вещь:
Linux - он и в африке Linux. Это полноценная операционная система, ни чем не хуже по возможностям той же винды (а даже ещё и мощнее). И возможности соответствующие, всё что может Linux на x86, тоже может и ARM. Единственное на что тут стоит обращать внимание, так это ограниченные ресурсы. Никто не мешает взгромоздить на плату полноценный Debian и с помощью apt-get поставить туда gcc. Особые извращенцы могут поставить qemu, включить в ядре поддержку bninfmt, взять бинарную сборку wine для i386, и вообще запускать "нативно" на ARM-е виндовые приложения. Под "нативно" подразумевается что будет достаточно выполнить любой exe файл. А есть ещё ARM-овый порт Wine, а там есть такая вещь как wine-gcc, позволяет собрать виндовые Сишные исходники в нативный исполняемый файл полинкованый на winelib.
Так всё это я к чему? А ктому, что возможности системы ограничены только вашим воображением и аппаратными ресурсами.
Возможно я вас удивлю, но именно этим я и занимаюсь. :-)
Т.к. нормальной книжки по работе со встроенным Линуксом я не нашел, пытаюсь логику работы с настольным линуксом перенести на работу с платой.
Пошел по предложенному Вами варианту:
Вот такая проблема возникла. Насколько я понял, когда вставляешь карту памяти в плату, то в Линуксе в папке /mnt/ должно появиться новое устройство. Т.к. имени устройства я не знаю, то пытаюсь посмотреть что вообще лежит в этой папке с помощью команд:
cd /mnt
ls
но почему-то ls только очищает экран в программе-терминала и ничего не выводит. в чем ошибка, что не так делаю?
Dj вторых туда лишь монитруется флешка. Для её монтирования можно набрать
где mmcblk0 - имя вашей карточки в системе, а p1 - первый раздел. Имя можно узнать анализом команды
Сначала наберите это без карточки, потом подключите карту и опять набурите эте команду. Должно быть видно новое устройство.
А когда уже подмонтируете карточку, можете в /mnt смотреть её содержимое.