ЗАО «ЗЭО»

Техническая поддержка пользователей => Тион-Про28, Орион28 => Тема начата: ferex от 15 Августа, 2013, 10:55:12

Название: програмирование illegal instruction
Отправлено: ferex от 15 Августа, 2013, 10:55:12
При написании ПО для данной платы с толкнулся с проблемой, при запуске скомпилированного кода на плате выходит ошибка  illegal instruction.
та же программа скомпилированная под i86 работает правильно. На плате стоит прошивка с завода.
Эта ошибка вышла после того как я убрал некоторые warning в исходном коде(((
Подскажите где копать??

makefile прилагаю


all: sqlite_o  db_io_o  srv1_thrd_o   data_io_o sock_io_o srv1_arm

CROSS_COMPILE= arm-fsl-linux-gnueabi-
#CC=gcc
CC= $(CROSS_COMPILE)gcc
CCFLAGS=-Wall  -ansi  -static -g -O1
CLEAN=rm -f
PROGRAM_NAME=srv1_arm
OBJECT_FILES=sqlite3.o db_io.o xb_io.o srv2.o sock_io.o data_io.o
#SOURCE_FILES=print_up.c main.c
STD_LIBS= -lm -lrt -lpthread

$(PROGRAM_NAME): $(OBJECT_FILES)
$(CC) $(CCFLAGS)  $(OBJECT_FILES) ./lib/libxbee.o -o $@   $(STD_LIBS)


sqlite_o: sqlite3.c
$(CC) $(CCFLAGS) -DSQLITE_OMIT_LOAD_EXTENSION -c  $^

xb_io_o: xb_io.c
$(CC) $(CCFLAGS) -c $^

srv1_thrd_o: srv2.c
$(CC) $(CCFLAGS) -c $^

data_io_o: data_io.c
$(CC) $(CCFLAGS) -c $^

sock_io_o: sock_io.c
$(CC) $(CCFLAGS) -c $^

db_io_o: db_io.c
$(CC) $(CCFLAGS) -c $^

clean:
$(CLEAN) *.o $(PROGRAM_NAME)
Название: Re: програмирование illegal instruction
Отправлено: Danila от 16 Августа, 2013, 12:52:54
Ошибка может возникать при попытке перехода по адресу несуществующей функции.

1. Попробуйте собрать нашим компилятором. Возможно проблема в совместимости библиотек.
2. Верните warning на место.
Название: Re: програмирование illegal instruction
Отправлено: ferex от 17 Августа, 2013, 09:48:16
пока проблему не решил, только снес работающий образ на sd карте((
рекомендуемые вами компиляторы скачал и запустил
возможно ли в make файле явно указать тип процессора? и какой тип указвать для imx287