Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What is the difference between Linux On ARM development and X86?

2025-03-31 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/02 Report--

This article will explain in detail what is the difference between Linux On ARM development and X86, the content of the article is of high quality, so the editor will share it with you for reference. I hope you will have some understanding of the relevant knowledge after reading this article.

There are still many differences between the development of ARM and X86. Here are some simple introductions to facilitate developers under X86 to switch to the Linux on ARM system more quickly.

ARM has been booming in recent years, with Apple and Android being the fastest drivers. Now Windows also supports ARM, while smaller raspberry pies and some ultra-low-power modules also have ARM kernels.

Although Microsoft can't stand loneliness, most devices that use ARM are still Linux or Linux-like kernels, because Linux is very tailored and has a lot of resources available. Under the guidance of the idea of "software-defined world", Linux on ARM will be the major trend in the future.

The difference between Linux on ARM and X86 system is that the concept of "device" is adopted. "BIOS under X86" can be burned on its own (that is, when the inspiration is revealed, press the burn key to reduce the boot area to the designated area of Flash, this address cannot be changed on a given board). This is called boot-loader, which is commonly used as u-boot. Of course, because u-boot is open source, there are a lot of variations, but they are basically the same.

After boot-loader starts, it jumps to the next address and starts loading the Linux kernel, the most important of which is the file system. With the file system, you no longer have to read and write the naked sectors of the Flash, but manipulate the data files through the file system. Then there will be a command-line interface where a Mini Program called Busy-box packages some commonly used commands together to make them easier to use, smaller and faster. At this time, I can do almost everything I can do under shell. Remote management can be achieved through ssh.

If you want to enter the graphical interface, you need to run an X11 Server program, you can also install xrdp services, and then log in and manage through "remote Desktop", just like running an ordinary Linux desktop device. Because the power consumption and calorific value of ARM are relatively small, and even most of them do not need fan heat dissipation and complete mute, it is very suitable for the development of various devices. In the future, all kinds of smart devices may look like this, which is actually a computer running Linux.

Since it is a Linux computer, it is easy to develop software. But wait a minute! Because the performance of ARM equipment is still low, it is generally not suitable to run IDE for code editing, compilation, packaging and other work, so generally build a "cross-compilation environment" on the PC, compile the program, type it into a binary package, and then burn it into it. For example, Android's ADK is a set of tools that can be edited, debugged, compiled, packaged, and so on. OpenWRT is a different way of thinking, you can directly compile multiple versions of ipk files on X86, and then download and install them through the package manager (Android now has an X86 version).

Of course, this step is a bit troublesome. Many awesome people directly run Python or LUA or JavaScript scripts, which can be run directly on all platforms, and now ARM Cortex M0-based scripting engines have come out (completely open source, but still in development, some functions can not be fully invoked), such as NodeMCU, MicroPython, and so on.

But to get exactly the same results on embedded devices, there is nothing wrong with the command line, and the graphical interface takes a bit of effort. This can be done through an engine that supports HTML5 (this has become commonplace, such as nodejs/PhoneGap/Kendo/React, etc.).

Ubuntu Touch performs similar functions through QML, which is encapsulated by QT, and can mix HTML and local API calls, regardless of display effect and consistency.

If it is mainly local display, you can also directly use QT or Pyqt for development. You can use the same set of code to support application development and operation from clock to workstation and cluster level (different CPU and Linux kernel versions need to be recompiled. If CPU and kernel are the same, they are binary compatible).

So much for sharing what is the difference between Linux On ARM development and X86. I hope the above content can be helpful to you and learn more. If you think the article is good, you can share it for more people to see.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report