当前位置:网站首页>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 .
边栏推荐
- 【论文解读】用于白内障分级/分类的机器学习技术
- ICML 2022 | flowformer: task generic linear complexity transformer
- What is the difference between procedural SQL and C language in defining variables
- 性能测试过程和计划
- 【mysql】触发器
- Spark SQL chasing Wife Series (initial understanding)
- JS操作dom元素(一)——获取DOM节点的六种方式
- 硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件
- Study notes of grain Mall - phase I: Project Introduction
- Activiti global process monitors activitieventlistener to monitor different types of events, which is very convenient without configuring task monitoring in acitivit
猜你喜欢

15 millions d'employés sont faciles à gérer et la base de données native du cloud gaussdb rend le Bureau des RH plus efficace

2017 8th Blue Bridge Cup group a provincial tournament
![[wechat applet] operation mechanism and update mechanism](/img/cf/58a62a7134ff5e9f8d2f91aa24c7ac.png)
[wechat applet] operation mechanism and update mechanism

【OpenCV 例程200篇】220.对图像进行马赛克处理

1500萬員工輕松管理,雲原生數據庫GaussDB讓HR辦公更高效

967- letter combination of telephone number

Swagger UI教程 API 文档神器

Redis insert data garbled solution

【深度学习】PyTorch 1.12发布,正式支持苹果M1芯片GPU加速,修复众多Bug

愛可可AI前沿推介(7.6)
随机推荐
Opencv learning example code 3.2.3 image binarization
1_ Introduction to go language
Redis insert data garbled solution
基于STM32单片机设计的红外测温仪(带人脸检测)
Manifest of SAP ui5 framework json
js中,字符串和数组互转(一)——字符串转为数组的方法
每个程序员必须掌握的常用英语词汇(建议收藏)
R語言可視化兩個以上的分類(類別)變量之間的關系、使用vcd包中的Mosaic函數創建馬賽克圖( Mosaic plots)、分別可視化兩個、三個、四個分類變量的關系的馬賽克圖
Reflection operation exercise
监控界的最强王者,没有之一!
数据湖(八):Iceberg数据存储格式
自定义限流注解
Detailed explanation of knowledge map construction process steps
Math symbols in lists
Web开发小妙招:巧用ThreadLocal规避层层传值
Interviewer: what is the internal implementation of ordered collection in redis?
Web开发小妙招:巧用ThreadLocal规避层层传值
20220211 failure - maximum amount of data supported by mongodb
Statistical inference: maximum likelihood estimation, Bayesian estimation and variance deviation decomposition
Tips for web development: skillfully use ThreadLocal to avoid layer by layer value transmission