andybeg 0 2 сентября, 2010 Опубликовано 2 сентября, 2010 (изменено) · Жалоба в линуксе это делается через прописывагие нужного приложения в rc.local, в сборке uClinux для моей платы нашёл файл rc, в нём тоже прописывается ряд приложений и действий по старту, но запуска приложения не происходит :( #!/bin/sh hostname MK /bin/expand /etc/ramfs.img /dev/ram1 mount -t proc proc /proc mount -t ext2 /dev/ram1 /var mkdir /var/tmp mkdir /var/log mkdir /var/run mkdir /var/lock mkdir /var/empty /bin/mknod /dev/ttyS0 c 4 64 /bin/mknod /dev/ttyS1 c 4 65 /bin/mknod /dev/ttyS2 c 4 66 /bin/mknod /dev/ttyS3 c 4 67 ifconfig lo 127.0.0.1 #ifconfig eth0 192.168.0.220 broadcast 192.168.0.255 netmask 255.255.255.0 #httpd & cat /etc/motd /bin/uart Изменено 2 сентября, 2010 пользователем andybeg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zia 0 2 сентября, 2010 Опубликовано 2 сентября, 2010 · Жалоба Первое, почему приложение находиться в коатлоге bin? Второе, запуск идет от root или от пользователя? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andybeg 0 2 сентября, 2010 Опубликовано 2 сентября, 2010 (изменено) · Жалоба >>Первое, почему приложение находиться в коатлоге bin? потому что после сборки uClinux исполняемый файл был засунут туда >>Второе, запуск идет от root или от пользователя? по аналоги с обычным линуксом могу предположить что то что запускается из файла rc, запускается от рута. в тоже время после загрузки uClinux в дебаговой консоли пишу uart и программа стартует ... Изменено 2 сентября, 2010 пользователем andybeg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zia 0 3 сентября, 2010 Опубликовано 3 сентября, 2010 · Жалоба Бредовые мысли конечно, но попробуйте переписатьв /home и запустить оттуда и второе что делает программа uart. Может просто косяк с настройками порта? Как определили что програма не запускаеться? По запущенным процессам? Можно в первых строках main вставить какой нибуть printf(). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andybeg 0 3 сентября, 2010 Опубликовано 3 сентября, 2010 · Жалоба Как определили что програма не запускаеться? По запущенным процессам? Можно в первых строках main вставить какой нибуть printf(). определил что не запускается, потому что по старту программа гасит два светодиода, а этого не происходит, в тоже время запуск программы из дебаговой консоли проходит удачно :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
romez777 0 6 сентября, 2010 Опубликовано 6 сентября, 2010 · Жалоба Начните с примитивного приложения "hello world", если при старте на консоль печатает строку, значит что-то не так с вашим более усложненным приложением uart - может ли так быть, что какие-то аппаратные блоки еще "не готовы" в момент запуска init и выполнения /etc/rc ? А чуть позже, когда "пыль осела и все железо готово" запуск вручную работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovalchuk_i_v 0 7 сентября, 2010 Опубликовано 7 сентября, 2010 · Жалоба в линуксе это делается через прописывагие нужного приложения в rc.local, в сборке uClinux для моей платы нашёл файл rc, в нём тоже прописывается ряд приложений и действий по старту, но запуска приложения не происходит :( У вас ядро 2.6.21? Если да, то там похоже есть глюк (или нюанс который я не понял): Добавлять самой последней стокой в /etc/rc свою программу не надо, она действительно не запускается. добавьте где-нибудь в середине, ближе к концу. у меня это выглядит примерно так: ........ ........ ........ #insmod /lib/modules/2.6.21-uc0/kernel/drivers/usb/gadget/g_file_storage.ko file=/dev/mmca1 LANG=ru_RU httpd & /bin/myprog </dev/mtrm1 >/dev/mtrm1 2>/dev/mtrm1 & # if user defined rc exists then execute it if [ -f /mnt/mmc/userrc ]; then /bin/sh /mnt/mmc/userrc fi Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andybeg 0 7 сентября, 2010 Опубликовано 7 сентября, 2010 (изменено) · Жалоба интересное наблюдение ядро 2.6.24.2, сделал по рекомендации, но это ничего не изменило :( #!/bin/sh hostname MTK /bin/expand /etc/ramfs.img /dev/ram1 mount -t proc proc /proc mount -t ext2 /dev/ram1 /var mkdir /var/tmp mkdir /var/log mkdir /var/run mkdir /var/lock mkdir /var/empty /bin/uart /bin/mknod /dev/ttyS0 c 4 64 /bin/mknod /dev/ttyS1 c 4 65 /bin/mknod /dev/ttyS2 c 4 66 /bin/mknod /dev/ttyS3 c 4 67 ifconfig lo 127.0.0.1 #ifconfig eth0 192.168.0.220 broadcast 192.168.0.255 netmask 255.255.255.0 #httpd & cat /etc/motd Изменено 7 сентября, 2010 пользователем andybeg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andybeg 0 6 октября, 2010 Опубликовано 6 октября, 2010 · Жалоба переставил осьссусе32 на убунту64 , вроди бы ничего не менял, но после перекомпиляции и запуска получил кернелпаник, похожий на тт что в ветке рядом, посмотрел в установки uClinux и понял что там не взведён init, поставил его , но получил следующее RAMDISK: romfs filesystem found at block 0 RAMDISK: Loading 213KiB [1 disk] into ram disk... done. VFS: Mounted root (romfs filesystem) readonly. init: exec rc failed init: Booting to single user mode init: exec of single user shell failed init: Missing PROCESS field in inittabinit: Missing PROCESS field in inittabinit: Missing PROCESS field in initt init: -/bin/sh respawning too fast init: -/bin/sh exec failed init: -/bin/sh respawning too fast init: -/bin/sh respawning too fast init: -/bin/sh exec failed init: -/bin/sh respawning too fast init: -/bin/sh respawning too fast init: -/bin/sh einit: -/bin/sh respawning too fast при rc #!/bin/sh hostname MTK /bin/expand /etc/ramfs.img /dev/ram1 mount -t proc proc /proc mount -t ext2 /dev/ram1 /var mkdir /var/tmp mkdir /var/log mkdir /var/run mkdir /var/lock mkdir /var/empty /bin/mknod /dev/ttyS0 c 4 64 /bin/mknod /dev/ttyS1 c 4 65 /bin/mknod /dev/ttyS2 c 4 66 /bin/mknod /dev/ttyS3 c 4 67 ifconfig lo 127.0.0.1 #ifconfig eth0 192.168.0.220 broadcast 192.168.0.255 netmask 255.255.255.0 G2420HDBL #httpd & cat /etc/motd uart # that's it... success exit 0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
etoja 0 7 октября, 2010 Опубликовано 7 октября, 2010 · Жалоба В rc.local напишите не /bin/uart а точное имя файла с расширением, например /bin/uart. (точка в конце) Файл должен иметь атрибут исполняемой программы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andybeg 0 7 октября, 2010 Опубликовано 7 октября, 2010 (изменено) · Жалоба методом научного тыка(делал make menuconfig и подключал опции которые могли бы повлиять на пуск) удалось запустить, основной проблемой как понимаю было отсутствие в моей сборке Core Application-init вапще было бы неплохо найти книжку где бы были описаны ВСЕ позиции настройки uClinux через make menuconfig,не обладаете такой информацией? заработал старый конфиг который был изначально, тоесть стартовую строку программы правильно написал Изменено 7 октября, 2010 пользователем andybeg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andybeg 0 27 октября, 2010 Опубликовано 27 октября, 2010 (изменено) · Жалоба так как требовалось видеть дебаговую консоль, почти всё время пользовал плату с воткнутым дебаговым кабелем и вот отключив его полусил, что не стартует uClinux, гугленье пока что не принесло плодов Изменено 27 октября, 2010 пользователем andybeg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
etoja 0 27 октября, 2010 Опубликовано 27 октября, 2010 · Жалоба с воткнутым дебаговым кабелем Значит сигнал сброса и выбора бутлоадера на плате формируются неправильно, а через консольный RS232 они приходят из компьютера по линиям DTR и RTS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andybeg 0 27 октября, 2010 Опубликовано 27 октября, 2010 · Жалоба у меня грузится uboot, выводится пингвин(на этом всё стопорится), значит всётаки не в этом дело? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andybeg 0 28 октября, 2010 Опубликовано 28 октября, 2010 (изменено) · Жалоба по схематике у нас на разъёме используются RXD TXD GND DSR CTS, соединил CTS и GND и всё заработало, электронщик сказал что надо на бут резюк поставить,чтобы он в воздухе не мотался :) Изменено 28 октября, 2010 пользователем andybeg Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться