嵌入式基础怎么学 嵌入式好学么

简介: 关于嵌入式基础和物联网,行业外的人员并不是很了解,基础不同对其了解的也不同。但是,应该明确哪些是必备的基础知识,哪些应该先学,哪些应该后学?哪些必须通过实践才能获得?哪些是与具体芯片无关的通用知识?哪些是与具体芯片或开发环境相关的知识?  嵌入式基础怎么学 嵌入式好学么  ①嵌入式系统软件硬件密切相关,一定要打好软硬件基础。

 关于嵌入式基础和物联网,行业外的人员并不是很了解,基础不同对其了解的也不同。但是,应该明确哪些是必备的基础知识,哪些应该先学,哪些应该后学?哪些必须通过实践才能获得?哪些是与具体芯片无关的通用知识?哪些是与具体芯片或开发环境相关的知识?

 

 

嵌入式基础怎么学 嵌入式好学么

  ①嵌入式系统软件硬件密切相关,一定要打好软硬件基础。其实,只要找到正确的方法,加上努力,任何理工科学生,甚至非理工科学生,都能学好嵌入式系统。

  ②选择一个芯片及硬件评估板(入门芯片最好简单一点,例如8位MCU)、选择一本好书(最好有规范的例子)、找一位好老师(最好是有经验且热心的)。硬 件评估板的价格一定要在1000元以下,不要太贵,最好能有自己动手的空间。不花一分硬件钱想要学好嵌入式系统不实际,因为这是实践性很强的学科。好书,可以让人少走弯路,不被误导。好老师也可以是做过一些实际项目的学长(一定要找做过几个成功项目的学长或老师做指导,否则经验不足也可能误导),有教师指导,学习进程会加快(人工智能学科里有个术语叫无教师指导学习模式与有教师指导学习模式,无教师指导学习模式比有教师指导学习模式复杂许多)。

  ③许多人怕硬件,其实嵌入式系统硬件比电子线路好学多了。只要深入理解:MCU的硬件最小系统,对I/O口、串行通信、键盘、LED、LCD、 SPI、 I2C、PWM、A/D(包括一些传感器)、D/A等逐个实验理解,逐步实践,再通过动手做一个实际的小系统,底层硬件基础就有了。各个硬件模块驱动程序的编写是嵌入式系统的必备基础。学习嵌入式系统的初期,这个过程是必须的。

  ④至于嵌入式实时操作系统RTOS,一定不要一开始就学,这样会走很多弯路,也会使你对嵌入式系统感到畏惧。等你软件硬件基础打好了,再学习就感到容易理解。实际上,许多嵌入式应用并不需要操作系统。也可以根据实际项目需要,再学习特定的RTOS。不要被一些嵌入式实时操作系统培训班的宣传所误导,而忽视实际嵌入式系统软硬件基础知识的学习。

  ⑤要避免片面地单纯从“电子”或“计算机软件”角度认识嵌入式系统。前面说过,嵌入式系统是软件与硬件的综合体。因此,要逐步从MCU的最小系统开始, 一点一点理解硬件原理及底层硬件驱动编程方法。要通过规范的例子,理解软件工程封装、可复用等思想。通过规范编程,积累底层构件(component),也就是一个一个模块;但是要封装得比较好,可复用。

  ⑥注重实验与实践。这里说的实验主要指通过重复来验证他人的工作,目的是学习基础知识,这个过程一定要经历。实践是自己设计,有具体的“产品”目标。如果花500元左右,自己做一个具有一定功能的小产品,且能稳定运行1年以上,就可以说接近入门了。

  ⑦关于入门芯片的选择。不要选太复杂的微控制器作为入门芯片,不能超越学习过程。不要一下子学习几种芯片。可以通过一个芯片入门,并具有一个实践经验后,根据实际需要选择芯片开发实际产品。注意,不要把微处理器(MPU与微控制器(MCU)概念相混淆,微处理器只是微控制器的内核。

  ⑧关于嵌入式操作系统的选择。可以等到具有一定实践基础后,选择一个简单、容易理解原理的嵌入式操作系统进行学习。不要一开始就学习几种操作系统,理解了基本原理,实践中确有实际需要再学习也不迟。人总是要不断学习的。

  ⑨关于汇编语言与C语言的取舍。随着:MCU对C编译的优化支持,对于汇编语言可以只了解几个必要的语句,而直接使用C语言编程。但必须通过第一个程序理解芯片初始化过程、中断机制、程序存储情况等,区别于PC机程序的内容。另外,为了测试的需要,最好掌握一门PC机编程语言。

⑩要明确自己的学习目的,并注意学习方法。要明确学习目的是打基础,还是为了适应工作需要而进行的短训。学习方法方面,要根据学习目的选择合适的学习途径,注意理论学习与实践、通用知识与芯片相关知识、硬件知识与软件知识的平衡,要在理解软件工程基本原理基础上理解硬件构件与软件构件等基本概念。

  当然,以上只是基础阶段的学习建议。要成为良好的嵌入式基础设计师,还需要在实际项目中锻炼,并不断学习与积累经验。

 

 

相关文章
深入分析luait反编译之luajit-decomp
#背景 Luajit在游戏中应用广泛,在逆向分析游戏过程中免不了与luajit打交道,那网上有非常多关于luajit反编译的资料,汇总起来常用的两种方案:https://github.com/zzwlpx/ljd 和 https://github.com/bobsayshilol/luajit-decomp, 第一种方案相对来说可读性好但兼容性差经常出现反编译异常崩溃。第二种方案反编译
7910 0
|
监控 安全 数据挖掘
如何精准监控员工上网:这三款员工上网行为监控告诉你
本文介绍了三款员工上网行为监控软件,以增强企业网络安全性。WorkWin提供USB管理、带宽控制及远程管理,确保资源有效分配和安全。InterGuard专注敏感数据检测、违规行为监控,即时消息审查,保障企业安全。而Hubstaff侧重工时追踪、活动记录和应用使用报告,优化工作效率和团队管理。这些工具旨在平衡安全与效率,助力企业保护资源和提升生产力。
836 3
|
异构计算 Windows
嵌入式硬件电路常用设计软件有哪些
嵌入式硬件电路常用设计软件各有其特点和优缺点。在选择软件时,用户应根据自己的实际需求、预算以及学习曲线等因素进行综合考虑。
378 7
|
7月前
|
负载均衡 容灾 测试技术
弹性公网IP:云时代的”智能通讯管家“
弹性公网IP(Elastic IP)是云计算中实现网络资源灵活管理的重要工具。它如同可自由切换的“电话号码”,解耦了IP与物理设备的绑定,支持快速迁移、故障容灾和成本优化。通过网络地址转换(NAT)技术,弹性公网IP能在不同云服务器间无缝切换,适用于业务迁移、负载均衡扩展及A/B测试等场景。非凡云提供免费弹性公网IP服务,每个账户可申请3个IP,支持高频绑定/解绑操作,带宽独立调整,并配备API管理接口,助力用户实现高效网络资源配置。
341 10
|
消息中间件 Apache 数据安全/隐私保护
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(3)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
239 0
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(3)
|
SQL 关系型数据库 MySQL
数据库隔离级别详解,数据库基础操作
数据库隔离级别详解,数据库基础操作
333 1
|
分布式计算 Hadoop Java
Hadoop编辑hadoop-env.sh文件
【7月更文挑战第19天】
987 5
|
安全 Java
比较java枚举成员使用equal还是==
比较java枚举成员使用equal还是==
330 0
|
机器人 Linux 开发工具
嵌入式BSP工程师基本任务分析
嵌入式BSP工程师基本任务分析
564 1
|
机器学习/深度学习 安全 网络协议
【内网安全-横向移动】基于SMB协议-PsExec
【内网安全-横向移动】基于SMB协议-PsExec
648 0
【内网安全-横向移动】基于SMB协议-PsExec
下一篇
开通oss服务