0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

学嵌入式能不能只用C写程序?

m3eY_edn_china 来源:未知 作者:李倩 2018-03-26 08:34 次阅读

嵌入式新手该先学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? 具备计算机网络和数字通信的基础知识,从根本上熟悉和了解各种协议的构造和实现,如:UARTRS232、SPI、I2C、USB、 IEEE802、TCP/IP等。3.计算机应用的高手4.熟练阅读英文资料:热爱和喜欢电子技术,具备刻苦精神、踏踏实实,不弄虚作假,不浮躁。多动手,勤实践。有强烈的专业和钻研精神。最后一条最重要!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4983

    文章

    18295

    浏览量

    288591
  • C语言
    +关注

    关注

    180

    文章

    7534

    浏览量

    128828

原文标题:真正的嵌入式开发高手该会些啥?

文章出处:【微信号:edn-china,微信公众号:EDN电子技术设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    大家好,我想问一下,我嵌入式开发能不能先跳过裸机.....

    大家好,我想问一下,我嵌入式开发能不能先跳过裸机编程,直接从上层应用开发,我准备过两个月再开始裸机的一些编程,因为现在老师给了一个项目,裸机开始可能时间不够,后面有时间再学
    发表于 07-27 15:07

    嵌入式到底难不难学啊?

    小弟初学嵌入式,现在还没毕业,大二的时候学过一点C语言,从网上看现在嵌入式前景挺好的,所以就打算往嵌入式领域发展,但学起来发现并不容易,光学门C
    发表于 08-27 14:48

    刚刚完51,能不能嵌入式!如果不能接下来应该学点什么!

    最近准备电子设计大赛!接下来想学习arm和嵌入式!应该怎样呢!
    发表于 08-11 09:22

    嵌入式小白怎么嵌入式嵌入式入门需要哪些基础?

    比较变态的小公司,既要你做硬件又要你代码,就不得不一心两用。3,以ARM9,ARM11等更高位核心的嵌入式系统,功能复杂,要求CC++,会LINUX系统或WINCE等其他一些系统,
    发表于 03-29 17:23

    嵌入式开发要什么?

    。  2.了解C语言,C语言是嵌入式开发中最重要的编程语言,对着部分内容不仅要会写程序,还要看得懂他人
    发表于 09-06 16:21

    嵌入式Linux怎么

    `嵌入式Linux怎么?要哪些东西?一些人总在纠结,怕走了弯路,怕的东西不符合企业需求。那么今天就从这几点简要分析下嵌入式要学习的内容
    发表于 05-18 15:31

    嵌入式小白怎么嵌入式嵌入式入门需要哪些基础?

    ),也就是说自己设计电路,自己程序,如你是电子专业的,这个合适,这个电子专业的做的比较多。2,以ARM7,M0,M3等为核心的嵌入式系统,功能比单片机多了不少,要求会
    发表于 01-21 09:50

    嵌入式培训课程好学吗?

    嵌入式开发越来越火了,很多刚毕业的学生和想转行的纷纷都想进入嵌入式的开发行列,但是很多人有很犹豫,觉得自己没有技术基础,能的会吗?参加培训机构学习的话,嵌入式培训课程好学吗?对于这种
    发表于 11-08 08:06

    嵌入式新手该先C语言还是先汇编?

    嵌入式新手该先C语言还是先汇编?这是一个非常有争议的问题。而目前C语言已渐渐深入了,有意向学习嵌入式
    发表于 11-09 06:31

    嵌入式Linux怎么

    很多初学者会问,嵌入式Linux怎么?下面就来讨论讨论这个问题。嵌入式Linux可以分为两部分:底层系统、应用开发。对于应用开发 : C语言、数据结构、JAVA什么的需学好。
    发表于 12-16 06:51

    新手该怎么单片机 / 嵌入式

    【版权申明】转载请附上出处链接新手该怎么单片机 / 嵌入式?  不知不觉已经毕业几年了,大学时候接触嵌入式并一头扎进去学习钻研,当时确实学到了很多东西,但当时的自己并没有把学到的东西用到实际的产品
    发表于 12-17 08:27

    嵌入式c++和Java吗

    的问题,粤嵌老师整理了这几个问题,希望能对大家有一点点帮助。   1、嵌入式c++和Java吗? ...
    发表于 12-22 06:16

    电池能不能修复?

    电池能不能修复? 电池修复作为一个新生事物,许多人对它不了解,也有许多人对它一知半解。那么电池到底能不能修复呢?
    发表于 11-23 10:40 988次阅读

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

    嵌入式新手该先学C语言还是先学汇编?这是一个非常有争议的问题。而目前C语言已渐渐深入了,有意向学习嵌入式的不少,但是疑问是,学嵌入式能不能只用
    发表于 11-04 10:51 10次下载
    真正的<b class='flag-5'>嵌入式</b>开发高手该会些啥?

    指针能不能作为循环变量?

    指针能不能作为循环变量?
    的头像 发表于 02-16 18:11 702次阅读