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

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

3天内不再提示

simulink之嵌入式C代码生成

汽车电子工程知识体系 来源:汽车电子硬件设计 作者:汽车电子硬件设计 2020-10-10 11:02 次阅读

‍‍‍总觉得单纯写ISO 26262显得太单调,于是小编拉上好盆友印小怪开启了simulink 之旅。希望能跟更多的朋友一起交流学习,共同进步。趁着周末的大好时光,一起来学习吧!‍

‍从工作到现在已经五年多的时间了,在工作中发现了一个代码神器,有请神器闪亮登场,那就是我们的Simulink。 刚开始用代码生成功能的时候真是一把鼻涕一把泪呀,捣鼓了一周才弄了个一知半解,网上详细介绍代码生成的文章又不多,所以我简单整理了一下代码生成的知识,算是个抛砖引玉,希望有C基础或者想学代码编程的人得到些许知识,若是有错误的地方还请大家批评指正。 刚刚开始学代码生成的时候,看着Simulink生成的代码简直就是在看天文,基本上没有什么可读性,后来了解了配置规则后才发现Simulink真是太强大了。当然也不是真想读C代码,只是让代码看起来更像我们手写的C代码一样。从现在应用现状来看,用的最多的地方是在汽车ECU控制器上,偷偷的告诉你,做嵌入式程序员们都可以用哦! 为了不增加文章的繁琐性,基本的Simulink操作我就不再赘述,所以看下面文章得有一定的Simulink的基础。 下面进入正题,欣赏代码生成的魅力,先举个最简单的例子,看看Simulink生成的代码什么样。 首先创建一个Test.slx的文件,里面放上如下所示的一个模型并进行个简单的设置如下图:‍

至于为什么配置等后续文章会详细介绍,请耐心等待。点击代码生成按钮后就生成了报告。下面来简单看一下生成代码的效果,其中最关键的是Test.c和Test.h文件,这个是咱们最想要的代码了,如下图所示:

从Test.c文件中找到咱们想要实现y=x*3的这个应用内容:

沃德天,这上面又是结构体,又改名字的,不是我想要的呀,想一下要是咱们用C代码去实现这个函数该怎么实现,如下所示:

是不是C代码看起来简单明了。现在咱们就一步步配置规则让自动生成的代码和下面手写的C代码一致。 第一步,将函数名字配置成想要的名字,如GetGain3,如下图步骤:

点击代码生成,得到如下:

是不是和咱们平常写的代码一致了。所以生成的代码,一定程度上是可以比拟用C写的哦! 当然会C的人说了,我简单一句话搞定了,为什么用你的模型去生成代码。其实模型有这样几个好处:

一个是测试方面的比如MIL、SIL、PIL测试方面保证代码的质量;

第二个是其生成的代码会符合规范,如MISRA-C 2012等;

第三点就是可读性,图形化的界面比一行行的字母的可读性要好,当设计比较复杂的系统时,模型的优势就逐渐的显现出来了。

责任编辑:YYX

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

    关注

    22

    文章

    522

    浏览量

    62272
  • C代码
    +关注

    关注

    1

    文章

    89

    浏览量

    14275

原文标题:Simulink之嵌入式C代码生成-前言篇

