CN110851138A - BMC software development method for separating kernel and application - Google Patents

BMC software development method for separating kernel and application Download PDF

Info

Publication number
CN110851138A
CN110851138A CN201911076718.8A CN201911076718A CN110851138A CN 110851138 A CN110851138 A CN 110851138A CN 201911076718 A CN201911076718 A CN 201911076718A CN 110851138 A CN110851138 A CN 110851138A
Authority
CN
China
Prior art keywords
kernel
application layer
operating system
application
software development
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911076718.8A
Other languages
Chinese (zh)
Inventor
张黎明
陈亮甫
马晓光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN201911076718.8A priority Critical patent/CN110851138A/en
Publication of CN110851138A publication Critical patent/CN110851138A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Abstract

The invention discloses a BMC software development method for separating a kernel and an application, which separately develops a kernel part and an application layer of an operating system to be used by BMC, embeds a drive related to application layer calling into the kernel part of the operating system, sets a starting self-starting function of an executable file of the application layer in the operating system, updates the executable file generated by the application layer into the operating system, and performs the starting self-starting function of the application layer. The invention separates the bottom layer drive of the system and the codes of the application layer, is convenient for developers to plan and manage the codes, can reduce the compiling process of the codes and saves the development time.

Description

BMC software development method for separating kernel and application
Technical Field
The invention relates to a BMC software development method for separating a kernel and application, which respectively develops the kernel of an operating system and upper application software and belongs to the technical field of BMC software development.
Background
The BMC is called a substrate controller, and guarantees that the system is in a normal operation state by monitoring the power supply, the temperature and the like of the system. The BMC chips used at present are AST2400 and AST2500 series chips, and in the aspect of software Development, MeaRAC Development Studio is mainly used for Development. Although the operating system kernel is cut, the kernel file is compiled each time during compiling, so that each compiling project takes a long time.
Disclosure of Invention
Aiming at the defects of the prior art, the invention provides the BMC software development method for separating the kernel from the application, which separates the bottom layer driver of the system from the codes of the application layer, is convenient for developers to plan and manage the codes, can reduce the compiling process of the codes and saves the development time.
In order to solve the technical problem, the technical scheme adopted by the invention is as follows: a BMC software development method for separating kernel and application is characterized by that the kernel part and application layer of operating system to be used by BMC are developed separately, the driver related to application layer calling is embedded into the kernel part of operating system, the starting-up self-starting function of executable file of application layer is set in the operating system, the executable file generated by application layer is updated into the operating system, and the function of application layer is run by starting-up self-starting.
Preferably, the drivers related to the application layer call include an I2C driver, an SPI driver, a serial port driver, and a driver for each pin of the chip.
Preferably, a server is added to the kernel portion of the operating system to perform application level updates.
Preferably, the server is an embedded server or an ftp server.
As a preferred scheme, the starting self-starting function of the application layer executable file is realized by adding an application layer starting self-starting script in the kernel.
As a preferred scheme, the compiled kernel is subjected to version solidification, and the kernel part is independently burned.
Preferably, the application layer functions include sensor data processing, system startup and shutdown, log recording, an FRU and a database, and codes of the database part need to be supported by the database in the kernel.
Preferably, the operating system is an embedded operating system.
The invention has the beneficial effects that: according to the invention, the operating system kernel and the application layer code which need to be used by the BMC are respectively developed, so that in the process of project development, on one hand, the system bottom layer drive and the application layer code can be separated, and the code planning and management of developers are facilitated, on the other hand, the compiling process of the code can be reduced, and the development time is greatly saved.
According to the invention, a chip bottom layer driver is embedded into an operating system kernel, and the operating system can be normally started in a chip; compiling the application layer codes independently, setting the starting self-starting function of the application layer executable file in the kernel of the operating system, updating the executable file generated by the application layer into the operating system, and starting self-starting to run; a server is embedded in an operating system, application layer codes are updated in a network mode, updating is convenient, and kernel parts cannot be affected by changing the application layer codes, so that the problems that the network is not communicated and flash needs to be disassembled after the application layer codes are changed are solved.
Drawings
FIG. 1 is a flow chart of the method.
Detailed Description
The invention is further described with reference to the following figures and specific examples.
Example 1
The embodiment discloses a BMC software development method for separating a kernel from an application, as shown in fig. 1, the method includes the following steps:
s01), making a core with a fixed plate for the existing core, and compiling the code of the system into a core form;
s02), adding firmware serving for an application layer in the system;
s03), and developing codes for the application layer.
The main innovation point of the method is that an operating system kernel and application layer codes needed by BMC are developed respectively. In the above steps, S01 and S02 correspond to the development of the kernel portion of the operating system, and step S03 corresponds to the development of the application layer code, that is, the separate development of the kernel and the application layer can be realized through the above steps.
In step S02, the added firmware for the application service includes application layer calling firmware, application layer code updating firmware, and application layer boot self-starting firmware.
The application layer calls the firmware as the driver related to the bottom layer of the chip, including the I2C driver, the SPI driver, the serial port driver and the driver of each pin of the chip, and embeds the drivers into the kernel, thereby facilitating the application layer calling and normally driving the operating system in the chip.
The application layer code updating firmware is embedded into a server in an operating system, the application layer code is updated each time in a network mode through the server, and the kernel part cannot be influenced, so that the problems that the network is not accessible after the application layer code is changed and the flash needs to be disassembled are solved.
In this embodiment, the server is an embedded server, and in other embodiments, the server may also be a tfp server.
The application layer starting self-starting firmware is an application layer code starting self-starting script added in the kernel, a starting self-starting function for an application layer executable file is set in the operating system, and the application layer updates the generated executable file into the embedded operating system to carry out starting self-starting operation.
In this embodiment, the compiled kernel is version-cured, and the kernel part is separately burned. In the process of project development, the kernel part cannot be changed generally, so that the kernel part can be burned only once.
The application layer is independently developed, common application layer functions related to the BMC include processing of sensor data, system startup and shutdown, log recording, FRU and codes related to a webpage are developed as independent parts, and the codes related to the database part also need to be supported by a database in a kernel. And updating the compiled executable codes of the application layer to the specified position of the embedded system in an updating mode provided by the kernel, and running the codes of the application layer through a starting self-starting script, service and the like of the system.
The operating systems described in this embodiment are all embedded operating systems.
Example 2
In this embodiment, the server embedded with the operating system is a tfp server, and the rest is the same as that in embodiment 1, and will not be described again here.
The foregoing description is only for the basic principle and the preferred embodiments of the present invention, and modifications and substitutions by those skilled in the art are included in the scope of the present invention.

