ЗАО «ЗЭО»
Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: Ivanas от 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. Подскажите, пожалуйста, как мне загрузить бинарник в Тион-про?
Заранее спасибо!
-
Так же как вы "загружаете" бинарники на PC: по сети: ftp, tftp , http; USB-flash, IDE (CF), более экзотично через последовательный порт.
-
Я в Линуксе не очень шарю :) Вот например при подключении 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
Как мне скачать что-нибудь с флешки? Нужно ее как-то вмонтировать?
-
Примонитировать /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'е, после перезагрузки файл исчезнет, это нормально.
-
Спасибо за подробный ответ! :)
Почему-то не находит бинарник при запуске:
/ # /home/serial
Я правильно компилирую программу?
/usr/local/arm/3.3/bin/arm-linux-gcc -Wall -02 -o serial serial-pair.c
-
> Почему-то не находит бинарник при запуске:
Вам нужно использовать 4.1.1-920t (с сайта Cirrus Logic), тогда при сборке будет использоваться та же библиотека uClibc, что и в /lib
-
Спасибо большое за помощь, программа заработала!
Возникли еще 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?
-
> За что отвечают ключи -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 -- это виртуальные терминалы (на экране).