| Peer-Reviewed

Design on Linux Platform Driver for Embedded Systems

Received: 11 February 2022    Accepted: 4 March 2022    Published: 12 March 2022
Views:       Downloads:
Abstract

In the development of embedded systems, driver design is one of its core technologies. In the driver design, Linux driver occupies an important position. For the design of Linux driver, platform model is an important driver design method which is introduced after Linux 2.6. This paper first introduces the driving principle and architecture of Linux platform model, and describes the device, driver and device registration and unloading of the platform model in detail. Then, the driver code of watchdog platform in Linux kernel is analyzed. Finally, taking the embedded development environment tiny4412 as an example, a driver design example of Linux platform is given. The platform driver architecture has the characteristics of reusing framework code, strong independence of device resources and drivers, simple code, unified kernel interface, easy maintenance and expansion. In the development of specific drivers, we only need to focus on keeping the underlying device operation function set corresponding one by one with the kernel interface provided by the driver structure, and ensuring device.name and driver.name consistent, and making the platform device registered in the kernel space before the platform driver, which can make the driver run well and stably, greatly reduce the work intensity and shorten the development time of new products. Compared with the traditional device driver mechanism, the Linux platform driver mechanism registers the resources of the device into the kernel which is managed by the kernel, and driver uses these resources by applying standard interface provided by platform_device, which improves the independence of driver and resource management, and has better portability and security. The developing test shows that the driver based on this architecture has good portability, maintainability and scalability.

Published in American Journal of Embedded Systems and Applications (Volume 9, Issue 1)
DOI 10.11648/j.ajesa.20220901.11
Page(s) 1-5
Creative Commons

This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited.

Copyright

Copyright © The Author(s), 2024. Published by Science Publishing Group

Keywords

Linux Platform Driver, Embedded System, Ttiny4412