Claims (8)

1. A BMC software development method for separating kernel and application is characterized in that: according to the method, a kernel part and an application layer of an operating system, which are required to be used by BMC, are independently developed, a driver related to application layer calling is embedded into the kernel of the operating system, a starting self-starting function of an executable file of the application layer is set in the operating system, the executable file generated by the application layer is updated into the operating system, and the operating system can run after starting self-starting.
2. The BMC software development method separating kernel and application according to claim 1, wherein: the drivers associated with the application layer call include an I2C driver, an SPI driver, a serial port driver, and drivers for the various pins of the chip.
3. The BMC software development method separating kernel and application according to claim 1, wherein: a server is added to the kernel portion of the operating system to perform application level updates.
4. The BMC software development method for separating kernel and application according to claim 3, characterized in that: the server is an embedded server or an ftp server.
5. The BMC software development method separating kernel and application according to claim 1, wherein: the starting self-starting function of the application layer executable file is realized by adding an application layer starting self-starting script in the kernel.
6. The BMC software development method separating kernel and application according to claim 1, wherein: and (4) performing version solidification on the compiled kernel, and independently burning the kernel part.
7. The BMC software development method separating kernel and application according to claim 1, wherein: the application layer functions comprise sensor data processing, system startup and shutdown, log recording, FRU and a database, and codes of the database part need to be supported by the database in the kernel.
8. The BMC software development method of separating kernel and application according to any of claims 1-7, characterized in that: the operating system is an embedded operating system.
CN201911076718.8A 2019-11-06 2019-11-06 BMC software development method for separating kernel and application Pending CN110851138A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911076718.8A CN110851138A (en) 2019-11-06 2019-11-06 BMC software development method for separating kernel and application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911076718.8A CN110851138A (en) 2019-11-06 2019-11-06 BMC software development method for separating kernel and application

