0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

加速嵌入式固件开发的小技巧

工程师进阶笔记 来源:工程师进阶笔记 2023-08-03 17:26 次阅读

产品投入市场的速度对产品的成功与否至关重要。对于创业团队和小规模企业来说,面对在尽可能短的时间发布嵌入式软件项目的压力也就更大。下面所阐述的5个加速固件开发的小贴士,尽管它们显而易见,但是在实践中很少得到很好的应用。

1指定一个可行的计划

在过去的几年内,我曾遇到很多的这样的项目,从项目的开始阶段,开发人员的进度往往落后于计划数个星期。项目管理者在对功能的复杂性和可能遇到的技术难点预计不足情况下,就为产品设定了一个交付日期,如果产品在设定的时间内没有交付,他们就认为项目是失败的。

造成总是落后于进度的原因在于开发人员常常在压力下工作。在高压力的环境下,人体会分泌肾上腺皮质醇供给给大脑。肾上腺皮质醇将会降低人的推理和判断的能力。为了赶进度,而让团队在高压力下工作,这样往往达不到你所想要的结果。制定一个合理的计划,将有效的缓解压力,让工程师更高效的工作。从而保证项目按照计划完成。

2优先设计架构

当交付的时间很短时,开发人员的第一反应是跳过架构设计阶段,直接开始软件开发。之所以这样想,是因为时间很紧迫,进行软件架构固然好,但是太费时了。

为了更快交付软件,开发人员需要仔细思考软件的设计,并计划好所要做的事项。架构是软件产品的蓝图。没有架构,开发人员是无法交付正确的固件,就如同没有蓝图,建筑工人是无法建造楼房一样。

3不要重复制作自己的调度器

对于嵌入式软件开发者来说,编写一个实时调度器或者实时操作系统(RTOS)是让人兴奋的有益的尝试。问题是从零开始设计一个调度器,要让这个调度器在所有操作条件下都正常工作,需要很大的努力可以做到的。开发人员需要浪费大量的时间用在设计固件组件,而这些组件已经存在于许多市面上的实时操作系统上了。一些实时操作系统,例如 FreeRTOS,是免费的。其他的也就需要很少的费用。利用商业化现成的调度器,而不是自己开发,这样可以缩短开发周期,甚至有可能大大提高系统的质量和稳定性。

4利用现有的中间件和驱动框架

微控制器已经变得极其复杂,其功能已经和90年代中期的通用计算机的处理单元相当。高端的微控制器有板载缓存、DMA和大量的外围设备,并以超出200MHz的时钟频率运行。从新开始设计开发这样复杂的设备将会耗费大把的时间。

应该把时间花在寻找设备供应商或者第三方组件提供者,这样可以把注意力从硬件设计转移到软件实施阶段。利用现有的中间件和驱动程序的框架,可以让开发人员把精力放在产品差异性和特性的开发上,而不是放在研究硬件如何工作上。

5找对人

软件工程师是高智商的人群,他们无所不能。问题是如果工程师是对某个应用领域不熟悉,他们往往会花很多的时间,尽管他们无所不能。

当交付时间很短,不要把没有经验的菜鸟放入项目组中,取而代之的是某个领域的专家。也许大家都知道要用专家,但是由于时间紧迫,许多团队随便调配一些人加入项目组。这样做的结果会使项目失去推动力,造成延迟交付。从短期来看,使用领域专家需要更多的钱,但是从长远看,项目可以按时交付,开发的功能正确,这些远远超出了付出的金钱。

最后一些想法:也许有人会认为这些如何缓解项目时间压力、按时交付项目的贴士说起来很显而易见,做起来难。以上五个贴士看起来都是常识。但是当压力来临,这些常识经常会被抛出九霄云外。只有认真和纪律性强的工程师和团队才能时刻保持警醒,按照这些常识来行事。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4983

    文章

    18295

    浏览量

    288594
  • 操作系统
    +关注

    关注

    37

    文章

    6290

    浏览量

    121898
  • 固件
    +关注

    关注

    9

    文章

    519

    浏览量

    22338
  • RTOS
    +关注

    关注

    20

    文章

    776

    浏览量

    118800

