ЗАО «ЗЭО»

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

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

Новости:

Автор Тема: Тион про-28, hello world, Segmentation fault.  (Прочитано 169 раз)

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

Setpm

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Тион про-28, hello world, Segmentation fault.
« : 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.
Записан

Setpm

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Тион про-28, hello world, Segmentation fault.
« Ответ #1 : 04 Октябрь, 2019, 18:04:23 »

Xnj ckexbkjcm&
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 698
Re: Тион про-28, hello world, Segmentation fault.
« Ответ #2 : 08 Октябрь, 2019, 15:02:32 »

Добрый день.

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

Попробуйте запустить через strace.
Записан

Setpm

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Тион про-28, hello world, Segmentation fault.
« Ответ #3 : 10 Октябрь, 2019, 15:07:34 »

Спасибо. Попробую. Скорее всего толчайн у меня глючный.
Записан

Setpm

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Тион про-28, hello world, Segmentation fault.
« Ответ #4 : 10 Октябрь, 2019, 17:25:45 »

Danila, в общем Ваш бинарник такую же ошибку выдает. В общем я из собранного линукса тесты вытаскиваю и гружу, они тоже не работают, а если полностью загружаю в тион образ, то они работают. Я уже туда - сюда рабочие тесты грузил - они работают. Мне просто нужно перекомпилить старый софт, а я уже несколько дней с бубном жду чудо)))
Записан

Setpm

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Тион про-28, hello world, Segmentation fault.
« Ответ #5 : 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
Записан

Setpm

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Тион про-28, hello world, Segmentation fault.
« Ответ #6 : 10 Октябрь, 2019, 19:04:29 »

Стэк процесса скорее всего на 0x12000 прыгает и операционка убивает его. Дадно, перезагружу ось. Что получится - отпишусь))
Записан

Setpm

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Тион про-28, hello world, Segmentation fault.
« Ответ #7 : 10 Октябрь, 2019, 19:10:29 »

и еще Данила, что и где прописать нужно, чтобы экранчик не вырубался. Он в слип уходит или что? Не совсем он адекватно себя ведет. Он когда с подсветкой виснет, а порой в темную. Я в этом девайсе ребут делать периодически должен?
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 698
Re: Тион про-28, hello world, Segmentation fault.
« Ответ #8 : 11 Октябрь, 2019, 21:09:16 »

В Linux дисплей отключается через 10 минут, для энергосбережения. Чтобы этого избежать необходимо добавить в автозагрузку команду:
echo -e "\033[9;0]" > /dev/tty0

Включить дисплей, если он выключился, можно командой
echo 0 > /sys/class/graphics/fb0/blank
Записан

Setpm

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 9
Re: Тион про-28, hello world, Segmentation fault.
« Ответ #9 : 13 Октябрь, 2019, 12:27:18 »

Тема исчерпана. Даниле спасибо.
Просто я не указывал tftp>binary
И бинарник передавался в тион в октетах ну и в заголовке файла была искажена инфа. Сейчас все работает.
Залил первые релизы. Новая сборка больше нравится.
Записан