ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Загрузка ПО  (Прочитано 6134 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Ivanas

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 4
Загрузка ПО
« : 08 Ноября, 2009, 14:41:40 »

Здравствуйте!
У меня плата Тион-про с Линуксом. Я взял пример с последовательным портом http://www.zao-zeo.ru/media/files/examples/serial-pair_svn371.gz , откомпилировал его с помощью arm-linux-gcc-3.3-full.tar.bz2. Подскажите, пожалуйста, как мне загрузить бинарник в Тион-про?
Заранее спасибо!
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Загрузка ПО
« Ответ #1 : 09 Ноября, 2009, 11:36:03 »

Так же как вы "загружаете" бинарники на PC: по сети: ftp, tftp , http; USB-flash, IDE (CF), более экзотично через последовательный порт.
Записан

Ivanas

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 4
Re: Загрузка ПО
« Ответ #2 : 09 Ноября, 2009, 22:53:36 »

Я в Линуксе не очень шарю :) Вот например при подключении USB-flash выводится следующее:

usb 1-1: new full speed USB device
using ep93xx-usb and address 2
usb 1-1: not running at top speed; connect to a high speed hub
usb 1-1: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
Jan  1 00:01:33 modprobe: FATAL: Module sd_mod not found.

Jan  1 00:01:33 modprobe: FATAL: Module usb_storage not found.

scsi 0:0:0:0: Direct-Access     OCZ      RALLY2           1100 PQ: 0 ANSI: 0 CCS

SCSI device sda: 31326208 512-byte hdwr sectors (16039 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 31326208 512-byte hdwr sectors (16039 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
 sda:<7>usb-storage: queuecommand called
 sda1
sd 0:0:0:0: Attached scsi removable disk sda

Как мне скачать что-нибудь с флешки? Нужно ее как-то вмонтировать?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Загрузка ПО
« Ответ #3 : 09 Ноября, 2009, 23:19:18 »

Примонитировать /dev/sda1 с правами на исполнение к /mnt/
mount -tvfat -oexec /dev/sda1 /mnt

Скопировать файл prog в /home/
cp /mnt/prog /home/

Запустить
/home/prog
или
/mnt/prog

Перед извлечением flash (нужно не находиться в /mnt)
umount /mnt

PS. Скорее всего на плате файловая система в ramdisk'е, после перезагрузки файл исчезнет, это нормально.
Записан

Ivanas

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 4
Re: Загрузка ПО
« Ответ #4 : 10 Ноября, 2009, 00:52:00 »

Спасибо за подробный ответ! :)
Почему-то не находит бинарник при запуске:

/ # /home/serial

Я правильно компилирую программу?

/usr/local/arm/3.3/bin/arm-linux-gcc -Wall -02 -o serial serial-pair.c
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Загрузка ПО
« Ответ #5 : 10 Ноября, 2009, 11:23:47 »

> Почему-то не находит бинарник при запуске:

Вам нужно использовать 4.1.1-920t (с сайта Cirrus Logic), тогда при сборке будет использоваться та же библиотека uClibc, что и в /lib
Записан

Ivanas

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 4
Re: Загрузка ПО
« Ответ #6 : 11 Ноября, 2009, 03:21:54 »

Спасибо большое за помощь, программа заработала!

Возникли еще 2 вопроса :)

1. За что отвечают ключи -Wall и -02 в строке arm-linux-gcc -Wall -02 -o serial serial-pair.c ?

2. В программе serial-pair.c обращение происходит к порту /dev/ttyS0, в Тионе-про файла устройства ttyS0 нет, есть tty0, значит чтобы принимать байты с 0-го и 1-го последовательных портов надо обращаться к файлам устройств tty0 и tty1?
« Последнее редактирование: 11 Ноября, 2009, 03:28:48 от Ivanas »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Загрузка ПО
« Ответ #7 : 11 Ноября, 2009, 09:21:53 »


> За что отвечают ключи -Wall и -02 в строке arm-linux-gcc -Wall -02 -o serial serial-pair.c ?

Вам нужно посмотреть документацию на gcc
http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/index.html#toc_Invoking-GCC
(-Wall -- все предупреждения, -O2 -- уровень оптимизации)

> В программе serial-pair.c обращение происходит к порту /dev/ttyS0, в Тионе-про файла устройства ttyS0

На платах EP93xx (Тион, Тион-Про, Тион-Про2) последовательные порты называются /dev/ttyAM0 (1, 2).
Но чаше последовательные порты называют ttyS. tty1, tty2 -- это виртуальные терминалы (на экране).
Записан