3

I have a system that is using a older core, CR16Plus that was made by National Semiconductor, which is now TI.

Unfortunately, TI no longer offers support, or tools, for this processor. I'm trying to find someplace where I can download the tools for Linux.

I've searched online and the only solution I've currently found is to purchase an IDE (which I don't need) from a few vendors like IAR Systems.

Does anyone have a copy or link for the CR16 Development Toolset aka CompactRISC Development Toolset, or maybe information on old/independent National Semiconductor forums? The actual file was released as:

cr16_4.2_linux.tar.gz

I'm hoping some forum, hobbyist, etc. has the tools available or knows where to find them, a reach but I'm in a bind, so worth a shot.

Thanks!

3

I was able to get the CR16 toolchain using 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
  • I'm going to try this out and accept it if it works, thanks! – sbtkd85 Jun 26 '17 at 20:40
1

If anyone else runs into a similar issue, I also tried cross-compiling GCC for cr16 architecture using this guide:

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

Unfortunately glibc doesn't support that architecture, so I wasn't able to build GCC either. Looks like for now I have no solution other than purchasing a toolset from a vendor like IAR Systems.

1

If anyone is still interested, I've successfully built the CR16C targeted cross-compiler. Here's a link to my write-up of the process :

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

As of this writing, I've got a couple copy/paste issues with it, but you'll figure it out. (You'll see "> sudo make install gmp" which was a carry over from my notes, just make it "> sudo make install".)

It gets you the compiler, the standard library+includes. I've successfully integrated it into Eclipse-CDT Oxygen, created a project, compiled, assembled and linked.

I'm going to work on doing a vhdl implementation of the CR16B, so I'll be modifying my configuration to ditch the CR16C and CR16C+ instructions.

Enjoy!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.