Keywords: ARM architecture X86 architecture industrial control motherboard development and design Android (Android) system Linux WinCE
After the launch of Google's Android system and Apple's iPad and iPhone, ARM-based computer systems (especially terminal applications) have been widely supported and sought after by users, ARM + android has become the hottest topi
analysis of embedded Linux interview (I.)--ARM Part II 1. describe how the embedded ROM-based operation is based on RAM What is the difference between the operating mode. RAM-based operation: the hard disk and other media need to be loaded into the RAM, loading process generally has relocation operations;Rom based: no above operation.ROM-based: Slower than ram-based, because there will be a variable, part of the code, such as moving from memory (hard
carefully coded to be position independent.TextaddrThe kernel-initiated virtual address, which corresponds to the zreladdr. A generic kernel-initiated virtual address is the first bank address of RAM plus 0x8000.TEXTADDR = Page_offset + textoffstVirtual start address of kernel, normally Page_offset + 0x8000. This is where the kernel image ends up. With the latest kernels, it must is located at 32768 bytes to a 128MB region. Previous Kernels placed a restriction of 256MB here.TextoffsetThe kerne
The functions of the Arm-linux tool are as follows:
Arm-linux-addr2lineConverts the program address to the file name and line number. Give it an address and an executable file name on the command line, and it uses the debug information of the executable file to indicate which file and line number is on the given address. Arm-linux-arCreate, modify and extract arc
The paper is recorded in the Linux environment with the cross-tool chain to develop arm bare metal programs encountered some problems and solutions, mainly to solve the problem of the process and a number of small experience, small skills recorded. Now, some of the things that feel a bit of value are moved to the blog for readers ' reference.
-----------------12.16-----------------
22:25Compiling a bare-metal program using a cross-tool chain require
1. Download the Cross compilerftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/Select cross-3.2.tar.bz2 or cross-3.2.tar.gz (I choose cross-3.2.tar.gz here)arm-linux-gcc-3.4.1.tar.bz2http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
2. Unpack the package installationPut the cross-3.2.tar.gz in/below directly unpack (because cross-3.2.tar.gz package itself unpack the directory
I. Development Environment
Operating System: fedora14
Opencv version: 2.0
Qt version: 4.7
Arm: mini6410
Cross-compilation tool: arm-linux-gcc-4.5.1
Ii. installation and configuration
The installation of the Linux system, the installation of cross QT-creator, and the installation of cross-compilation tools are basically no problem on the Internet, and can be used after testing. Here QT-creator installation
First, integrated development environmentSoftware section: Eclipse, GDB Server, Jlink softwareHardware section: Jlink HardwareGetting Started 1: Starting from Sd/nor Flash, formatting NAND flashPreparing for Work 2: Hardware connection
1. Jlink Connection
2. Serial Connection
3. NAND boot
ii. installation of gdb Server
Decompression: Tar xvzf arm-linux-gdb-7.5.tar.gz
Access directory:
First step: Install JRE and EclipseFor detailed steps please refer to: http://blog.csdn.net/ex_net/article/details/7251664Step Two: Install ARM-LINUX-GCC and arm-linux-g++(1) Copy the arm-linux-gcc-4.3.2.tgz to the/home/tools directory, then unzip to the root directory/# TAR-XVZF Arm-linux-gcc-4.3.2.tgz-c/(2) Modifying
For the core in arm, how to set the dividing line of high and low memory at startup (also the logical address and virtual address boundary (virtual address) minus that fixed offset), here I slightly boot (kernel analysis using Linux-3.0):First locate the file that sets the starting location of the kernel virtual address (that is, the address at the end of the kernel logical address): Init.c (arch\arm\mm), t
If you are a student of electronic communication or are engaged in embedded electronic communication work engineer, assistant engineer, intern, handyman, I think you have a complex fear of the assembly, and even this fear is the University of learning "microcomputer technology" began. But for the author's superficial work experience, it seems that if you can master or step back and understand the assembly, then you can enjoy the fun as a hardware programmer at the bottom. Imagine using the assem
Compile C as a running file for arm instructions/usr/bin/arm-linux-gnueabi-g++ Hello.cppCat Hello.cpp #include Execute the error directly. Because host is a Linux x86$./a.out-bash:./a.out:cannot Execute binary fileNeed to be executed with qemu-arm, the result is expectedQemu-arm-l/usr/
Cortex-A series Processor
Arm cortex-a series of application processors for complex operating systems and user applications. The cortex-A series Processors support arm, thumb, and thumb-2 instruction sets.
Arm Cortex-A9 ProcessorIt is a high-performance, low-energy arm macro unit with a L1 high-speed cache subsystem
The cross-compilation toolchain is designed to compile, link, process, and debug program code for cross-platform architectures in which the operating system, applications, and so on embedded Linux systems are compiled and uploaded to the target board.First of all to clarify the difference between GCC and ARM-LINUX-GCC, GCC is the C language compiler of the x86 architecture, the compiled program is executed locally, and
1, Toolchain Introduction
Toolchain contains many parts: one of the main is GCC, which can be a native compilation tool or a cross compilation tool, GCC is supported by the Binuitls tool, and Binutils is a binary code maintenance tool, which is a necessary tool for compiling programs, At the same time they also need C library (GLIBC) support. Seriously consider: Customizing a set of compiler tools is not an easy thing to imagine! If you want to keep looking, you must have the following skills:
This article was reproduced from: http://blog.csdn.net/zqixiao_09/article/details/52540887In the arm platform to implement the 4G module PPP dial-up Internet access, reference information on the Internet and their own understanding, from the ignorance to the development of the completion of more than a week. Finally see the arm board Ping Pass Www.baidu.com is very happy, now this process is organized as fo
Install the Basic Development packroot@ubuntu:~# apt-get update apt-get install-y build-essential Bison Flex Manpages-devroot@ubuntu:~# echo $?0
Install ARM-LINUX-GCCDecompression arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 from Vedon teaching CDTar XF arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2
Install sudo apt-get install Lsb-coreOtherwise, no such file or directory m
It's been a long day and it's finally done.
Ubuntu does not have root permissions, just started with a lot of trouble, check a lot of information, finally Arm-linux-gcc:command not found problem solved.
Problem:
sudo tar jxvfcross-2.95.3.tar.bz2Exportpath= $PATH:/usr/local/arm/2.95.3/binUsing Arm-linux-gcc–v to check for cross-compiler installation s
ARM MMU page table frame
First on the arm MMU of the page table structure of the general block diagram (the following discussion is gradually expanded by the diagram):
The above is arm's page diagram of the typical structure: that is, the two-level page table structure:
where the First Level page table (L1) is made up of 12bit (Bits[31:20]) of the virtual address, the first Level page table has 4,096 item,
Compile C as an executable file for arm instructions/usr/bin/arm-linux-gnueabi-g++ Hello.cppCat Hello.cpp #include Run an error directly, because host is a Linux x86$./a.out-bash:./a.out:cannot Execute binary fileNeed to run with qemu-arm, the result is expectedQemu-arm-l/usr/arm
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.