CN110851138A - BMC software development method for separating kernel and application - Google Patents
BMC software development method for separating kernel and application Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 3
- 238000007711 solidification Methods 0.000 claims description 2
- 230000008023 solidification Effects 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 10
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
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
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.
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)
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)
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 |
-
2019
- 2019-11-06 CN CN201911076718.8A patent/CN110851138A/en active Pending
Patent Citations (34)
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)
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 |