当前位置:网站首页>Summary of embedded development -- General Catalog
Summary of embedded development -- General Catalog
2022-06-21 10:37:00 【Longcheng deficit】
New year opens a new chapter ! Prepare a series of blog posts related to embedded development , Set up a... Here FLAG.
Through this series of articles , Sort out the things you think about in the development process in recent years , It's a summary for yourself ; For developers in related fields , I hope it can help .
First, let's look at a global graph , This figure shows the whole picture of an embedded product , From hardware to system to library to upper structure . The content of this series of blog posts will also be discussed according to the structure of this figure .

The details of this picture are not important , It mainly shows all aspects involved in embedded development . Originally I wanted to tidy up Android Systematic , But it's too big and complex , May not be able to extract , And the final effect may not be much better than the above picture , So I decided not to do it . however , Here's one Android The official framework , A rough overview of advanced embedded products . source :https://developer.android.google.cn/guide/platform/

Go on to the first picture above . This picture shows the overall thinking process of an embedded product . From top left to bottom right , A simple illustration of the diagram . The first is the general classification on the left , Including the appearance 、 Interface 、 Function and test . The appearance and interface affect the hardware plate making of the product , industrial design . For example, whether the fan is included , How many? USB Interface , Whether there is HD interface , Is the mesh port in the front or the back , Whether there is a button, etc . The design of hardware circuit board is related to the rough module composition diagram and the detailed schematic diagram , And then to more detailed PCB Map, etc. . among , The schematic diagram affects the implementation of the driver , For example, the specific bus address range ; The module composition diagram affects the design considerations of the software . Look at the function section , Split into two parts , Some of them are related to hardware , Partition storage . Embedded devices are mostly Flash For storage devices , Partitions are also unique . Partition is related to bootloader、 Storage and use of kernel and file system . For the pure software part , It involves multiple hierarchical graphs , For example, including the driver 、 Large hierarchical graph of kernel and application , A small hierarchical graph that simply contains software , And multiple subdivision diagrams to core modules . For the test part , Contains bug List processing , Test report and script design . Through this picture , The person in charge of the product can basically have a comprehensive understanding of an embedded product .
Through the first picture above , Let's introduce the directory structure of this series of blog posts . The following is a detailed list of , And make a brief explanation .
The main content is divided into three parts :
The first part Basic concepts , Start with the hardware model
This part mainly abstracts the hardware . During the actual introduction , We will ignore many details , The content is still more inclined to the perspective of program and software . In general , Introduction to hardware , On the one hand, it is for completeness ; On the other hand, it is to better explain the relationship with the program , After all, some features of the hardware cannot be completely ignored . In order to achieve this goal , Here we use the model method to introduce . So , The hardware here , Hardware circuits in non analog and digital electronics , It is hardware abstracted from the perspective of software . It is specifically divided into six sub parts :
1 CPU Model
Model a CPU, Analyze the problem for the later , Provide the foundation .
See :https://blog.csdn.net/wwwyue1985/article/details/113799215
2 Memory model
Modeled memory , Ignore hardware details , Including what was refreshed , Control line 、 Address lines and data lines . The perspective of the program will be more obvious in this part .
See :https://blog.csdn.net/wwwyue1985/article/details/113819179
3 Disk model
Model disks from a file system perspective , The following discussion is simply a complete storage area . That is, preserve the characteristics of the block , Ignore concepts such as head cylinder .
See :https://blog.csdn.net/wwwyue1985/article/details/113829070
4 According to the model
GUI System model concept . Finally, it is abstracted into the concept of video memory pixels , Ignore the principle of imaging .
See :https://blog.csdn.net/wwwyue1985/article/details/113813540
5 Peripheral model
Various I / O devices are abstracted as register models , Ignore the specific peripherals , What are the characteristics of .
See :https://blog.csdn.net/wwwyue1985/article/details/113832437
6 Integration model
Integrate the hardware models , That is to say, they connect with each other , Make up the system model . This model will be often used in the later software and program introduction .
See :https://blog.csdn.net/wwwyue1985/article/details/113835045
The second part Model of software system
The software system model is divided into operating system and application program . Operating system needless to say , And the application part will be composed according to 、 function 、 Expand 、 The architecture goes deeper step by step , Finally Android As a practical example , Make a comprehensive presentation .
7 Operating system foundation
The process concept will be introduced in detail 、 Memory management 、 File system implementation, etc . Final , Build the basic environment for software execution , The operating system environment , Then introduce the program . This is like a workshop , All kinds of tools are ready , Workers can use their imagination to make all kinds of practical and useful products .
7.0 Operating system foundation
See :https://blog.csdn.net/wwwyue1985/article/details/114552074
7.1 The operating system is also a program
See :https://blog.csdn.net/wwwyue1985/article/details/114643339
7.2 interrupt
See :https://blog.csdn.net/wwwyue1985/article/details/119452789
8 Composition of procedure
Static analysis of the program itself , Including data area 、 Code section 、 Variable storage and object code generation 、 Executable documents, etc .
Start with this part , We will combine the previous basic content about operating system , To show the previous life and afterlife of the program , Show a live program in memory , Let readers see the dynamic program running from another angle .
First , Let's dissect a program statically , Look at those things in it .
Use PC(Windows/macOS) Or mobile terminals (Android/iPhone) People who , To run a program , Just double click the program icon with the mouse or touch the screen and click the application icon , Very convenient . Need to know , When there was no graphical desktop system in the early days , To run a program on a computer , It needs to be completed through command line and other methods . Compare the two methods , That's easy to use , It can be decided . But either way , The program is still the original program , Their composition has not changed in essence , Because the composition model of the computer has not changed fundamentally .
From the code in character form to the process running in the system , The program can be said to be a gorgeous turn out of the cocoon . A program written in a high-level language , After the analysis and processing of the compiler , Switch over again , After the assembly and processing of the connector , Machine code that eventually becomes executable ( It is also binary code in essence ). Once running , They will act as a process , Managed by the operating system , meanwhile , Operating system dependent virtual memory mechanism , Using an adequate memory space , Until active or passive termination . In this part , Let's see how this turn is done .
One of the components of the program
See :https://blog.csdn.net/wwwyue1985/article/details/119972252
The second part of the procedure
See :https://blog.csdn.net/wwwyue1985/article/details/119972418
The third part of the procedure
See :https://blog.csdn.net/wwwyue1985/article/details/119972548
9 Analysis of program operation
With the executable analysis in the previous section , This section analyzes the scenarios of the operation process from multiple perspectives .
See :https://blog.csdn.net/wwwyue1985/article/details/119897048
10 Composition and extension of large programs
Discuss static libraries 、 Dynamic library 、 Plug-in mechanism, etc .
11 Software architecture discussion
This is a big topic . The architecture itself is not discussed here , It is to sort out some thoughts related to architecture . When you understand the process of program construction , It is necessary to consider the design and implementation of large-scale systems from a higher perspective . We have an operating system foundation , With the foundation of program construction , It's like having cement and steel , Brick, stone and all kinds of machinery , Know how to build a house with these . But that doesn't mean we can build tall buildings , It can only be said that it is possible . Maybe it's just the foundation , Doesn't mean you can , The two are problems at different levels . The architecture here is like a drawing , It also needs research and analysis . Specific to the procedure , It's about algorithms 、 The interface function 、 class 、 package 、 modular 、 Design mode, etc . This is a complex and comprehensive problem , No standard answer , It takes experience , Need the feeling of design .
11.1 Software architecture discussion
See :https://blog.csdn.net/wwwyue1985/article/details/119617817
11.2 The pain of architectural thinking
See :https://blog.csdn.net/wwwyue1985/article/details/119684971
12 Android The example analysis
With Android As an example , Combined with software architecture content , Continue with complex scenario analysis , Make the integration model of the software part . The reason for choosing Android, I think Android Is a unique model . On the one hand, it is open source , We can analyze it at many levels , Instead of suffering from no source code , Can only guess ; On the other hand , It is an excellent example , Living examples , in other words , As a commercial application system , It is meaningful to analyze it , Can learn real things , And don't worry too much about whether the analyzed things have been tested by practice .
Maybe it will cut to Hongmeng ? Who knows what will happen in the future !
The third part Open source software
Now that it's about Android, Let's talk about open source software . Compared with early programmers , Today's programmers can say that they are much happier , No matter what software you are interested in , You can always find some related open source systems on the Internet for you to study , Not like before , The code of many systems is hidden , For fear of leaking out , There is no material to learn if you want to study . But things always have two sides , Although rich in resources , But the code has also become complex and huge , A lot of software has grown up , A few hundred thousand at a time 、 Millions of rows , Even if a person doesn't eat or drink , I can't see much . This situation , Do we not have to study ? Of course not. . Learn or learn , Just the way of learning needs to change , therefore , This part briefly discusses this .
13 The theme 1-- On open source software
Open source software , Is it a trap or a pie ? Let's talk about our views .
Finished sorting , Refer to my blog 《 My view on open source 》
https://blog.csdn.net/wwwyue1985/article/details/112427321
14 The theme 2-- Code reading
How to read open source software code , Avoid falling into the ocean of code . It mainly discusses the problem of methodology .
Finished sorting , Refer to my blog 《 Talk about how to read the source code 》
https://blog.csdn.net/wwwyue1985/article/details/112726423
15 The theme 3— The example analysis
Just Android Some typical modules used in , Talk about open source software in Android Use of , You can see Android The size of the system , You can also see Android Small of the system .
16 Capricious point of view
Feel free to send some regrets , So you can look at it casually , Or casually .
See :https://blog.csdn.net/wwwyue1985/article/details/114500864
Last , I will list some useful books I have read , For your reference .
At present, this directory structure has not been divorced from the narrow program horizon . Looking at the development of software industry , Whether it's a hardware module 、 Software language or actual product , Are moving to a higher level of abstraction . Slave program 、 product 、 System 、 The system products are gradually improved , To platform 、 Intelligent development ; from OS To Cloud, virtualization , Containers , Cluster, etc CPU、 Memory 、 Network and other abstractions are regarded as computing 、 Storage 、 Transfer resources , Realize the further breakthrough and development of software . These new technologies are proposed to solve new problems , These new solutions , Actually realize the thought , A new chapter can be sorted out , From cell to ecosystem .
On this subject , I have also compiled a piece of blog , But the name is no longer called from cell to ecosystem ^_^, It is 《 One article will big data 、 Cloud computing 、 The Internet of things 、5G( Mobile network )、 Artificial intelligence and other latest technologies 》
边栏推荐
- leetcode:715. Range module [brainless segmenttree]
- Appareils pris en charge par Arcore
- 流式编程:流支持,创建,中间操作以及终端操作
- ESP8266/ESP32 +1.3“ or 0.96“ IIC OLED指针式时钟
- Eureka's timedsupersortask class (periodic task with automatic interval adjustment)
- 如何将MindSpore模型转ONNX格式并使用OnnxRuntime推理---开发测试篇
- 获取配置文件properties中的数据
- The more AI evolves, the more it resembles the human brain! Meta found the "prefrontal cortex" of the machine. AI scholars and neuroscientists were surprised
- Add solid state to the computer
- 聊聊大火的多模态项目
猜你喜欢