原文标题:分享 5 条实用建议,助你加速嵌入式固件开发。

文章出处:【微信号:工程师进阶笔记,微信公众号:工程师进阶笔记】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式学习步骤

    硬件组件。 (4).开发固件:编写嵌入式系统的固件,这是嵌入式系统的软件部分。固件负责控制硬件并
    发表于 02-02 15:24

    嵌入式是什么? 嵌入式开发是什么意思?

    `  在科技发达的今天,人们对于生活质量也有了更高层次的追求,那就不得不引入嵌入式这项技术了,嵌入式开发被越来越多的人所熟知。那么,究竟什么是嵌入式呢?嵌入式开发是什么意思呢?接下来,
    发表于 07-26 15:58

    嵌入式MCU固件开发与应用图解

    NXP图说:嵌入式MCU固件开发与应用
    发表于 04-13 11:48

    如何通过LabVIEW FPGA加速嵌入式系统原型化?

    FPGA在嵌入式系统中的优势有哪些?如何通过LabVIEW FPGA加速嵌入式系统原型化?
    发表于 05-06 07:42

    嵌入式开发是什么意思

    嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发。定义嵌入式开发
    发表于 10-28 08:35

    什么是嵌入式技术?嵌入式开发方向是什么?

    嵌入式系统开发概述1、什么是嵌入式技术?答:操作系统—>嵌入式操作系统:管理资源,解耦软硬件。2、嵌入式开发方向:入
    发表于 11-05 09:00

    嵌入式C语言开发嵌入式Linux C开发的区别

    嵌入式Linux系统开发嵌入式Linux系统开发(应用软件开发):通过内核提供的服务实现相应功能一、嵌入
    发表于 11-05 08:12

    关于嵌入式固件开发方法的探讨

    嵌入式平台的高级 UEFI 开发环境• Byosoft* 关于嵌入式固件开发方法的探讨• SBS* 关于
    发表于 11-05 06:17

    嵌入式开发调试经验分享

    嵌入式开发过程中的一点调试经验嵌入式开发最麻烦的在现场调试过程中或实际运营过程中出现问题很难定位。我在实际开发过程中一点经验分享给大家嵌入式开发调试分为
    发表于 11-05 08:15

    嵌入式系统固件开发与调试相关资料分享

    嵌入式系统固件开发与调试主要学习• ❖ 嵌入式系统的质量属性(quality attributes)• ❖ 嵌入式系统的设计与
    发表于 12-14 07:26

    嵌入式驱动开发的教程

    从今天开始,我将写一系列嵌入式驱动开发的教程,大部分都是例程,使用的开发板是飞凌imx6Q。人无完人,文章难免有错误,希望大家邮箱告诉我,给我一个进步的机会,在这先谢谢大家!也感谢大家的阅读!如果
    发表于 12-24 06:10

    嵌入式系统是什么?嵌入式开发与传统单片机开发不同

    1、嵌入式系统是什么2、嵌入式系统的组成3、嵌入式开发与传统单片机开发不同4、嵌入式应用和就业方向5、学习路线1、
    发表于 02-23 06:02

    什么是嵌入式?单片机开发嵌入式开发的区别在哪

    一、初识嵌入式1.1 什么是嵌入式?1.1.1单片机开发:1.1.2嵌入式开发:1.2 单片机开发嵌入
    发表于 02-24 06:29

    嵌入式开发固件的详细烧录方式

    嵌入式开发固件的详细烧录方式
    发表于 10-30 08:34 14次下载
    <b class='flag-5'>嵌入式开发</b>中<b class='flag-5'>固件</b>的详细烧录方式

    加速嵌入式固件开发的5条建议

    将产品投入市场的速度对产品的成功与否至关重要。对于创业团队和小规模企业来说,面对在尽可能短的时间发布嵌入式软件项目的压力也就更大。下面所阐述的5个加速固件开发的小贴士,尽管它们显而易见
    发表于 07-17 11:11 122次阅读