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

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

3天内不再提示

软件的开发流程介绍

东芝半导体 来源:东芝半导体 作者:东芝半导体 2022-07-30 10:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在前面几节芝识课堂中我们详细介绍了微控制器的基本知识、软件和硬件以及内核的技术细节,在我们实际应用微控制器进行开发之前,我们还需要做好最后一个环节,那就是开发环境的设置,这也是我们从菜鸟到微控制器高手的必经之路。

开发环境

开发环境涉及到了微控制器的软件和硬件两大部分,包含编写指令、编译指令、模拟仿真以及最后的烧录指令。如同我们前面介绍的那样,微控制器只能听懂机器语言,我们需要用类似C这样的编程语言与之进行沟通。而构建这个过程的软硬件平台组合就是开发环境。不同的微控制器开发所需的开发环境也各不相同,而开发环境的存在也让微控制器开发者可以更好地在不同平台间进行项目的移植和二次开发。

利用微控制器进行系统开发的过程可以分为硬件开发和软件开发。对于硬件开发部分,开发者需要根据系统规格设计电路图并进行布线,待通过各种工具验证后,再根据设计的电路图采购零件然后开始制作电路板。与之对应的,在软件开发中,开发者也需要根据系统规格来实现。首先需要根据微控制器所要求的代码规范设计执行编码,并通过编译将其转换成机器语言,从而可以驱动微控制器进行工作。

c3127e9a-0f22-11ed-ba43-dac502259ad0.jpg

系统的软件和硬件部分设置完成后,就可以开始对系统的软件和硬件一起进行测试,这个环节被称为真机调试。借助仿真器等必要的工具进行调试并清除bug后,就可以将完整的软件和硬件进行整体的烧录,这也意味着完成了这个基于微控制器系统的全部开发过程,产品可以进入后续的量产阶段。

软件开发

对微控制器开发而言,硬件部分相对比较固定,能够进行更多差异化设定以及发挥微控制器性能的主要是软件方面的开发,因此接下来我们就来展开介绍一下软件的开发流程。

开发软件时,开发者需要使用集成开发环境和C编译器进行指令的编写和调试。集成开发环境集成了编辑器、构建管理器、C编译器、调试器等工具的功能,是一种在软件开发过程中可以无缝重复执行编码、编译和调试等任务的软件工具。C编译器则是一种用C语言汇编语言编写源程序,并生成机器语言目标文件的软件工具。

c3223d9e-0f22-11ed-ba43-dac502259ad0.jpg

了解软件开发环境是开发软件的第一步,之后还要根据客户需求通过编码、测试、调试等一系列操作,完成最后的功能认证

结合硬件和软件的测试

任何系统的开发都很难一次就成功,因此调试就成为必不可少的开发步骤。在系统的软件、硬件开发完成之后,开发者需要通过在集成开发环境中运行仿真器执行对系统的调试,这也是我们俗称的找“bug”环节。通常的微控制器调试是将仿真器和微控制器结合的部分用电缆连接起来,对软件和硬件进行评估,寻找是否存在问题。如果调试和评估没有发现程序中有漏洞,则会将编写该程序的微控制器生产出来,并开始商业化布局。

c340fd56-0f22-11ed-ba43-dac502259ad0.jpg

在上文中,我们提到了仿真器,这也是开发环境中或不可缺的关键单元。

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

    关注

    48

    文章

    8249

    浏览量

    162341
  • 仿真器
    +关注

    关注

    14

    文章

    1048

    浏览量

    86757
  • 软件
    +关注

    关注

    69

    文章

    5297

    浏览量

    90868

原文标题:芝识课堂【微控制器基础】——进阶!整体系统的开发流程(上)

