ЗАО «ЗЭО»

Техническая поддержка пользователей => Тион-Про28, Орион28 => Тема начата: Setpm от 03 Октября, 2019, 13:59:09

Название: Тион про-28, hello world, Segmentation fault.
Отправлено: Setpm от 03 Октября, 2019, 13:59:09
Здравствуйте.

Ранее работал над тионом про 2. Сейчас попалась плата Тион -про 28. Ядро переустанавливал - ВинСе и сборки Линукс, сгенерированные в LTIB на вашей виртуальной машине Ubuntu (Danila). Сборки нормально грузятся и работают все тестовые программы. Решил я перед пересборкой старого проекта попробовать скомпилить "привет мир" и загрузить. Пробовал по всякому:

1.Через консоль LTIB/
2.Напрямую, сгенерированным компилятором - /opt/freescale

makefile:

BINM = hello
OBJK = hello.o
OBJC = main.c
ANGCC = /opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linux-gnueabi-g++   
all: $(BINM)
$(OBJK): $(OBJC)
   $(ANGCC) -march=armv5te -c -o $@ $(OBJC)
$(BINM): $(OBJK)
   $(ANGCC) -march=armv5te -o $@ $(OBJK)
   $(ANGCC) -march=armv5te -print-multi-directory
   
clean:
   -rm -f $(BINM) *.elf *.gdb *.o



файл генерится и я его гружу в тион по tftp. Все происходит вроде логично, но после запуска теста - ошибка сегментации. Помогите Пожалуйста, что я делаю не так?

Исходник вообще смешной:


//main.c:


#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{   
    system("PAUSE");
   cout<<"hello"<<"/n";
    return 0;

}






С уважением, Setpm.
Название: Re: Тион про-28, hello world, Segmentation fault.
Отправлено: Setpm от 04 Октября, 2019, 18:04:23
Xnj ckexbkjcm&
Название: Re: Тион про-28, hello world, Segmentation fault.
Отправлено: Danila от 08 Октября, 2019, 15:02:32
Добрый день.

Собрал это пример. У меня ошибок при запуске нет.
Прикрепил пример к сообщению.

Попробуйте запустить через strace.
Название: Re: Тион про-28, hello world, Segmentation fault.
Отправлено: Setpm от 10 Октября, 2019, 15:07:34
Спасибо. Попробую. Скорее всего толчайн у меня глючный.
Название: Re: Тион про-28, hello world, Segmentation fault.
Отправлено: Setpm от 10 Октября, 2019, 17:25:45
Danila, в общем Ваш бинарник такую же ошибку выдает. В общем я из собранного линукса тесты вытаскиваю и гружу, они тоже не работают, а если полностью загружаю в тион образ, то они работают. Я уже туда - сюда рабочие тесты грузил - они работают. Мне просто нужно перекомпилить старый софт, а я уже несколько дней с бубном жду чудо)))
Название: Re: Тион про-28, hello world, Segmentation fault.
Отправлено: Setpm от 10 Октября, 2019, 17:40:02
root@freescale /$ strace ./hello
execve("./hello", ["./hello"], [/* 18 vars */]) = 0
brk(0)                                  = 0x12000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Process 1384 detached
Название: Re: Тион про-28, hello world, Segmentation fault.
Отправлено: Setpm от 10 Октября, 2019, 19:04:29
Стэк процесса скорее всего на 0x12000 прыгает и операционка убивает его. Дадно, перезагружу ось. Что получится - отпишусь))
Название: Re: Тион про-28, hello world, Segmentation fault.
Отправлено: Setpm от 10 Октября, 2019, 19:10:29
и еще Данила, что и где прописать нужно, чтобы экранчик не вырубался. Он в слип уходит или что? Не совсем он адекватно себя ведет. Он когда с подсветкой виснет, а порой в темную. Я в этом девайсе ребут делать периодически должен?
Название: Re: Тион про-28, hello world, Segmentation fault.
Отправлено: Danila от 11 Октября, 2019, 21:09:16
В Linux дисплей отключается через 10 минут, для энергосбережения. Чтобы этого избежать необходимо добавить в автозагрузку команду:
echo -e "\033[9;0]" > /dev/tty0

Включить дисплей, если он выключился, можно командой
echo 0 > /sys/class/graphics/fb0/blank
Название: Re: Тион про-28, hello world, Segmentation fault.
Отправлено: Setpm от 13 Октября, 2019, 12:27:18
Тема исчерпана. Даниле спасибо.
Просто я не указывал tftp>binary
И бинарник передавался в тион в октетах ну и в заголовке файла была искажена инфа. Сейчас все работает.
Залил первые релизы. Новая сборка больше нравится.