真正的嵌入式开发高手该会些啥?

嵌入式新手该先学C语言还是先学汇编?这是一个非常有争议的问题。而目前C语言已渐渐深入了,有意向学习嵌入式的不少,但是疑问是,学嵌入式能不能只用C 写程序?

观点1:汇编,只是一个语言工具。你要学习的,其实是ARM。

想要搞精、搞深,汇编和计算机系统知识是必须的。尤其是对于底层嵌入式系统工程师来说,汇编是必须要掌握的。

首先系统启动、上电代码都是汇编,汇编不掌握,你如何知道系统是如何启动的?

想深入链接C语言的函数是如何调用的,参数是如何传递的,想了解指针的本质、函数名的本质,就要深入汇编级代码,通过反汇编,看底层指令是如何对C语言的高级特性进行处理的,这都需要汇编语言的功底。掌握汇编,是成为底层系统工程师、牛逼工程师的必备技能。

另外,汇编没那么恐怖,也就是那十几个常用的命令,再加上配套的伪指令,基本程序结构,半天就差不多了。与其花半天时间在这里纠结要不要学,不如赶紧学,技不压身。当然,学习汇编之前,你还要对CPU处理器架构、寄存器有一个了解,你要知道,汇编程序都是跟这些寄存器打交道的。学ARM汇编的话,需要掌握ARM处理器的基本架构、不同模式下的寄存器配置。了解之后,再去学习汇编,你会发现,你学习的哪里是汇编?学习的明明是ARM嘛!
汇编,只是一个语言工具,一些助记符而已。你要学习的,其实是ARM。

观点2:先学习C语言

一个合格的硬件工程师,应该都学,我推荐你先学习C语言,因为汇编入手太慢,写程序要以C为主,需要高速的或者底层的操作用内嵌汇编的方式完成。但是汇编和C同样重要,相互配合,缺一不可!

汇编的重要性:

帮助你从根本上彻底和完全了解芯片的结构和性能,以及工作原理,如何使用。

在小的芯片上实现小的系统。

系统的调试。尽管你使用了高级语言,在调试中可以帮助你了解C代码的性能和特点,甚至找到使用开发平台本身的BUG。

编写时序要求严格的代码,实现一些高级语言不易实现的功能。

从目前的技术和应用发展来看,对工程师的硬件要求越来越高。以我的观点,作为单片机和嵌入式系统开发真正的高手,应具备以下几个方面的综合能力:

1.硬件:模拟、数字电路的雄厚基础,了解跟踪现在市场上的各种元器件的应用和发展,能够进行可靠、完善的电路设计以及PCB的设计。

2.软件:不仅需要精通汇编语言,也要精通C语言,要有好的单片机系统程序设计理念和能力,学校中学的那些分支结构、循环结构等基本原理远远不够!要有基本的数据结构的知识。否则你如何设计实现USB HOST读U盘的接口? 如何实现嵌入式WEB系统? 以及如何使用真正了解和使用RTOS? 具备计算机网络和数字通信的基础知识,从根本上熟悉和了解各种协议的构造和实现,如:UART、RS232、SPI、I2C、USB、 IEEE802、TCP/IP等。

3.计算机应用的高手

4.熟练阅读英文资料:热爱和喜欢电子技术,具备刻苦精神、踏踏实实,不弄虚作假,不浮躁。多动手,勤实践。有强烈的专业和钻研精神。最后一条最重要!
C/C++语言零基础视频资料,加Q群:731611386免费领取

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 嵌入式开发需要掌握的技能包括:嵌入式系统的硬件知识、嵌入式软件开发、嵌入式系统架构设计、嵌入式系统测试、嵌入式系统调试和优化等方面的知识。具体来说,需要掌握C/C++等编程语言,掌握嵌入式系统的操作系统、微处理器、外设等硬件知识,掌握常用的嵌入式软件开发工具和开发流程,以及掌握常用的调试工具和方法等。此外,对于一些特定的嵌入式应用场景,还需要掌握相关领域的知识,例如汽车电子、智能家居、医疗器械等。 ### 回答2: 嵌入式开发是指开发嵌入式系统或嵌入式软件的过程。嵌入式系统是一种特殊的计算机系统,其硬件、软件和固件嵌入到特定的物理设备中,用于控制、监测或执行特定的功能。 要嵌入式开发,首先要掌握计算机体系结构和操作系统的基本原理。了解计算机的运作方式和基本组成部分,包括中央处理器、内存、输入输出设备等,可以帮助开发人员理解嵌入式系统的底层工作原理。 其次,习编程语言和嵌入式软件开发工具是必不可少的。常用的编程语言包括C和C++,它们在嵌入式开发中广泛应用于编写设备驱动程序、控制算法和应用程序。此外,掌握嵌入式软件开发工具如编译器、调试器和仿真器等,可以帮助开发人员进行程序调试和性能优化。 另外,了解电子电路和电子设计是嵌入式开发的关键。了解电子元器件如传感器、执行器和通信接口等的工作原理,以及设计和布线电路的技术,可以帮助开发人员进行硬件和软件的集成工作。 最后,深入嵌入式系统的特定领域知识也是必要的。不同领域的嵌入式系统有不同的要求和应用场景,比如汽车电子、医疗设备、智能家居等。对于特定领域的了解,可以帮助开发人员理解和满足客户的需求。 总之,嵌入式开发需要习计算机体系结构、操作系统、编程语言、嵌入式软件开发工具、电子电路和特定领域知识等多个方面的知识。只有全面掌握这些知识,才能够进行高效和可靠的嵌入式开发工作。 ### 回答3: 嵌入式开发是一种专门针对嵌入式系统进行软件与硬件开发的技术领域。想要从事嵌入式开发工作,需要习以下几个方面的知识: 1.硬件基础知识:嵌入式开发涉及到与硬件紧密配合的软件开发,因此需要了解基本的电路和电子设备原理,了解数字和模拟电路以及各种传感器、执行器的工作原理。 2.嵌入式系统架构:了解嵌入式系统的结构和组成部分,熟悉各种微控制器和单片机的特性和功能,掌握嵌入式开发所需的处理器架构、总线结构、存储器管理等方面的知识。 3.编程语言:熟练掌握至少一种常用的嵌入式开发编程语言,如C、C++或汇编语言等,了解这些语言在嵌入式开发中的应用场景和编程技巧。 4.嵌入式操作系统:了解常见的嵌入式操作系统,如嵌入式Linux、RTOS等,掌握其原理和使用方法,能够进行系统配置、任务调度和驱动开发等操作系统相关的工作。 5.通信协议:掌握嵌入式系统与外部设备之间的通信协议,如UART、SPI、I2C、CAN等,能够进行通信接口的配置和驱动开发。 6.调试与测试:了解常用的嵌入式调试和测试工具,掌握使用示波器、逻辑分析仪等硬件设备进行系统调试和性能优化。 7.项目实践:通过实际项目的开发实践,能够综合运用上述知识,独立完成嵌入式系统的设计、开发和调试,并具备解决实际问题的能力。 总之,嵌入式开发需要通过习硬件基础、系统架构、编程语言、操作系统、通信协议等各方面的知识,并通过项目实践不断提升自己的技能和经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值