当前位置:网站首页>Seven original sins of embedded development
Seven original sins of embedded development
2022-07-06 21:09:00 【Guangdong embedded Education】
Every industry has its best practices and evil practices . Great sin is a practice that many people know , But these practices are too tempting or too easy to fall into . There are many such sins in the embedded development industry , But there are seven special crimes that seem to have existed in the whole industry for decades .
The original sin 1—— Do not track indicators
Failure to track development metrics seems to be a minor sin , But indicators are an integral part of Embedded Software Engineering . Metrics not only provide a way to track progress and problems , An estimation method is also provided . Engineers are often asked ,“ How long will it last ?” or “ How much will it cost ?”. Time and cost issues should be based on empirical data , Instead of improvisation related to the optimism of the Engineer at that time . It is extremely difficult to determine how much flash memory space a microcontroller needs without basic metrics tracking . If there is no tracking , How engineers know about typical digital inputs / Output or UART How much does the driver take RAM/ROM?
The original sin 2—— Hackers, not designers
In the last ten years or so , The concept or idea of becoming a hacker or even a creator has been romanticized by society . Society has accepted this concept , That is, a software engineer should be a rogue hacker , No design or foresight is needed , Can create a revolutionary in a very short time “ complete ” product . The fact is that embedded software engineering is not a hacker discipline . Embedded developers need foresight and design to be truly successful . One of the most common mistakes is that there is no blueprint 、 Crazy design or flow chart dash Code writing , It happens to work under the simplest test cases and conditions , And is considered worthy of release , Because it is “ Functional ”. Implementation and testing should follow the design and architecture .
The original sin 3—— Starting from scratch
Go deep into the deepest level of hardware , And create something in the real world through software , This is both interesting and exciting . Embedded software engineers want to develop everything related to software , From the bottom , Until the application code . The problem with doing everything and starting from scratch is that it's time-consuming and expensive , But this is the first instinct , And usually insist on starting from scratch . Embedded systems have become too complex , Development time is too short , So that ordinary projects cannot start from scratch . Supplier code should be used 、 The first 3 Square component 、 Open source and other standards to complete the work . Since there are so many commercially available and tested alternatives , Why develop your own RTOS?

The original sin 4 – Tools not suitable for work
Strangely enough , When embedded developers need software tools to complete their work , image lint Basic tools like tools are rejected , Because their price is only a few thousand dollars . Simply look at the return on investment of software tools compared with the annual cost of engineers , It should be seen that software tools can complete the work faster and with higher quality .
The original sin 5—— Lack of Continuing Education
The number of transistors in the processor doubles every two years . The functions and technologies used and developed by embedded software engineers are indeed changing at an exponential rate . Although the industry changes rapidly , But many companies do not plan or encourage their engineers to attend meetings or training . Part of the reason for the lack of continuing education seems to be due to the design cycle schedule and pressure . There are too many things to do , A company cannot let its engineers or costs not work for a few days . The real question companies should ask is , Without the latest developed technology and knowledge , Whether they have the ability to hire engineers .
The original sin 6—— Working hours are too long
When the deadline is coming , When there are no extra people , What will happen ? Embedded developers work overtime . Working too long is a common problem for embedded software engineers . Firmware dominates the world , But now there are not enough firmware engineers to produce all the equipment that society needs . What's worse is , The speed of social demand for these devices is getting slower . There is always an impulse to complete the software yesterday . However, working too long is bound to wear out . Instead of accelerating delivery , Delivery will only be delayed . Don't fall into the trap of persistent timeout . A fresh mind is more exhausted than one 、 An exhausted mind works much faster , Much more efficient .
The original sin 7—— Failure to follow best practices
MISRA-C、CERT-C And many other industry standards contain the knowledge and wisdom of countless embedded developers . Experienced engineers have done it there , Not only learn from their own mistakes , Also learn from others' mistakes , Developed such a standard . However , Due to time constraints 、 Deadline stress or other obstacles , Many developers ignore the best practices of embedded software .
Conclusion
There are major crimes in all walks of life . Best practices are often designed to help prevent them , Or at least encourage correct behavior . When the deadline approaches , When the pressure increases , The temptation to fall into these seven sins is almost irresistible . Every embedded developer and company has been their victim to some extent . The real concern is how often , What can we do to get back on track .
边栏推荐
- OAI 5g nr+usrp b210 installation and construction
- Laravel notes - add the function of locking accounts after 5 login failures in user-defined login (improve system security)
- 2022 fields Award Announced! The first Korean Xu Long'er was on the list, and four post-80s women won the prize. Ukrainian female mathematicians became the only two women to win the prize in history
- Introduction to the use of SAP Fiori application index tool and SAP Fiori tools
- PHP saves session data to MySQL database
- Minimum cut edge set of undirected graph
- PHP online examination system version 4.0 source code computer + mobile terminal
- 愛可可AI前沿推介(7.6)
- Can novices speculate in stocks for 200 yuan? Is the securities account given by qiniu safe?
- 3D人脸重建:从基础知识到识别/重建方法!
猜你喜欢

Spark SQL chasing Wife Series (initial understanding)
![Mécanisme de fonctionnement et de mise à jour de [Widget Wechat]](/img/cf/58a62a7134ff5e9f8d2f91aa24c7ac.png)
Mécanisme de fonctionnement et de mise à jour de [Widget Wechat]

Swagger UI tutorial API document artifact

OAI 5G NR+USRP B210安装搭建

OneNote in-depth evaluation: using resources, plug-ins, templates

硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件

Pycharm remote execution

2022 fields Award Announced! The first Korean Xu Long'er was on the list, and four post-80s women won the prize. Ukrainian female mathematicians became the only two women to win the prize in history

Manifest of SAP ui5 framework json

KDD 2022 | 通过知识增强的提示学习实现统一的对话式推荐
随机推荐
Study notes of grain Mall - phase I: Project Introduction
【Redis设计与实现】第一部分 :Redis数据结构和对象 总结
use. Net analysis Net talent challenge participation
[MySQL] trigger
Opencv learning example code 3.2.3 image binarization
3D人脸重建:从基础知识到识别/重建方法!
The mail command is used in combination with the pipeline command statement
1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效
快过年了,心也懒了
华为设备命令
爱可可AI前沿推介(7.6)
【微信小程序】運行機制和更新機制
[200 opencv routines] 220 Mosaic the image
SAP Fiori应用索引大全工具和 SAP Fiori Tools 的使用介绍
Three schemes of SVM to realize multi classification
如何实现常见框架
C language games - minesweeping
Huawei device command
什么是RDB和AOF
7. Data permission annotation