我的系统使用的是较旧的内核 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+ 指令。
享受!