Publications (1)

Publication Number Publication Date
CN110851138A true CN110851138A (en) 2020-02-28

Family

ID=69598373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911076718.8A Pending CN110851138A (en) 2019-11-06 2019-11-06 BMC software development method for separating kernel and application

Country Status (1)

Country Link
CN (1) CN110851138A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416681A (en) * 2020-11-24 2021-02-26 超越科技股份有限公司 BMC-based sensor development and debugging method

Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275741B1 (en) * 1998-10-05 2001-08-14 Husky Injection Molding Systems Ltd. Integrated control platform for injection molding system
US20070074188A1 (en) * 2005-05-16 2007-03-29 Yao-Wen Huang Systems and methods for securing Web application code
US20080178143A1 (en) * 2006-10-05 2008-07-24 Cort Dougan System, Method and Computer Program Product for Developing, Configuring, Installing and Testing Software
CN101819526A (en) * 2009-09-18 2010-09-01 华为技术有限公司 Method and device for calling bottom software and embedded system
CN102346687A (en) * 2011-09-21 2012-02-08 南京航空航天大学 Real-time system based on Windows driver
CN102360305A (en) * 2011-10-09 2012-02-22 中国航天科技集团公司第五研究院第五一三研究所 VxWorks operating system scaling and customizing method for aerospace computer
CN102520957A (en) * 2011-12-19 2012-06-27 厦门雅迅网络股份有限公司 Method for software separation design of embedded system
CN103077039A (en) * 2013-02-28 2013-05-01 福州昌晖自动化系统有限公司 Software development platform for embedded industrial control instrument
CN103324145A (en) * 2013-06-14 2013-09-25 广东工业大学 Precision control system for machining optical fiber V-type groove and control method thereof
US20130289926A1 (en) * 2012-04-30 2013-10-31 American Megatrends, Inc. Virtual Service Processor Stack
CN103530150A (en) * 2013-10-10 2014-01-22 上海爱数软件有限公司 Remote updating method for Linux operating system
US20140123101A1 (en) * 2012-10-30 2014-05-01 Electronics And Telecommunications Research Institute Tool composition for supporting opencl application software development for embedded system and method thereof
CN104063300A (en) * 2014-01-18 2014-09-24 浪潮电子信息产业股份有限公司 Acquisition device based on FPGA (Field Programmable Gate Array) for monitoring information of high-end multi-channel server
CN104423981A (en) * 2013-08-26 2015-03-18 鸿富锦精密电子(天津)有限公司 BMC (Baseboard Management Controller) firmware automatic update system and method
CN104572165A (en) * 2014-03-21 2015-04-29 中电科技(北京)有限公司 UEFI (Unified Extensible Firmware Interface) firmware implementation method based on Feiteng server
US20150186150A1 (en) * 2013-12-31 2015-07-02 International Business Machines Corporation Baseboard management controller and method of loading firmware
CN104834543A (en) * 2015-04-24 2015-08-12 曙光信息产业(北京)有限公司 Method and device for externally refreshing BIOS (basic input/output system) firmware
US20160291958A1 (en) * 2015-03-31 2016-10-06 Fujitsu Technology Solutions Intellectual Property Gmbh Methods of updating software components, computer systems and memory apparatus
CN106020867A (en) * 2016-05-11 2016-10-12 浪潮电子信息产业股份有限公司 Firmware deployment method and apparatus
CN106020854A (en) * 2015-03-24 2016-10-12 联想企业解决方案(新加坡)有限公司 Applying firmware updates in a system with zero downtime
US20160328229A1 (en) * 2015-05-04 2016-11-10 American Megatrends, Inc. System and method of online firmware update for baseboard management controller (bmc) devices
CN106250120A (en) * 2016-07-22 2016-12-21 纳瓦电子(上海)有限公司 A kind of Compilation Method of system based on high-pass platform
CN106909362A (en) * 2015-12-23 2017-06-30 研祥智能科技股份有限公司 The method and apparatus that the method and apparatus of BMC firmwares generation, BMC systems start
CN107025104A (en) * 2016-02-02 2017-08-08 龙芯中科技术有限公司 kernel development management system and method
CN107092509A (en) * 2017-04-19 2017-08-25 济南浪潮高新科技投资发展有限公司 A kind of method that use BMC updates firmware
CN107368384A (en) * 2017-07-21 2017-11-21 郑州云海信息技术有限公司 A kind of Linux server abnormal information dump system and method
US20180060051A1 (en) * 2016-08-26 2018-03-01 American Megatrends, Inc. Bare metal provisioning of software defined infrastructure
CN108958776A (en) * 2018-07-31 2018-12-07 山东超越数控电子股份有限公司 A kind of BMC firmware update and device based on order line
CN109117140A (en) * 2018-07-12 2019-01-01 郑州云海信息技术有限公司 The method and system of more kernel applications are supported in a kind of distributed building
CN109740353A (en) * 2019-01-03 2019-05-10 北京工业大学 A kind of credible starting method of the BMC firmware of server
CN109857620A (en) * 2019-03-06 2019-06-07 苏州浪潮智能科技有限公司 Accelerator card miscellaneous function management system, method, apparatus and associated component
CN109976886A (en) * 2017-12-28 2019-07-05 深圳中电长城信息安全系统有限公司 The long-range switching method of kernel and device
US20190220599A1 (en) * 2018-01-17 2019-07-18 Hewlett Packard Enterprise Development Lp Data structure measurement comparison

