Development Environment for Embedded Systems

Source: Internet
Author: User
The cross-compilation and debugging environment is built on the host machine (that is, your computer), and the Development Board is called the target board. It is a very troublesome process to manually create a cross-compiling environment for a specific target board. Some may ask, why do we need to create a specific environment and download a common one from the Internet? Since it is very troublesome, is there a simple method? If there is a simple method, isn't it manual? The following is a detailed introduction.
The Linux kernel must be compiled using GNU gcc instead of any C compiler. GCC does not extend C, which makes C more suitable for operating system kernel development. The Linux kernel has a very close relationship with the compiler, and even different versions of the kernel need to use different versions of the GCC compiler. For example, if the target board uses an arm-core processor, a specific version of arm-Linux-GCC is required.
Not only Linux kernel, but also cross-GCC compiler is required for compiling Linux applications. It depends on the operating system of the host machine. Therefore, to build a cross-compilation system for an embedded platform, we usually build the target code on the PC to compile the toolchains of the target board platform ), it can compile and process linux kernels and applications. Generally, the source code of the following tools is required: binutils, GCC, glibc-linuxthreads, and Linux kernel source code.
In view of the trouble of manually configuring these tool chains, many embedded development board manufacturers provide scripts for creating the cross-compilation environment or Linux virtual machine files that have already configured the cross-compilation environment, you only need to run such a script or use existing virtual machine files to build the entire environment. In addition, the use of crosstool (a tool specifically used to compile a tool chain) can simplify the workload in a large program.
The following describes the content and related software of these tool chains in detail:
(1) binutils
A set of compilation and development tools, including connectors, compilers, and other tools for target files and files.
(2) GCC
GCC (GNU Compiler Collection) is an advanced language compiler in Linux. It not only supports C/C ++ compilation, but also supports programming languages such as Fortran, Java, and Ada.
(3) glibc
Provides C libraries for system calls and basic functions, such as open, malloc, and printf. All C Programs on Linux must be connected to the glibc library during compilation. If it is a dynamically connected program, you also need to use it during runtime.
(4) glibc-linuxthreads
POSIX (portable operating system interface, which can be transplanted to the operating system interface) thread library.
(5) Linux kernel source code and patch packages for a specific P Platform
Select the appropriate Linux kernel version based on the project requirements. In addition, there are usually specific patches for different CPU types. Before kernel compilation, you must patch the Linux kernel first.
As for manual tool chain configuration, the process is troublesome. For more information, see the book I recommended on page 1.

Development Environment for Embedded Systems

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.