当前位置:网站首页>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
- 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
- 3D face reconstruction: from basic knowledge to recognition / reconstruction methods!
- OAI 5g nr+usrp b210 installation and construction
- Activiti global process monitors activitieventlistener to monitor different types of events, which is very convenient without configuring task monitoring in acitivit
- Pycharm remote execution
- Data Lake (VIII): Iceberg data storage format
- Minimum cut edge set of undirected graph
- None of the strongest kings in the monitoring industry!
- ICML 2022 | Flowformer: 任务通用的线性复杂度Transformer
猜你喜欢
HMS core machine learning service creates a new "sound" state of simultaneous interpreting translation, and AI makes international exchanges smoother
Laravel notes - add the function of locking accounts after 5 login failures in user-defined login (improve system security)
Comprehensive evaluation and recommendation of the most comprehensive knowledge base management tools in the whole network: flowus, baklib, jiandaoyun, ones wiki, pingcode, seed, mebox, Yifang cloud,
1500萬員工輕松管理,雲原生數據庫GaussDB讓HR辦公更高效
Hardware development notes (10): basic process of hardware development, making a USB to RS232 module (9): create ch340g/max232 package library sop-16 and associate principle primitive devices
OAI 5g nr+usrp b210 installation and construction
Performance test process and plan
爱可可AI前沿推介(7.6)
【论文解读】用于白内障分级/分类的机器学习技术
No Yum source to install SPuG monitoring
随机推荐
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
js之遍历数组、字符串
Mtcnn face detection
Web开发小妙招:巧用ThreadLocal规避层层传值
【mysql】游标的基本使用
Laravel notes - add the function of locking accounts after 5 login failures in user-defined login (improve system security)
C language operators
KDD 2022 | realize unified conversational recommendation through knowledge enhanced prompt learning
2110 summary of knowledge points and common problems in redis class
Deployment of external server area and dual machine hot standby of firewall Foundation
PG basics -- Logical Structure Management (transaction)
正则表达式收集
js 根据汉字首字母排序(省份排序) 或 根据英文首字母排序——za排序 & az排序
#yyds干货盘点#重新梳理箭头函数的this
快过年了,心也懒了
SAP Fiori应用索引大全工具和 SAP Fiori Tools 的使用介绍
@GetMapping、@PostMapping 和 @RequestMapping详细区别附实战代码(全)
After working for 5 years, this experience is left when you reach P7. You have helped your friends get 10 offers
Data Lake (VIII): Iceberg data storage format