硬件和软件的区别


2833249413
星河 2023-05-19 16:11:38 52033
分类专栏: 资讯
身为理工大学的一名研究生
在进行科研工作的时候少不了与硬件和软件打交道
而读研的你是否真正了解硬件和软件的区别?
是否遇见过仿真可以实现但实物却做不出来的情况?
是否有过屡烧开关管而找不到电路问题
最后奇迹般靠一行代码来搞定的情况?
今天小编和大家一起探讨一下
硬件与软件两者之前的关系
 
图片
软件是一种逻辑的东西,与硬件这东西有本质的不同
 硬件是看得见、摸得着的物理部件或设备。
在研制硬件产品时,
主要通过设计电路原理图,
PCB布板,焊接电路,
进行不断的调试与问题分析,
最后做出实物,
其过程结果表现在把原材料转变成有形的物理产品。
 
图片
图片
而软件产品是以程序和文档的形式存在,
通过在计算机上运行来体现他的作用。
在研制软件产品的过程中,
人们的生产活动表现在要
创造性地抽象出问题的求解模型(或仿真模型),
然后根据该模型写出程序
(汇编语言、C语言、C++、JAVA、Web等),
最后经过测试、运行程序得到求解问题的结果。
 
图片
软件产品质量的表现与硬件产品不一样
质量不同表现在两个方面。
硬件产品设计定型后可以批量生产,
产品质量通过质量检测体系可以得到保障。
但是制造、加工过程一旦失误。
软件制造是与众不同,
就目前软件开发技术而言,
软件生产还是“定制”的,
只能针对特定程序设计出来的软件即使出现质量问题,
产品也不会报废,
通过修改、测试,
还可以将“报废”的软件“修复”,
投入正常运行。
 
图片
图片
总之,硬件是躯干,软件是灵魂!
硬件与软件互为阴阳,
任何一方都需要不断地创新和发展以跟上另一方的需要,
那么我们该如何学好硬件与软件?
 
ONE-如何学好硬件?
 
设计一款硬件电路,
要熟悉元器件的基础理论,
比如元器件原理、选型及使用,
学会绘制原理图,
并通过软件完成PCB设计,
熟练掌握工具的技巧使用,
学会如何优化及调试电路等。
如何完整地设计一套硬件电路设计,
这几点技巧方法需要了解一下:
 
1. 总体电路
 
设计硬件电路,大的框架和架构要搞清楚,但要做到这一点还真不容易。有些大框架也许自己的导师或者师兄们已经想好,自己只是把思路具体实现,但也有些要自己设计框架的,那就要搞清楚要实现什么功能,然后找找有能否实现同样或相似功能的参考电路板(要懂得尽量利用他人的成果,越是有经验的硬件工程师越会懂得借鉴他人的成果)。
图片
  
2. 理解电路
 
硬件需要专业的理论知识和经验积累,很难入门。它需要很多知识,不仅电路有、数电模电也有,而且还有单片机、DSP等。同时对于理论知识,你还需要掌握结构、进程、组件参数性能、材料、制造商、标准、线等知识,可能还需要多年的经验积累。如果你找到了参考设计,那么恭喜你,你可以节约很多时间了(包括前期设计和后期调试)。马上就copy?NO,还是先看懂理解了再说,一方面能提高我们的电路理解能力,而且能避免设计中的错误。
图片
3. 找到参考设计
 
在开始做硬件设计前,根据自己的项目需求,可以去找能够满足硬件功能设计的,有很多相关的参考设计。没有找到?也没关系,先确定大IC芯片,找datasheet,看其关键参数是否符合自己的要求,哪些才是自己需要的关键参数,以及能否看懂这些关键参数,都是研究硬件的能力的体现,这也需要长期地慢慢地积累。这期间,要善于提问,因为自己不懂的东西,别人往往一句话就能点醒你,尤其是硬件设计。
图片
 
TWO-如何学好软件
 
学习软件其实主要就是编程,随着互联网的不断发展,越来越多的人都开始学习软件编程开发技术(写C++,JAVA,Web等),而今天小编就给大家分享了常见的几种编程的技巧,一起来了解一下吧。
 
1.培养兴趣,选择合适的语言
 
不管做什么事,学习什么东西,对要做的事、要学的东西有兴趣总是能够学得更好。对于编程这种可以说十分枯燥的事来说,如果你不喜欢它,那么很难让自己投入学习中,即使有实验室大神教你,也没用。
图片
学习编程,其实是一个非常大的范围,因为包含了各种语言,而且难度不一、应用的领域也不一样,对于每个人来说,学习接受得程度也不一样。所以在学习之前,一定要对这些语言有了解,并且要根据自己的实际情况来选择,不能只根据当下受欢迎程度来选。
 
2.动手操作,从项目开始入手
 
很多人在学习的时候,都养成了只看不动的习惯,其实这对于编程学习来说,是很不利的。编程注重基础知识,但也很注重知识的运用,所以当你开始学习编程以后,一定要经常动手实际操作,这样才能发现其中的问题,更快进步。而最好的动手操作就是做项目,没有什么可以与工作于自己的项目以学习编程更高效了,如果你现在没有项目,那么为什么不自己想一个项目呢?我们可以自己做一个业余项目类如小风扇、小台灯等实物或者编一个计算器、方程求解器等窗口程序等等,自己编程解决问题,这种在业余项目中获得的成就感远远超过你在抽象中学习东西的满足感。
图片
 
3.多交流,聊聊编程
 
学习编程的一个很好的方法就是和其他的会编程的人交谈。不必谈论任何特定的内容。可以是你正在学习的东西,可以是你认为很酷的东西,可以是你正在研究的东西,皆可。你会发现很多搞编程的并不喜欢只是聊编程,他们还聊一些其他相关硬件驱动程序,例如我们了解的CPU接口开发像DSP、 ARM还有各CPU芯片平台的软件开发。这样做可能会让你学到很多关于库,服务,编程语言和模式方面的知识。但是,重要的是,你将了解到其他人是如何看待编程的,看看他人的逻辑思维能力和组织结构框架。你会发现,你认为理所当然或从来没有考虑的事情在人与人之间是非常不同的。
 
总之,硬件设计需要考虑整体功能的实现和组件的选择,这需要强大的专业技能和经验预留能力,而软件编程更多地考虑算法和数据结构,并需要强大的逻辑思维能力和数学基础。我们研究生在研究中要“软硬”兼顾,将二者融合贯通,并高效的运用到我们的科研工作中去。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=21045
赞同 0
评论 0 条
星河L0
粉丝 1 发表 80 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2947
【软件正版化】软件正版化工作要点  2867
统信UOS试玩黑神话:悟空  2828
信刻光盘安全隔离与信息交换系统  2723
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1256
grub引导程序无法找到指定设备和分区  1221
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  164
点击报名 | 京东2025校招进校行程预告  163
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  162
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  157
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
如何玩转信创开放社区—从小白进阶到专家 15
信创开放社区邀请他人注册的具体步骤如下 15
方德桌面操作系统 14
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
我有15积分有什么用? 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!