Coordinate system transformation, application in inertial navigation antenna

西电AI专业排名超清北,南大蝉联全国第一 | 2022软科中国大学专业排名

Ccs7.3 how to erase only part of the flash sector when burning DSP on-chip flash (two projects of on-chip flash burning of a DSP chip)

New year's Eve, are you still changing the bug?

Esp8266/esp32 +1.3 "or 0.96" IIC OLED pointer clock

Brief introduction of quality control conditions before genotype filling

The backbone of the top 100 security companies! Meichuang technology was selected into the 2022 China top 100 Digital Security Report

Application configuration management, basic principle analysis

ESP8266/ESP32 +1.3“ or 0.96“ IIC OLED指针式时钟

Les nouveaux programmeurs optimisent une ligne de code lundi et sont exhortés à se retirer mercredi?
随机推荐
WCF RestFul+JWT身份验证
燎原之势 阿里云数据库“百城聚力”助中小企业数智化转型
Add solid state to the computer
Embedded remote post, part-time job, order receiving, crowdsourcing platform
Embedded software project process and project startup instructions (example)
ArCore支持的設備
Cvte side
equals 和 hashCode
国金证券开户安全吗?
香农的信息论究竟牛在哪里?
Arcore supported devices
js正则-梳理
How to select embedded hands-on projects and embedded open source projects
Unity VUFORIA 推荐设备
为什么 C# 访问 null 字段会抛异常?
Advanced part of concurrent programming: parallel flow, tasks and executors, and completabilefuture classes
Unity vuforia recommended equipment
注解的定义以及注解编译器
WCF restful+jwt authentication
Mid 2022 Summary - step by step, step by step