Today I used crosstool to create an arm-linux cross-compilation toolchain

Publisher:数据之翼Latest update time:2016-06-17 Source: eefocusKeywords:crosstool  arm  linux  toolchain Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
Today I used crosstool to create an arm-linux cross-compilation toolchain, and successfully compiled and ran u-boot-1.3.0.
Learn about crosstool at http://www.kegel.com/crosstool/.
The cross-compilation toolchain version to be created is 3.3.2.
The specific steps are as follows:
Download crosstool-0.43.tar.gz
mkdir /home/wxm/crosstool
cp crosstool-0.43.tar.gz /home/wxm/crosstool
cd /home/wxm/crosstool
tar -jxvf crosstool-0.43.tar.gz
mkdir downloadsDownload
source package:
binutils-2.15.tar.bz2
gcc-3.3.2.tar.gz
glibc-2.3.2.tar.gz
glibc-linuxthreads-2.3.2.tar.gz
linux-2.6.9.tar.bz2Copy
to /home/wxm/crosstool/downloadsModify
arm.dat
KERNELCONFIG=`pwd`/arm.config
TARGET=arm-linux
TARGET_CFLAGS="-O"
Modify demo-arm.sh:             
#!/bin/sh
# This script has one line for each known working toolchain
# for this architecture. Uncomment the one you want.
# Generated by generate-demo.pl from buildlogs/all.dats.txt
set -ex
TARBALLS_DIR=/home/wxm/crosstool/downloads #Downloaded source package storage path
RESULT_TOP=/home/wxm/crosstool/install #Cross-compilation tool to install the path
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++"
export GCC_LANGUAGES
# Really, you should do the mkdir before running this,
# and chown /opt/crosstool to yourself so you don't need to run as root.
mkdir -p $RESULT_TOP
#eval `cat arm.dat gcc-2.95.3-glibc-2.1.3.dat` sh all.sh --notest
#eval `cat arm.dat gcc-2.95.3-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-2.95.3-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.2.3-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3 .2.3-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.2.3-glibc-2.3.2-tls.dat` sh all.sh --notest #eval
`cat arm.dat gcc-3.3.6-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.3.6-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.3.6-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.3.6-glibc-2.3.2-tls.dat` sh all.sh --notest #eval
`cat arm.dat gcc- 3.4.5-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.2.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-3.4.5-glibc-2.3.5-tls.dat` sh all.sh --notest #eval
`cat arm.dat gcc-3.4.5-glibc-2.3.6.dat` sh all.sh --notest #eval `
cat arm.dat gcc-3.4.5-glibc-2.3.6-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.2-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.5.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.5-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.6.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.0.2-glibc-2.3.6-tls.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.1.0-glibc-2.2.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.1.0-glibc-2.3.2.dat` sh all.sh --notest
#eval `cat arm.dat gcc-4.1.0-glibc-2.3.2-tls.dat` sh all.sh --notest  #注释
eval `cat arm.dat gcc-3.3.2-glibc-2.3.2.dat` sh all.sh --notest     #添加此行
echo Done.
修改gcc-3.3.2-glibc-2.3.2.dat
BINUTILS_DIR=binutils-2.15
GCC_DIR=gcc-3.3.2
GLIBC_DIR=glibc-2.3.2
LINUX_DIR=linux-2.6.9
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.2
执行./demo-arm.sh
Keywords:crosstool  arm  linux  toolchain Reference address:Today I used crosstool to create an arm-linux cross-compilation toolchain

Previous article:Installation of arm linux cross-compilation tool
Next article:arm embedded cross-compilation toolchain

Recommended ReadingLatest update time:2024-11-22 20:14

How to design and compile software in an energy-efficient way on the ARM platform
    Abstract: With all the emphasis on battery life in portable devices, it seems odd that so few software engineers actually do anything to reduce energy consumption in their daily project tasks. I guess those who do think about this topic probably do so out of honor or shame. It's time to make some changes. As the c
[Microcontroller]
How to design and compile software in an energy-efficient way on the ARM platform
OK6410A Development Board (VIII) 76 linux-5.11 OK6410A Implementation of linux kernel synchronization mechanism sequence lock
accomplish Acquire Lock write_seqlock include/linux/seqlock.h write_seqlock spin_lock do_write_seqcount_begin read_seqbegin read_seqbegin ... read_seqretry ...
[Microcontroller]
Transplantation Method of Linux to Target System AT91RM9200 and Analysis of Application Advantages
1 Introduction At present, embedded processors based on ARM micro-cores have become the mainstream of the market with their advantages of low power consumption and powerful functions. At the same time, the Linux operating system developed on the Internet is becoming more and more popular with its powerful functions, o
[Microcontroller]
Transplantation Method of Linux to Target System AT91RM9200 and Analysis of Application Advantages
Design and Research of Brain Blood Oxygen Monitor
This paper introduces the design and implementation of ARM-based cerebral blood oxygen monitor software. The software collects cerebral blood oxygen information by controlling the probe and sends the information to the terminal wirelessly. The terminal processes and displays the received information and stores the p
[Test Measurement]
Design and Research of Brain Blood Oxygen Monitor
Design of embedded gateway based on S3C2410 microprocessor and Linux
An embedded Ethernet design scheme based on ARM9 is introduced. Based on the functional characteristics of ARM core microprocessor S3C2410 and its external expansion components, the performance of the Ethernet controller chip RTL8019AS and the interface with S3C2410 are analyzed. In terms of software design, the funct
[Microcontroller]
Design of embedded gateway based on S3C2410 microprocessor and Linux
Azure ARM (17) Role-based access control - Custom Role
  In the above blog, the author introduced how to set the default role in RBAC.   Here I will introduce how to use custom Role.   The main contents are:   1. Understand Action and NotAction in Role   2. View the corresponding Action through PowerShell   3. Edit json Template and customize Role   4. Set the
[Microcontroller]
Azure ARM (17) Role-based access control - Custom Role
Design of home monitoring system based on embedded Linux
   1 System Process Architecture   The operating system platform of this system is Linux, with the kernel version of 2.6. The target board includes video acquisition, GPRS module and controller S3C2440. The controller is mainly responsible for providing image data to customers for display and back-end services. The v
[Power Management]
Research and transplantation of embedded GUI based on ARM LINUX
introduction What is an Embedded System Embedded systems generally refer to devices or equipment that use embedded microprocessors as their core, which are different from PC systems and have some of the functions of computers but are not called computers. They are mainly for application purposes, integrati
[Microcontroller]
Research and transplantation of embedded GUI based on ARM LINUX
Latest Microcontroller Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号