1750_使用gcc对嵌入式代码控制逻辑进行测试

news2024/12/26 21:26:04

全部学习汇总: GreyZhang/c_basic: little bits of c. (github.com)

         相信很多人的C语言学习是从printf开始的,为了验证我们的程序代码运行结果,我们通常会选择使用printf打印出我们计算的结果看一下是否与预期一致。到了嵌入式软件开发,或许我们更多地会把经历投入到硬件的动作或者响应而忘记了我们还可以通过这种最初就深入到我们初学知识中的小技能。

         汽车电子行业,很多控制策略都是通过simulink建模然后进行代码生成的方式来实现。simulink本身具有不错的仿真功能能够让我们预测一下程序运行的效果,在这种功能的对比下或许我们最初的这点小技能根本排不上用场。不过,对于手写的代码,使用这种方式做一下测试或许是一种简单的方式。

         今天简单做了一个小测试,测试的对象是模型代码。做了一个小区间的正弦函数查表功能,而我测试的输入时500个离散数据,间隔0.01。

         以下是我的模型代码:

         增加一个测试接口文件和Makefile:

         其中,测试代码如下:

         我只想进行编译执行,因此并没有对Makefile进行多么完整的编写,只是完成了编译功能。Makefile内容如下:

进行编译:

编译成功,执行结果如下:

         其实,这样做测试还有一个其他的功能,那就是类似shell命令一样输出结果。只需要在执行的时候加一个导向符然后输出到一个文件:

         运行结束后,多了一个存储结果的文件,可以使用自己喜欢的文本编辑或者查看工具直接查看:

         现在公司做嵌入式开发的工具不是很完备,测试工具也不完备。这样倒也不错,自己之前的一些小技能倒是慢慢捡起来了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/680983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

web前端工程师个人简历编写(附详细代码)

web前端工程师 h5css3完成简历编写,效果如下: 底部附有详细代码编写 编写Web前端工程师个人简历时,需要注意以下几点: 简洁明了:简历应该简洁明了,内容要点突出,避免冗长和废话。用简洁的语言…

Boost的介绍、安装与环境配置