References
[1] REN Yan-Yan, ZHAI Gao—Shou, ZHANG Jun-Hong, Automatic Updating and Auxiliary Tools of Linux Device Drivers Computer Systems & Applications, 2018, 27 (7), pp. 211-218.
[2] Marco Pagani, Alessandro Biondi, Mauro Marinoni, Lorenzo Molinari, Giuseppe Lipari, Giorgio Buttazzo, A Linux-based support for developing real-time applications on heterogeneous platforms with dynamic FPGA reconfiguration, Future Generation Computer Systems 129 (2022) 125–140.
[3] Milorad Papi´c, Zlatko Bundalo, Dušanka Bundalo, Radovan Stojanovi´c, Živorad Kovaˇcevi´c, Dražen Pašali´c, Branimir Cviji´c, Microcomputer based embedded SCADA and RFID systems implemented on LINUX platform, Microprocessors and Microsystems 63 (2018) 116–127.
[4] Jasleen Kaur and SRN Reddy, Implementation of Linux Optimization Technique for ARM Based System on Chip, Procedia Computer Science 171 (2020) 1780–1789.
[5] Cuong V. Nguyen, Truong Le Quang, Trung Nguyen Vu, Hoi Le Thi, Kinh Nguyen Van, Thanh Han Trong, Tuan Do Trong, Guanghao Sun, Koichiro Ishibashi, A non-contact infection screening system using medical radar and Linux-embedded FPGA: Implementation and preliminary validation, Informatics in Medicine Unlocked 16 (2019) 100225.
[6] Zhang Shilin, Development of serial port custom keyboard driver based on Embedded Linux, Information Communication, 2019, Sum. No 204, pp. 291-292.
[7] Zhao Xin, Guo Enquan, Li Xiaojie, Design and Implementation of GPIB Driver Optimal in LINUX System, Computer measurement and control, 2020, 28 (3), pp. 163-167.
[8] Chen Mengtong, Wei Feng, Yang Bingjian, Driver Design of PCI Synchronous Clock Card Under Linux Computer measurement and control, Vol. 26, 2018, 26 (1), pp. 145-148.
[9] SHI Xiao-Yan, ZHU Jian-Hong, Realization of Baud Rate Adaptive CAN Driver Under Embedded LinuxComputer Systems & Applications, 2018, 27 (1), pp. 231-234.
[10] ZHANG Tuo-zhi, KONG De-qi, ZHU En-liang, LI Xiao-dong, HI3210 Driver Software Design and Realize Based on Embeded Linux System, Aeronautical Computing Technique May 2019, Vol. 49, No. 3, pp. 99-102.
[11] Gao Jie, Research on USB Card Driver Based on Embedded Linux Microcontrollers & Embedded Systems 2018, 9, pp. 3-8.
[12] ZHAO Ming, Design and Implementation of NC System Based on Embedded Linux, Microcomputer Applications Vol. 35, No. 9, 2019, pp. 12-13, 25.
[13] Zhu Kun, Bai Pengfei, Li Hui, Wang Maochun, Zhou Guofu, Device Driver Design Based on Three-axis Acceleration Sensor in Linux Microcontrollers & Embedded Systems, 2020, 6, pp. 24-29.
[14] Zhou Derong, Xia ling, Research and application of Implementation mechanism of Linux platform driver architecture, Journal of Chifeng University (Natural Science Edition) Oct. 2010, Vol. 26, No. 10, pp. 28-30.
[15] ZHAO Jie, GONG Wei, Framebuffer Driver Based on Embedded Linux, Application of computer system, 2010, Vol. 19, 12, pp. 208-211.
[16] ZHAO Bo, GAO Zhenxiangzi, Xiang Boyang, YU Zhongde, Analysis and implementation Linux platform driver framework, Journal of Dalian Polytechnic University, Vol. 32, No. 1, Jan, 3013, pp. 71-74.
[17] Wang Xiaojun, Wang xin, Li Yuying, Design and application of platform driver based on Embedded Linux, Science and technology wind September 2018 pp. 1, 9.
[18] Huang Xiangping, Yu Shuibao, Xia Can, LCD driver module based on S3C6410 platform of embedded Linux Microcomputer and its application, 2013, Vol. 32, 12, pp. 9-12, 16.
[19] Guo Xiaomei, Embedded Linux Power Detect Driver Development in Portable Device, Microcontrollers & Embedded Systems, 2011, 5, pp. 78-81.
Cite This Article
  • APA Style

    Mei Rifei, Xiao Laisheng. (2022). Design on Linux Platform Driver for Embedded Systems. American Journal of Embedded Systems and Applications, 9(1), 1-5. https://doi.org/10.11648/j.ajesa.20220901.11

    Copy | Download

    ACS Style

    Mei Rifei; Xiao Laisheng. Design on Linux Platform Driver for Embedded Systems. Am. J. Embed. Syst. Appl. 2022, 9(1), 1-5. doi: 10.11648/j.ajesa.20220901.11

    Copy | Download

    AMA Style

    Mei Rifei, Xiao Laisheng. Design on Linux Platform Driver for Embedded Systems. Am J Embed Syst Appl. 2022;9(1):1-5. doi: 10.11648/j.ajesa.20220901.11

    Copy | Download

  • @article{10.11648/j.ajesa.20220901.11,
      author = {Mei Rifei and Xiao Laisheng},
      title = {Design on Linux Platform Driver for Embedded Systems},
      journal = {American Journal of Embedded Systems and Applications},
      volume = {9},
      number = {1},
      pages = {1-5},
      doi = {10.11648/j.ajesa.20220901.11},
      url = {https://doi.org/10.11648/j.ajesa.20220901.11},
      eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.ajesa.20220901.11},
      abstract = {In the development of embedded systems, driver design is one of its core technologies. In the driver design, Linux driver occupies an important position. For the design of Linux driver, platform model is an important driver design method which is introduced after Linux 2.6. This paper first introduces the driving principle and architecture of Linux platform model, and describes the device, driver and device registration and unloading of the platform model in detail. Then, the driver code of watchdog platform in Linux kernel is analyzed. Finally, taking the embedded development environment tiny4412 as an example, a driver design example of Linux platform is given. The platform driver architecture has the characteristics of reusing framework code, strong independence of device resources and drivers, simple code, unified kernel interface, easy maintenance and expansion. In the development of specific drivers, we only need to focus on keeping the underlying device operation function set corresponding one by one with the kernel interface provided by the driver structure, and ensuring device.name and driver.name consistent, and making the platform device registered in the kernel space before the platform driver, which can make the driver run well and stably, greatly reduce the work intensity and shorten the development time of new products. Compared with the traditional device driver mechanism, the Linux platform driver mechanism registers the resources of the device into the kernel which is managed by the kernel, and driver uses these resources by applying standard interface provided by platform_device, which improves the independence of driver and resource management, and has better portability and security. The developing test shows that the driver based on this architecture has good portability, maintainability and scalability.},
     year = {2022}
    }
    

    Copy | Download

  • TY  - JOUR
    T1  - Design on Linux Platform Driver for Embedded Systems
    AU  - Mei Rifei
    AU  - Xiao Laisheng
    Y1  - 2022/03/12
    PY  - 2022
    N1  - https://doi.org/10.11648/j.ajesa.20220901.11
    DO  - 10.11648/j.ajesa.20220901.11
    T2  - American Journal of Embedded Systems and Applications
    JF  - American Journal of Embedded Systems and Applications
    JO  - American Journal of Embedded Systems and Applications
    SP  - 1
    EP  - 5
    PB  - Science Publishing Group
    SN  - 2376-6085
    UR  - https://doi.org/10.11648/j.ajesa.20220901.11
    AB  - In the development of embedded systems, driver design is one of its core technologies. In the driver design, Linux driver occupies an important position. For the design of Linux driver, platform model is an important driver design method which is introduced after Linux 2.6. This paper first introduces the driving principle and architecture of Linux platform model, and describes the device, driver and device registration and unloading of the platform model in detail. Then, the driver code of watchdog platform in Linux kernel is analyzed. Finally, taking the embedded development environment tiny4412 as an example, a driver design example of Linux platform is given. The platform driver architecture has the characteristics of reusing framework code, strong independence of device resources and drivers, simple code, unified kernel interface, easy maintenance and expansion. In the development of specific drivers, we only need to focus on keeping the underlying device operation function set corresponding one by one with the kernel interface provided by the driver structure, and ensuring device.name and driver.name consistent, and making the platform device registered in the kernel space before the platform driver, which can make the driver run well and stably, greatly reduce the work intensity and shorten the development time of new products. Compared with the traditional device driver mechanism, the Linux platform driver mechanism registers the resources of the device into the kernel which is managed by the kernel, and driver uses these resources by applying standard interface provided by platform_device, which improves the independence of driver and resource management, and has better portability and security. The developing test shows that the driver based on this architecture has good portability, maintainability and scalability.
    VL  - 9
    IS  - 1
    ER  - 

    Copy | Download

Author Information
  • Shenzhen Edge Medical Technology Co., Ltd. Shenzhen, China

  • School of Mathematics and Computer, Guangdong Ocean University, Zhanjiang, China

  • Sections