文章出处:【微信号:toshiba_semicon,微信公众号:东芝半导体】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AI赋能标准化流程:智能汽车软件CI/CT最佳实践新范式

    在智能汽车软件研发中,标准化流程是保障质量与合规的基石。ASPICE与ISO26262等标准要求开发团队在功能安全与过程成熟度之间保持平衡,但随着车载软件复杂度持续增加,传统CI/CT
    的头像 发表于 10-15 10:01 749次阅读
    AI赋能标准化<b class='flag-5'>流程</b>:智能汽车<b class='flag-5'>软件</b>CI/CT最佳实践新范式

    2025北京软件开发公司推荐汇总:盘点10家优秀软件定制开发公司

    2025北京软件开发公司推荐汇总:盘点10家优秀软件定制开发公司
    的头像 发表于 09-30 09:16 2447次阅读
    2025北京<b class='flag-5'>软件开发</b>公司推荐汇总:盘点10家优秀<b class='flag-5'>软件</b>定制<b class='flag-5'>开发</b>公司

    【匠芯创D133CBS KunLun Pi开发板试用体验】介绍、环境搭建

    分布、原理图等,结合官方 SDK 实现开发环境搭建等流程介绍 外观 top view bottom view 资源分布 主控 D13x 是一款基于 RISC-V 的高性能、国产自主、工业级全
    发表于 09-17 10:35

    上扬软件助力华兴激光部署全流程MES系统

    近日,上扬软件完成了对江苏华兴激光科技有限公司(“华兴激光”)通信应用激光外延材料、芯片及封测全流程生产制造执行系统(MES)的需求调研工作,系统正式进入开发实施阶段,预计将于2025年10月全面
    的头像 发表于 09-04 15:01 862次阅读

    单片机开发流程包括什么?

    单片机开发是一个系统性的工程,从需求明确到最终产品落地,需要经历多个相互关联的流程环节,每个环节都对最终产品的性能和质量有着重要影响。 一、需求分析与文档梳理 开发流程的第一步是需求分
    的头像 发表于 07-22 11:21 620次阅读

    知识分享 | 敏捷方法在基于模型的软件开发项目中的应用

    传统的瀑布式软件开发流程存在诸多局限,这使得应用敏捷原则变得尤为重要,尤其是面对复杂且不断变化的开发环境时。作为最高效的软件开发方法之一,基于模型的
    的头像 发表于 07-16 16:52 1051次阅读
    知识分享 | 敏捷方法在基于模型的<b class='flag-5'>软件开发</b>项目中的应用

    基于瑞萨64位MPU RZ/G2L进行32位应用软件开发

    本文主要介绍基于瑞萨64位MPU RZ/G2L进行32位应用软件开发介绍,用于解决客户32位软件移植相关问题,供客户参考。
    的头像 发表于 06-26 15:48 1596次阅读
    基于瑞萨64位MPU RZ/G2L进行32位应用<b class='flag-5'>软件开发</b>

    Vector全流程开发工具链概述

    软件定义汽车(SDV)时代,汽车软件的复杂度和重要性显著提升,开发模式也逐步从基于ECU的独立软件开发向集中化、平台化的软件架构演进。传统
    的头像 发表于 06-17 13:45 848次阅读
    Vector全<b class='flag-5'>流程</b><b class='flag-5'>开发</b>工具链概述

    技术分享 | 如何在2k0300(LoongArch架构)处理器上跑通qt开发流程

    技术分享 | 如何在2k0300开发板(LoongArch架构)处理器上跑通qt开发流程
    的头像 发表于 05-20 11:05 652次阅读
    技术分享 | 如何在2k0300(LoongArch架构)处理器上跑通qt<b class='flag-5'>开发</b><b class='flag-5'>流程</b>

    基于RV1126开发板的AI算法开发流程

    AI算法开发流程由需求分析到准备数据,然后到选取模型,训练模型,接着模型转换后进行模型部署
    的头像 发表于 04-18 14:03 2038次阅读
    基于RV1126<b class='flag-5'>开发</b>板的AI算法<b class='flag-5'>开发</b><b class='flag-5'>流程</b>

    基于RV1126开发板的AI算法开发流程

    AI算法开发流程由需求分析到准备数据,然后到选取模型,训练模型,接着模型转换后进行模型部署
    的头像 发表于 04-18 10:47 839次阅读
    基于RV1126<b class='flag-5'>开发</b>板的AI算法<b class='flag-5'>开发</b><b class='flag-5'>流程</b>

    芯科科技Web-BasedFlash工具助力优化Matter开发流程

    很高兴向大家介绍新发布的Web-BasedFlash工具以优化Matter开发流程,该工具旨在简化展示Matter硬件功能和性能的过程,使开发人员更容易访问和评估相关
    的头像 发表于 02-20 09:52 907次阅读

    NX CAD软件:数字化工作流程解决方案(CAD工作流程)

    NXCAD——数字化工作流程解决方案(CAD工作流程)使用西门子领先的产品设计软件NXCAD加速执行基于工作流程的解决方案。我们在了解行业需求方面累积了多年的经验,并据此针对各个行业的
    的头像 发表于 02-06 18:15 744次阅读
    NX CAD<b class='flag-5'>软件</b>:数字化工作<b class='flag-5'>流程</b>解决方案(CAD工作<b class='flag-5'>流程</b>)

    DevSecOps自动化在安全关键型软件开发中的实践、Helix QAC&amp;amp; Klocwork等SAST工具应用

    DevSecOps自动化旨在通过在软件开发生命周期的各个阶段集成安全流程,使用自动化工具和最佳实践来简化开发、安全和运营。实现DevSecOps自动化流程的一个重要部分就是使用SAST
    的头像 发表于 01-03 16:05 722次阅读
    DevSecOps自动化在安全关键型<b class='flag-5'>软件开发</b>中的实践、Helix QAC&amp;amp; Klocwork等SAST工具应用

    汽车软件DevOps解决方案

    经纬恒润汽车软件DevOps解决方案是专为现代汽车行业设计的一套集成化需求、开发、测试、部署、OTA与监控,旨在加速软件开发流程,提高软件
    的头像 发表于 12-16 10:33 2180次阅读
    汽车<b class='flag-5'>软件</b>DevOps解决方案