文章目录 一、Boost库简介二、Boost的安装与编译(一)下载解压(二)编译静态库 三、配置VS环境四、其它环境的配置(vscode、DevC)(一)在DEVC中配置使用boost库的环境(二&am…

java: 程序包javax.servlet.http不存在

问题描述 当项目从2.7.x的springboot升级到3.0.x的时候,遇到一个问题“java: 程序包javax.servlet.http不存在” 。这可能是一些包的精简变化导致的。错误信息如下: 错误代码段 package com.softdev.system.generator.config;import com.softdev.system…

深度学习-ubuntu18.04+RTX3080+cuda11.2+cudnn8.1.0下安装polarstream全纪录

1、安装 创建一个python3.7的虚拟环境 conda create --name polarstream python3.7 激活虚拟环境 source activate polarstream以下操作均在虚拟环境中进行 安装与cuda和python版本对应的torch版本,参考https://blog.csdn.net/didadifish/article/details/12748…

【软件设计师暴击考点】操作系统知识高频考点暴击系列【二】

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:软件…

栈的应用——括号匹配、表达式求值、递归

目录 一、栈在括号匹配中的应用逻辑实现代码实现 二、栈在表达式求值中的应用手算实现代码实现 三、栈在递归中的应用逻辑实现代码实现 一、栈在括号匹配中的应用 括号匹配,顾名思义。若括号按照正确的格式嵌套,则可正确匹配,例如([])&#…

scratch lenet(12): LeNet-5输出层和损失函数的计算

文章目录 1. 目的2. 输出层结构2.1 Gaussian Connection2.2 Gaussian Connection 的 weight 可视化 3. Loss Function3.1 当前类别判断错误时,loss function 中的项(基本项)3.2 判断为其他类别时, loss function 中的项&#xff0…

Spring发展历程及其体系结构

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:Spring 目录 发展历程体系结构 发展历程 体系结构 Spring框架的体系结构的主要组成部分: 核心容器…

idea如何集成Tomcat

(1)、这里应该找Add Configuration点击这里:如果没有标志,点击Exit (2)、这里可以配置一个配置项: (3)、loacl是本地,那个是远程:这里我选择本地 (4&#xff…

代码随想录算法训练营第四十二天 | 01背包理论基础,01背包理论基础(滚动数组),416. 分割等和子集

代码随想录算法训练营第四十二天 | 01背包理论基础,01背包理论基础(滚动数组),416. 分割等和子集 1.1 01背包理论基础 01背包 回溯法:暴力的解法是o(2^n)指数级别的时间复杂度,需要动态规划的解法来进行优…

如果你曾经拥有python,那么现在你应该拥抱Julia吗?

看完本文,您就会有较成熟的想法。 Julia和Python的区别是什么?为什么Julia适合用于大规模计算和超级计算机模拟? 你一定听说过Julia和Python这两个编程语言。虽然它们都可以用于从简单的机器学习应用程序到巨大的超级计算机模拟的所有方面&am…

Gradio的Audio组件介绍

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

ImGUI项目建立(cmake+MinGW64)

Dear ImGUI ImGui是一个轻量级的C图形界面库,它可以用于创建各种交互式的工具和编辑器。具有跨平台、高性能的特点。 ImGUI自身不能创建窗口,需要使用Win32API或glfw或SDL等工具来创建窗口,另外需要使用OpenGL或DirectX、vulkan用于渲染图形…

excel数据的编排与整理——表格结构的整理(一)

excel数据的编排与整理——表格结构的整理(一) 1 快速移动一列数据到指定位置 1.1 移动到相邻行 1.1.1 题目内容 1.1.2 选中年龄列➡移动到左侧直到出现十字箭头 1.1.3 按下shift键和左键➡移动到指定位置,直到出现"T"字形 1.1.4 松开鼠标左键后,移动就完成了 1.2…

Debian 12中安装Rstudio

1.Debian 12中安装R 打开终端,执行命令:#apt search r-base (注:此图为安装r-base后再来截图的),Debian 12官方源中默认为r-base 4.2.2,如果想安装最新版(当前最新版为R-4.3.0),可参考上次写的博文“Debi…

thinkphp 反序列化漏洞

文章目录 配置xdebug反序列化漏洞利用链详细分析poc1(任意文件删除)poc2(任意命令执行) 补充代码 配置xdebug php.ini [Xdebug] zend_extensionD:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug.dll xdebug.modedebu…

Windows系统下安装Hadoop

文章目录 安装步骤环境验证 前面我们已经讲过了在 Linux下安装配置Hadoop环境,还没看过的可以先去了解一下安装流程。今天我们来看一下如何在Window下安装Hadoop,这其实和在Linux下的安装都是大同小异的。下面我们具体来看一下安装步骤。 安装步骤 首先…

pytorch安装教程(Ubuntu22.04.1,Anaconda3-2023.03)

本文主要讲述了在Linux系统中,通过anaconda安装pytorch的具体步骤,即需要在Ubuntu已经安装好anaconda,其安装步骤可以参考此篇博客:Ubuntu安装Anaconda详细步骤(Ubuntu22.04.1,Anaconda3-2023.03&#xff0…

数据结构期末总结

数据结构绪论 数据结构的概念 数据结构 : 数据结构是相互之间存在一种或多种特定关系的数据元素的集合数据结构研究的问题 :数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科抽象数据类型ADT&#xff1a…

JWT漏洞

JWT介绍 1.1 JWT概念 JSON Web Token(JWT) 是一个开放标准。它定义了一种紧凑而独立的方法,用于在各方之间安全地将信息作为JSON对象传输。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用secret(HMAC算法)或使用“…