|
|
  |
как запустить своё приложение по старту uClinux ..., lpc2478 |
|
|
|
Sep 2 2010, 05:40
|
Частый гость
 
Группа: Участник
Сообщений: 133
Регистрация: 30-11-06
Пользователь №: 22 954

|
в линуксе это делается через прописывагие нужного приложения в 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
Сообщение отредактировал andybeg - Sep 2 2010, 05:41
|
|
|
|
|
Sep 2 2010, 10:23
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 19-03-10
Из: Екатеринбург
Пользователь №: 56 075

|
Первое, почему приложение находиться в коатлоге bin? Второе, запуск идет от root или от пользователя?
|
|
|
|
|
Sep 3 2010, 02:07
|
Участник

Группа: Участник
Сообщений: 45
Регистрация: 19-03-10
Из: Екатеринбург
Пользователь №: 56 075

|
Бредовые мысли конечно, но попробуйте переписатьв /home и запустить оттуда и второе что делает программа uart. Может просто косяк с настройками порта? Как определили что програма не запускаеться? По запущенным процессам? Можно в первых строках main вставить какой нибуть printf().
|
|
|
|
|
Sep 3 2010, 04:07
|
Частый гость
 
Группа: Участник
Сообщений: 133
Регистрация: 30-11-06
Пользователь №: 22 954

|
Цитата(Совсем старый Бабай @ Sep 3 2010, 06:07)  Как определили что програма не запускаеться? По запущенным процессам? Можно в первых строках main вставить какой нибуть printf(). определил что не запускается, потому что по старту программа гасит два светодиода, а этого не происходит, в тоже время запуск программы из дебаговой консоли проходит удачно
|
|
|
|
|
Sep 7 2010, 07:48
|
Частый гость
 
Группа: Свой
Сообщений: 174
Регистрация: 30-10-06
Из: г. Курск
Пользователь №: 21 787

|
Цитата(andybeg @ Sep 2 2010, 09:40)  в линуксе это делается через прописывагие нужного приложения в rc.local, в сборке uClinux для моей платы нашёл файл rc, в нём тоже прописывается ряд приложений и действий по старту, но запуска приложения не происходит  У вас ядро 2.6.21? Если да, то там похоже есть глюк (или нюанс который я не понял): Добавлять самой последней стокой в /etc/rc свою программу не надо, она действительно не запускается. добавьте где-нибудь в середине, ближе к концу. у меня это выглядит примерно так: CODE ........ ........ ........ #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
|
|
|
|
|
Sep 7 2010, 09:07
|
Частый гость
 
Группа: Участник
Сообщений: 133
Регистрация: 30-11-06
Пользователь №: 22 954

|
интересное наблюдение ядро 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
Сообщение отредактировал andybeg - Sep 7 2010, 09:09
|
|
|
|
|
Oct 6 2010, 05:43
|
Частый гость
 
Группа: Участник
Сообщений: 133
Регистрация: 30-11-06
Пользователь №: 22 954

|
переставил осьссусе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
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|