CR16架构的Linux编译器

CR16架构的Linux编译器

我的系统使用的是较旧的内核 CR16Plus,该内核由 National Semiconductor(现为 TI)制造。

不幸的是,TI 不再为该处理器提供支持或工具。我正在寻找可以下载 Linux 工具的地方。

我在网上搜索过,目前找到的唯一解决方案是从一些供应商那里购买 IDE(我不需要),例如IAR系统公司

有谁有该文件的副本或链接吗CR16 开发工具集又名CompactRISC 开发工具集,或者可能是旧/独立国家半导体论坛上的信息?实际文件发布为:

cr16_4.2_linux.tar.gz

我希望某个论坛、爱好者等有可用的工具或知道在哪里可以找到它们,虽然我很困难,但值得一试。

谢谢!

答案1

我能够使用以下命令获取 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

答案2

如果其他人遇到类似的问题,我还尝试使用本指南针对 cr16 架构交叉编译 GCC:

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

不幸的是 glibc 不支持该架构,所以我也无法构建 GCC。看起来现在我除了从 IAR Systems 这样的供应商那里购买工具集之外没有其他解决方案。

答案3

如果有人仍然感兴趣,我已经成功构建了 CR16C 目标交叉编译器。这是我写的该过程的链接:

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

在撰写本文时,我遇到了一些复制/粘贴问题,但您会解决的。 (你会看到“> sudo make install gmp”,这是我的笔记中的一个,只需让它“> sudo make install”。)

它为您提供编译器、标准库+包含内容。我已成功将其集成到 Eclipse-CDT Oxygen 中,创建了一个项目,并进行了编译、组装和链接。

我将致力于 CR16B 的 vhdl 实现,因此我将修改我的配置以放弃 CR16C 和 CR16C+ 指令。

享受!

相关内容