为所有事物生成代码?
格雷格这周的选择是简要介绍了基于模型的设计方法在嵌入式系统中的应用通过选项卡.
想象一个安静的夏夜在海滩上。温暖的炉火在凉爽的海风中噼啪作响,每个人都坐在朋友的陪伴下,倾听着海浪在暮色中破碎的声音。
真可惜你不在。你应该是,但是这个项目出现了,必须要完成。“当然,我会这么做的。我知道如何编程。我在大学里学过c代码"
现在您发现自己在多维数据集中试图记住如何调试指针数学,以查看是否在内存中解引用了正确的位置。
“肯定有更好的办法!”机器人还没弄明白怎么做这些事吗?”
在沮丧和好奇的时刻,你在搜索引擎中输入“自动c代码”,弹出“自动生成你的嵌入式代码从Simulink”金宝app
“我得救了!“你的想法。"我知道Simu金宝applink,我已经有了Simulink模型中的控制器"
从指针数学保存
可以证明,使基于模型的方法能够进行设计的关键因素是能够自动将高级设计描述转换为可以在硬件上实现的语言。
2006年,用Simulink生成的代码使我完成了硕士论文和金宝app毕业。(我不会说“准时”毕业。这种修饰太过火了)。
还有定点数学魔术师杰夫·米勒。
没有C-Code了?
我们应该放弃手工编写微处理器的c代码,而只是使用Simulink来描述我们的算法,然后让代码生成其他的代码……对吗?金宝app
不!我们仍然需要我们的软件工程技能。
自动代码生成非常适合将在Simulink中模拟的设计转换为可嵌入代码。金宝app
实际上,大多数情况下,这只是整个嵌入式系统设计的一个子集。有设备驱动程序,硬件中断,串行通信使用一些令人讨厌的奇怪的自定义协议,因为比尔需要确保他将完全就业,直到他退休年龄。
不过,如果能把我们现有的设计正确地翻译成c代码就好了。那我们就已经在海滩上了!
保持简单让学习变得简单
TAB有一个很好的,简单的,描述了Simulink和c代码生成适合嵌入式系统开发的地方金宝app
TAB列出了一个简单的软件架构和算法来描述标准的嵌入式软件开发实践,并讨论了将自动生成的c代码与现有的嵌入式软件应用程序集成的过程。
也许这是我们MathWorks需要改进的地方——使这个过程更容易理解,而不是面向高级用户。
代码生成的价值在于模拟
作为一名应用程序工程师,我的重点是从Simulink生成c代码。金宝app我遇到了很多类似这样的问题:“代码是否高效?”“它会不会太大,装不下我的处理器?”“我可以解雇我的软件工程师吗?”
所有这些都取决于很多因素。
一个更明确的问题是“我应该在我的Simulink模型中放入什么?”金宝app
我应该包括设备驱动程序,现有的软件代码,所有的一切吗?
我的回答是:“在模拟中包含对你有价值的内容。”
代码生成的关键价值并不在于它能够编写c代码,而在于c代码能够准确地反映您已经开发并使用模拟测试的设计。
也许这并不能避免你错过和朋友们在海滩度过的周末。在设计过程中仍然有许多事情会出错。但它肯定有助于降低这种风险。
代码生成和基于模型的设计只适用于c代码吗?
简而言之:没有。
金宝appSimulink模型支持生成:金宝app
- 用于部署到微处理器和桌面计算机
- c++接口(用于与c++项目集成)
- VHDL, Verilog部署到fpga
- 用于部署到plc的结构化文本
此外,MATLAB代码支持生成CUDA部署到gpu金宝app
你觉得呢?
让我们知道在这里.
- 类别:
- 选择
评论
要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。