Patent Citations (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275741B1 (en) * 1998-10-05 2001-08-14 Husky Injection Molding Systems Ltd. Integrated control platform for injection molding system
US20070074188A1 (en) * 2005-05-16 2007-03-29 Yao-Wen Huang Systems and methods for securing Web application code
US20080178143A1 (en) * 2006-10-05 2008-07-24 Cort Dougan System, Method and Computer Program Product for Developing, Configuring, Installing and Testing Software
CN101819526A (en) * 2009-09-18 2010-09-01 华为技术有限公司 Method and device for calling bottom software and embedded system
CN102346687A (en) * 2011-09-21 2012-02-08 南京航空航天大学 Real-time system based on Windows driver
CN102360305A (en) * 2011-10-09 2012-02-22 中国航天科技集团公司第五研究院第五一三研究所 VxWorks operating system scaling and customizing method for aerospace computer
CN102520957A (en) * 2011-12-19 2012-06-27 厦门雅迅网络股份有限公司 Method for software separation design of embedded system
US20130289926A1 (en) * 2012-04-30 2013-10-31 American Megatrends, Inc. Virtual Service Processor Stack
US20140123101A1 (en) * 2012-10-30 2014-05-01 Electronics And Telecommunications Research Institute Tool composition for supporting opencl application software development for embedded system and method thereof
CN103077039A (en) * 2013-02-28 2013-05-01 福州昌晖自动化系统有限公司 Software development platform for embedded industrial control instrument
CN103324145A (en) * 2013-06-14 2013-09-25 广东工业大学 Precision control system for machining optical fiber V-type groove and control method thereof
CN104423981A (en) * 2013-08-26 2015-03-18 鸿富锦精密电子(天津)有限公司 BMC (Baseboard Management Controller) firmware automatic update system and method
CN103530150A (en) * 2013-10-10 2014-01-22 上海爱数软件有限公司 Remote updating method for Linux operating system
US20150186150A1 (en) * 2013-12-31 2015-07-02 International Business Machines Corporation Baseboard management controller and method of loading firmware
CN104063300A (en) * 2014-01-18 2014-09-24 浪潮电子信息产业股份有限公司 Acquisition device based on FPGA (Field Programmable Gate Array) for monitoring information of high-end multi-channel server
CN104572165A (en) * 2014-03-21 2015-04-29 中电科技(北京)有限公司 UEFI (Unified Extensible Firmware Interface) firmware implementation method based on Feiteng server
CN106020854A (en) * 2015-03-24 2016-10-12 联想企业解决方案(新加坡)有限公司 Applying firmware updates in a system with zero downtime
US20160291958A1 (en) * 2015-03-31 2016-10-06 Fujitsu Technology Solutions Intellectual Property Gmbh Methods of updating software components, computer systems and memory apparatus
CN104834543A (en) * 2015-04-24 2015-08-12 曙光信息产业(北京)有限公司 Method and device for externally refreshing BIOS (basic input/output system) firmware
US20160328229A1 (en) * 2015-05-04 2016-11-10 American Megatrends, Inc. System and method of online firmware update for baseboard management controller (bmc) devices
CN106909362A (en) * 2015-12-23 2017-06-30 研祥智能科技股份有限公司 The method and apparatus that the method and apparatus of BMC firmwares generation, BMC systems start
CN107025104A (en) * 2016-02-02 2017-08-08 龙芯中科技术有限公司 kernel development management system and method
CN106020867A (en) * 2016-05-11 2016-10-12 浪潮电子信息产业股份有限公司 Firmware deployment method and apparatus
CN106250120A (en) * 2016-07-22 2016-12-21 纳瓦电子(上海)有限公司 A kind of Compilation Method of system based on high-pass platform
US20180060051A1 (en) * 2016-08-26 2018-03-01 American Megatrends, Inc. Bare metal provisioning of software defined infrastructure
CN107092509A (en) * 2017-04-19 2017-08-25 济南浪潮高新科技投资发展有限公司 A kind of method that use BMC updates firmware
CN107368384A (en) * 2017-07-21 2017-11-21 郑州云海信息技术有限公司 A kind of Linux server abnormal information dump system and method
CN109976886A (en) * 2017-12-28 2019-07-05 深圳中电长城信息安全系统有限公司 The long-range switching method of kernel and device
US20190220599A1 (en) * 2018-01-17 2019-07-18 Hewlett Packard Enterprise Development Lp Data structure measurement comparison
CN110046495A (en) * 2018-01-17 2019-07-23 慧与发展有限责任合伙企业 Data structure measurement result compares
CN109117140A (en) * 2018-07-12 2019-01-01 郑州云海信息技术有限公司 The method and system of more kernel applications are supported in a kind of distributed building
CN108958776A (en) * 2018-07-31 2018-12-07 山东超越数控电子股份有限公司 A kind of BMC firmware update and device based on order line
CN109740353A (en) * 2019-01-03 2019-05-10 北京工业大学 A kind of credible starting method of the BMC firmware of server
CN109857620A (en) * 2019-03-06 2019-06-07 苏州浪潮智能科技有限公司 Accelerator card miscellaneous function management system, method, apparatus and associated component

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416681A (en) * 2020-11-24 2021-02-26 超越科技股份有限公司 BMC-based sensor development and debugging method

Similar Documents

Publication Publication Date Title
CN101211272B (en) Dynamic virtual machine generation, virtual machine generation method and virtual machine supervisor
CN101876940B (en) Automatic test method and device
US20120210312A1 (en) Software upgrading method, software upgrading system and client
CN102789396A (en) Switching system and method for BIOS (Basic Input/Output System) configuration mode
JP6922532B2 (en) Test execution control program, test execution control method, and test execution control device
CN106990985A (en) Apparatus and method based on BMC renewals and standby system UEFI firmwares
CN101137961A (en) System and method for configuring computer for operation
CN110780942A (en) System starting method and device, node equipment and computer readable storage medium
CN101119188B (en) Single board updating method for implementing uninterruptive service
CN110851138A (en) BMC software development method for separating kernel and application
US20220244931A1 (en) Image file obtaining method and apparatus
CN106528114B (en) Android firmware application device and android firmware upgrading method
CN108334384B (en) 4G module management method based on state machine
CN116643761A (en) Customized mirror image manufacturing and deploying method, device, terminal and medium
CN116028084A (en) Cross-version hot upgrading method, system and terminal based on OpenStack cloud platform
CN113608752B (en) Method, system and device for installing intelligent network card system and readable storage medium
CN111949290B (en) Hot patch management method and device, electronic equipment and storage medium
CN102455919A (en) Automatic optimization setting method for basic input output system(BIOS)
CN112148376A (en) Terminal starting method and device
CN107247642B (en) Method and device for determining executable mapping file during system startup
CN112395130A (en) System backup method and device
CN111949278B (en) Method, system, terminal and storage medium for automatically installing MCS system
CN111897538B (en) Container platform deployment method and system based on CPU and operating system
CN110659052A (en) Method and system for updating system software in network equipment and readable storage medium
CN115408012A (en) Method and device for automatically burning power management chip firmware

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200228

RJ01 Rejection of invention patent application after publication