Можно включить UTF8 по умолчанию с эти -C
флаг:
perl -CSD -ne 'print join("\n",split //);' utf8.txt
переключатель -CSD
включает UTF8 безусловно; если Вы будете использовать просто -C
, то это включит UTF8, только если соответствующие переменные среды (LC_ALL
, LC_TYPE
и LANG
) указывают так. См. perlrun для деталей.
Это не рекомендуется, если Вы не вызываете жемчуг непосредственно (в частности, он не мог бы работать надежно при передаче опций жемчугу от строки хижины). См. другие ответы в этом случае.
Поскольку этот ответ стал немного "нечитаемым", Я создал страницу с этой информацией.
Это свободная интерпретация, основанная на этих двух руководствах, но мне пришлось изменить версии и применить несколько патчей, чтобы заставить его работать.
sudo apt-get install flex bison libgmp3-dev libmpfr-dev autoconf texinfo build-essential
Затем я создал место для хранения цепочки инструментов (замените cj.users на то, что вам подходит).
export TOOLPATH=/usr/local/cross-cortex-m3
sudo mkdir /usr/local/cross-cortex-m3
sudo chown cj.users /usr/local/cross-cortex-m3
wget http://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.bz2
tar -xvjf binutils-2.19.tar.bz2
cd binutils-2.19
mkdir build
cd build
../configure --target=arm-none-eabi --prefix=$TOOLPATH --enable-interwork --enable-multilib --with-gnu-as --with-gnu-ld --disable-nls
Примените патч к tc-arm.c в соответствии с этой информацией http://sourceware.org/bugzilla/show_bug.cgi?id=7026 / http: // sourceware. org / bugzilla / attachment.cgi? id = 3058 &action = view
vi ../gas/config/tc-arm.c
make
make install
export PATH=${TOOLPATH}/bin:$PATH
cd ../..
wget ftp://ftp.sunet.se/pub/gnu/gcc/releases/gcc-4.3.4/gcc-4.3.4.tar.bz2
tar -xvjf gcc-4.3.4.tar.bz2
cd gcc-4.3.4
mkdir build
cd build
../configure --target=arm-none-eabi --prefix=$TOOLPATH --enable-interwork --enable-multilib --enable-languages="c,c++" --with-newlib --without-headers --disable-shared --with-gnu-as --with-gnu-ld
make all-gcc
make install-gcc
cd ../..
wget ftp://sources.redhat.com/pub/newlib/newlib-1.17.0.tar.gz
wget http://www.esden.net/content/embedded/newlib-1.14.0-missing-makeinfo.patch
tar -xvzf newlib-1.17.0.tar.gz
cd newlib-1.17.0
Тогда я хотел бы применить патч с чем-то вроде этого (но это не сработало)
patch -p1 -i ../newlib-1.14.0-missing-makeinfo.patch
Итак, я открыл его вручную и отредактировал строку 6651 в соответствии с патчем.
vi configure
mkdir build
cd build
../configure --target=arm-none-eabi --prefix=$TOOLPATH --enable-interwork --disable-newlib-supplied-syscalls --with-gnu-ld --with-gnu-as --disable-shared
make CFLAGS_FOR_TARGET="-ffunction-sections -fdata-sections -DPREFER_SIZE_OVER_SPEED -D__OPTIMIZE_SIZE__ -Os -fomit-frame-pointer -mcpu=cortex-m3 -mthumb -D__thumb2__ -D__BUFSIZ__=256" CCASFLAGS="-mcpu=cortex-m3 -mthumb -D__thumb2__"
make install
cd ../..
cd gcc-4.3.4/build
make CFLAGS="-mcpu=cortex-m3 -mthumb" CXXFLAGS="-mcpu=cortex-m3 -mthumb" LIBCXXFLAGS="-mcpu=cortex-m3 -mthumb" all
make install
Я просто добавил несколько путей в свой ~ / .bashrc
#STM32 gcc...
export TOOLPATH=/usr/local/cross-cortex-m3
export PATH=${TOOLPATH}/bin:$PATH
И я должен быть готов к следующему шагу ...