文章出处:【微信号:QCDZYJ,微信公众号:汽车电子工程知识体系】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用C2000™嵌入式模式生成器(EPG)进行设计

    电子发烧友网站提供《使用C2000™嵌入式模式生成器(EPG)进行设计.pdf》资料免费下载
    发表于 09-14 10:13 0次下载
    使用<b class='flag-5'>C</b>2000™<b class='flag-5'>嵌入式</b>模式<b class='flag-5'>生成</b>器(EPG)进行设计

    一种常用嵌入式开发代码

    使用开源协议:GPL-2.0varch简介varch(we-architecture,意为我们的框架库)是嵌入式C语言常用代码模块库,包含了嵌入式中常用的算法库,数据结构(容器)库,解
    的头像 发表于 09-04 08:06 368次阅读
    一种常用<b class='flag-5'>嵌入式</b>开发<b class='flag-5'>代码</b>库

    七大嵌入式GUI盘点

    LCD设计提供高级支持,极大简化了LCD设计。它是使用比较广泛的一款GUI,配合GUI Builder或App Wizard上位机软件,用起来也比较方便。emWin以C语言源代码提供,使其成为嵌入式
    发表于 09-02 10:58

    如何提升嵌入式编程能力?

    :掌握嵌入式系统的基本原理,包括中断、并发、实时操作、低功耗设计等。 3. 实践编程:通过实际编写和测试代码来提高技能。从简单的LED闪烁程序开始,逐步过渡到更复杂的项目,如定时器PWM应用、串口、IIC
    发表于 06-21 10:01

    Simulink自动生成代码现阶段的学习笔记

    在车载控制器的软件开发中,simulink的身影几乎随处可见,主要是在控制算法和控制逻辑的实现。平时看同事点点点就生成代码了,看起来很简单,但是实际操作起来确各种磕磕绊绊。 下面记录了一下步骤作为现阶段的学习笔记吧。
    的头像 发表于 04-17 10:56 3600次阅读
    <b class='flag-5'>Simulink</b>自动<b class='flag-5'>生成</b><b class='flag-5'>代码</b>现阶段的学习笔记

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是嵌入式系统开发中最常用的编程语言之一。成为一名
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是嵌入式系统开发中最常用的编程语言之一。成为一名
    发表于 03-25 14:12

    聊一聊嵌入式C语言

    作为一名嵌入式软件开发者,熟练掌握嵌入式C语言对我的日常工作至关重要。
    的头像 发表于 01-22 09:28 517次阅读

    嵌入式开发学习的十三法则分享

    的“ 初始敏感性” 对于其“ 最终计算结果” 的影响就变得微乎其微了。 二、实时性法则 嵌入式系统的计算结果,不仅依赖于系统的逻辑运算正确性,而且也依赖于这个运算结果的计算时间。 三、资源
    发表于 12-21 06:32

    什么是嵌入式系统?嵌入式系统的具体应用

    嵌入式,一般是指嵌入式系统。用于控制、监视或者辅助操作机器和设备的装置。
    的头像 发表于 12-20 13:33 2360次阅读

    嵌入式核心板开发ESD静电保护

    嵌入式核心板开发ESD静电保护
    的头像 发表于 11-28 17:55 583次阅读
    <b class='flag-5'>嵌入式</b>核心板开发<b class='flag-5'>之</b>ESD静电保护

    嵌入式C语言的结构特点

    嵌入式开发中既有底层硬件的开发又涉及上层应用的开发,即涉及系统的硬件和软件,C语言既具有汇编语言操作底层的优势,又具有高级语言功能性强的特点,当之无愧地成为嵌入式开发的主流语言。在 STM32开发
    的头像 发表于 11-24 16:16 631次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b>语言的结构特点

    嵌入式系统的C语言

    电子发烧友网站提供《嵌入式系统的C语言.doc》资料免费下载
    发表于 11-18 14:39 2次下载
    <b class='flag-5'>嵌入式</b>系统的<b class='flag-5'>C</b>语言

    C语言进阶嵌入式系统高级C语言编程

    电子发烧友网站提供《C语言进阶嵌入式系统高级C语言编程.rar》资料免费下载
    发表于 11-18 10:32 1次下载
    <b class='flag-5'>C</b>语言进阶<b class='flag-5'>之</b><b class='flag-5'>嵌入式</b>系统高级<b class='flag-5'>C</b>语言编程

    c语言嵌入式开发

    电子发烧友网站提供《c语言嵌入式开发.zip》资料免费下载
    发表于 11-17 14:11 2次下载
    <b class='flag-5'>c</b>语言<b class='flag-5'>嵌入式</b>开发