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.熟练阅读英文资料:热爱和喜欢电子技术,具备刻苦精神、踏踏实实,不弄虚作假,不浮躁。多动手,勤实践。有强烈的专业和钻研精神。最后一条最重要!

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

    关注

    5082

    文章

    19093

    浏览量

    304611
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136614

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

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

收藏 人收藏

    评论

    相关推荐

    C语言中结构体能不能相加

    C语言中,结构体能不能相加?
    的头像 发表于 12-19 17:04 1256次阅读
    <b class='flag-5'>C</b>语言中结构体<b class='flag-5'>能不能</b>相加

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

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

    嵌入式Linux怎么

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

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

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

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

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

    嵌入式系统的C程序设计

    嵌入式系统的C程序设计
    发表于 04-07 22:42 86次下载
    <b class='flag-5'>嵌入式</b>系统的<b class='flag-5'>C</b><b class='flag-5'>程序</b>设计

    嵌入式系统的c程序设计

    嵌入式系统的c程序设计
    发表于 02-11 09:21 65次下载
    <b class='flag-5'>嵌入式</b>系统的<b class='flag-5'>c</b><b class='flag-5'>程序</b>设计

    电池能不能修复?

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

    嵌入式系统与C程序设计

    嵌入式系统与C程序设计
    发表于 10-30 10:20 13次下载
    <b class='flag-5'>嵌入式</b>系统与<b class='flag-5'>C</b><b class='flag-5'>程序</b>设计

    嵌入式学习路线怎么,如何学习嵌入式系统

    哪些技术呢?1.嵌入式上层的软件应用开发需要:精通嵌入式Linux C语言编程、嵌入式Linux C语言数据结构、
    发表于 10-20 15:50 13次下载
    <b class='flag-5'>嵌入式</b>学习路线怎么<b class='flag-5'>学</b>,如何学习<b class='flag-5'>嵌入式</b>系统

    嵌入式Linux怎么

    嵌入式Linux怎么?要哪些东西?一些人总在纠结,怕走了弯路,怕的东西不符合企业需求。那么今天就从这几点简要分析下嵌入式要学习的内容。
    发表于 11-01 16:31 10次下载
    <b class='flag-5'>嵌入式</b>Linux怎么<b class='flag-5'>学</b>?

    嵌入式开发培训哪些?嵌入式培训课程好学吗

    嵌入式开发越来越火了,很多刚毕业的学生和想转行的纷纷都想进入嵌入式的开发行列,但是很多人有很犹豫,觉得自己没有技术基础,能的会吗?参加培训机构学习的话,嵌入式培训课程好学吗?对于这种
    发表于 11-02 21:05 12次下载
    <b class='flag-5'>嵌入式</b>开发培训<b class='flag-5'>学</b>哪些?<b class='flag-5'>嵌入式</b>培训课程好学吗

    嵌入式学习培训能学会吗?嵌入式开发培训都要什么?

    等相关知识,学习QT程序开发,进行嵌入式系统程序的调试。学会嵌入式开发的分析问题、解决问题的思维方法,掌握程序设计的基本方法和常用算法。1.
    发表于 11-03 10:06 15次下载
    <b class='flag-5'>嵌入式</b>学习培训能学会吗?<b class='flag-5'>嵌入式</b>开发培训都要<b class='flag-5'>学</b>什么?

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

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

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

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