Компилятор Linux для архитектуры CR16

Отредактируйте в качестве root / etc / sudoers и поместите следующую строку:

youruser    ALL=(ALL) NOPASSWD:ALL

после

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

Таким образом вы сможете выполнять все команды, требующие привилегий sudo, без пароля.

Чтобы использовать sudo и запрашивать пароль, необходимо удалить

NOPASSWD:ALL
3
14.03.2017, 20:12
3 ответа

Мне удалось получить набор инструментов CR16 с помощью binutils / gcc / newlib :

#!/bin/sh
TARGET=cr16-elf
BINUTILS=binutils-2.24
MPFR=mpfr-3.1.5
GMP=gmp-6.1.2
GCC=gcc-6.1.0
MPC=mpc-1.0.3
CLOOG=cloog-0.18.1
ISL=isl-0.16.1
PFXDIR=/opt/cr16
NEWLIB=newlib-2.5.0

NEED_BINUTILS=1
NEED_GCC=1
NEED_NEWLIB=1

CONFIG_OPTS="--disable-multilib --disable-shared --disable-threads --prefix=$PFXDIR --target=$TARGET --with-newlib"
MAKE_OPTS=-j4

# build binutils
rm -rf $BINUTILS binutils-build
if [ $NEED_BINUTILS ] ; then
    tar xfk $BINUTILS.tar.gz
    mkdir -p binutils-build
    cd binutils-build
    ../$BINUTILS/configure $CONFIG_OPTS
    make $MAKE_OPTS 
    make install
    cd ..
fi

# build gcc
rm -rf $MPFR $GMP $MPC $ISL $CLOG $GCC gcc-build
if [ $NEED_GCC ] ; then
    tar xfk $MPFR.tar.xz
    tar xfk $GMP.tar.xz
    tar xfk $MPC.tar.gz
    tar xfk $ISL.tar.bz2
    tar xfk $CLOOG.tar.gz
    tar xfk $GCC.tar.bz2
    mkdir -p gcc-build
    ln -sf ../$MPFR $GCC/mpfr
    ln -sf ../$GMP $GCC/gmp
    ln -sf ../$MPC $GCC/mpc
    ln -sf ../$ISL $GCC/isl
    ln -sf ../$CLOOG $GCC/cloog
    cd gcc-build
    ../$GCC/configure $CONFIG_OPTS --enable-languages=c
    make $MAKE_OPTS all-gcc
    make install-gcc
    make $MAKE_OPTS all-target-libgcc
    make install-target-libgcc
    cd ..
fi

# build newlib
rm -rf $NEWLIB newlib-build
if [ $NEED_NEWLIB ] ; then
    tar xfk $NEWLIB.tar.gz
    mkdir -p newlib-build
    cd newlib-build
    ../$NEWLIB/configure $CONFIG_OPTS
    make $MAKE_OPTS
    make install
    cd ..
fi
3
27.01.2020, 21:15

Если кто-то еще сталкивается с подобной проблемой, я также попробовал перекрестную компиляцию GCC для архитектуры cr16, используя это руководство:

http://preshing.com/20141119/how-to-build-a-gcc-cross-compiler/

К сожалению, glibc не поддерживает эту архитектуру, поэтому я также не смог собрать GCC. Похоже, на данный момент у меня нет другого решения, кроме покупки набора инструментов у такого поставщика, как IAR Systems.

1
27.01.2020, 21:15

Если кому-то все еще интересно, я успешно собрал кросс-компилятор CR16C -. Вот ссылка на мой отчет -о процессе:

https://github.com/clburrus/CR16/blob/master/CR16-dev-build-log.md

На момент написания этой статьи у меня возникла пара проблем с копированием/вставкой, но вы с этим разберетесь. (Вы увидите «> sudo make install gmp», который был перенесен из моих заметок, просто сделайте его «> sudo make install».)

Это дает вам компилятор, стандартную библиотеку+включает. Я успешно интегрировал его в Eclipse -CDT Oxygen, создал проект, скомпилировал, собрал и слинковал.

Я собираюсь работать над vhdl-реализацией CR16B, поэтому я изменю свою конфигурацию, чтобы исключить инструкции CR16C и CR16C+.

Наслаждайтесь!

1
27.01.2020, 21:15

Теги

Похожие вопросы