What is Linux?
Overview of Linux
Linux is an operating system used in many devices, from supercomputers and servers to smartphones and embedded systems. It would be a long story to explain in detail, so if you want to know more about it, read here!
Who is developing the Linux kernel?
The Linux kernel, first released in 1991, was developed by Linus Torvalds by a single person, but it is now developed by over 1,500 developers. It would be a long story to explain in detail, so if you want to know more about it, you can go to read here!
Who has been writing the Linux kernel in the past year?
In a table that ranks those who have written source code to the Linux kernel over the past year, chip vendors stand out in addition to enterprise Linux distributors such as Red Hat and Novell. Chip vendors are heavily involved in the development of the product because they include drivers and other components. Comparing chip vendors with the rest of the top 20 organizations that can be identified, we see that about 80% of the chip vendors are chip vendors. Furthermore, when comparing Intel and Arm vendors, we see that about 60% of the chip vendors are in the Arm family, partly because Arm’s peripheral devices vary from vendor to vendor. (The tables and graphs in this article are based on my personal research, so if you’re curious about the detailed numbers, check them out!
|Ranks||Organization||Number of fixes||As a percentage of total|
|17||Vision Engraving & Routing Systems||687||1.0%|
What CPU does Linux run on?
It works with x86, PowerPC, MIPS, Arm, Nios II, etc. Arm works with the Cortex-A series with MMU, Arm1176, Arm926, etc. There are some implementations that work with the Cortex-M series without MMU, but it requires external memory and has many operational limitations.
What kind of places is Linux used?
IA servers, Android smartphones/tablets, digital TVs, digital cameras, printers, scanners, car navigation systems, etc.
What are the advantages of adopting Linux?
- There is a cost, development time, and quality advantage when dealing with standardized features because of the rapid response to new devices and protocol stacks.
- Since it supports many CPUs, it is easy to become a multivendor.
- It’s open source, so you won’t be locked on to an OS vendor.
- Applications can be written in Java, Python, etc. in addition to C, so engineers other than embedded systems can easily get used to it.
Let’s play with the Arm board!
As this is the first installment, I’d like to play around with Linux and the Arm board, starting up ATLAS, using the command line to press L-chica and push buttons, connecting to the network, SSH and VNC, and so on, in the video below. Sample code for the commands used in the video is below, so give it a try!
L Chica from the command line
root@atlas_sockit:~# cd /sys/class/leds/ root@atlas_sockit:/sys/class/leds# ls fpga_led0 fpga_led2 fpga_led4 fpga_led6 hps_led0 fpga_led1 fpga_led3 fpga_led5 fpga_led7 root@atlas_sockit:/sys/class/leds# cd fpga_led0/ root@atlas_sockit:/sys/class/leds/fpga_led0# ls brightness delay_on max_brightness subsystem uevent delay_off device power trigger root@atlas_sockit:/sys/class/leds/fpga_led0# echo 255 > brightness root@atlas_sockit:/sys/class/leds/fpga_led0# echo timer > trigger root@atlas_sockit:/sys/class/leds/fpga_led0#
Let’s hit the push button!
root@atlas_sockit:~# cd /sys/class/gpio/ root@atlas_sockit:/sys/class/gpio# ls export gpiochip413 gpiochip415 gpiochip419 gpiochip427 gpiochip454 gpiochip483 unexport root@atlas_sockit:/sys/class/gpio# echo 479 > export root@atlas_sockit:/sys/class/gpio# ls export gpiochip413 gpiochip419 gpiochip454 unexport gpio479 gpiochip415 gpiochip427 gpiochip483 root@atlas_sockit:/sys/class/gpio# cd gpio479/ root@atlas_sockit:/sys/class/gpio/gpio479# ls active_low device direction edge power subsystem uevent value root@atlas_sockit:/sys/class/gpio/gpio479# cat direction in root@atlas_sockit:/sys/class/gpio/gpio479# cat value 1 root@atlas_sockit:/sys/class/gpio/gpio479# cat value root@atlas_sockit:/sys/class/gpio/gpio479# cat value 1 root@atlas_sockit:/sys/class/gpio/gpio479# echo 1 > active_low root@atlas_sockit:/sys/class/gpio/gpio479# cat value root@atlas_sockit:/sys/class/gpio/gpio479# cat value 1 root@atlas_sockit:/sys/class/gpio/gpio479# cat value
Board with Cyclone V SoC from Altera
The Altera SoC integrates an Arm-based hard processor system (HPS) consisting of a processor, peripherals and memory interface with a customizable FPGA fabric in a high-bandwidth interconnector backbone. The hard IP includes PCI Express Gen2, multiple memory ports, ECC, memory protection and high-speed serial transceivers, and combines features of low performance, low power consumption and programmable logic flexibility. It significantly reduces the system board size, which previously consisted of a CPU and FPGA. In this course, the DE0-Nano-SoC Kit/Atlas-SoC Kit from Terasic will be used.
Japan Altera Corporation
The world’s most used hardware-assisted debugger, TRACE32, supports more than 70 processor architectures, not to mention Arm as well as Nios II. multicore support in SMP systems allows multiple cores to be controlled simultaneously and reference cores to be Debugging can proceed seamlessly while switching between them. Another feature is the OS recognition function that supports the debugging of Linux and other SMP-compatible operating systems as standard equipment. This allows smooth debugging of programs running in user space without worrying about which core is assigned to which task to be debugged.
Nippon Rotabacher K.K.
Introduction and Development Support Service for Embedded Linux
We provide new value to our customers’ equipment development with embedded Linux.
Fujitsu Computer Technologies Ltd.
This post is also available in: Japanese