分享

想学习嵌入式软件,WIN32的C开发还要不要深入?

 本明书馆 2016-02-10
爱雪静:
请问如果我想学嵌入式  那如鹏网的C语言也能干大事还要看吗?那个不是基于WIN32的么?谁能帮我解释一下,现在这个嵌入式LINUX,嵌入式系统,嵌入式软件,API,ARM,很多概念都很模糊,很混乱,能不能帮我梳理一下,我想学嵌入式软件的开发,因为我的专业就是这个,先不论我们学校的教学怎么样以至于我们到大三了都对嵌入式没有一个具体的了解,就说如果我想自学,该从哪做起?那些基于WIN32的编程和汇编什么的还要不要往深层钻研?很迷茫,望指导!
 学好C语言。windows程序设计可以学习,以后如果涉及到编写上位机,会用到的。
爱雪静:
恩,C语言是必须的,我懂,那您所说上位机就是和WINDOWS操作系统有关联的吧?可是这一部分占嵌入式的比重有多大呢?还是说这是一个分支,专门的一个学科?那除了C,比如那些基于win32的汇编和API有怎么样呢?需要深入吗?
红金龙吸味:
如果想做嵌入式开发,C语言必须要达到非常熟练的地步。
上位机一般指针对用单片机或者arm作的控制板而言。譬如公交运行信息系统:由装在公交车上的控制器(单片机或者ARM+GPS+GSM)组成。控制室里面的电脑,上面会运行一个软件,这个软件会显示所有车辆的运行状态,如速度,已经运行到什么地方,等等各种信息。这个软件也需要专门开发。如果电脑是Windows系统,那么显而易见,这个软件就是基于Win32 API开发的。所以,如果你要开发在windows上运行的软件,就必须学习windows程序设计。 Win32 api 是微软提供的windows操作系统的应用编程接口。
一般如果做嵌入式开发,看各个公司的需要了,有的需要你全能。有的只需要你负责下位机开发,如arm上的程序的编写。如果arm上运行了liunx 或者wince 操作系统,那么下位机开发就是,编写liunx wince 的应用程序。
做嵌入式开发,懂一点硬件方面的知识是再好不过了。因为嵌入式本身就是一个软件和硬件结合比较紧密的东东。不像他们写专门做网站,或者做程序的,只需要单纯的会码代码就可以了。但是如果深入到汇编级,还是需要硬件知识的,如微机原理等等课程就非常有必要了。否则,汇编学不好。
我给你的建议是,别好高骛远。踏踏实实的把基础学好。如C语言,操作系统,数据结构与算法。
然后从单片机开始学起,花几个月的时间搞会。然后买ARM开发板学习吧,可以选择liunx或者wince进行学习。直接开始学习arm或者liunx ,难度非常大,会打击自己自信,也许你根本无从下手,很快就会放弃。

回复 5# 红金龙吸味


    不愧是学计算机的,您的回答逻辑很强,正是我想了解的,呵呵,不过还有些想请教的,就是我其实并没有想“一步登天”那样,就是因为对这些概念的混乱让我不知道从何做起,比如您说的“从单片机开始学起”,到底该怎么学呢?也是是买单片机的实验板吗?您能不能给点具体的建议,在图书馆转一圈,相关的书太多了,我本身是计算机专业的,现在大三,由于是嵌入式这个专业,已经学过了《电子电路》《数字逻辑》和《嵌入式系统概论》,我现在的大概思路就是把《C语言也能干大事》学完,学好,把那个配套的《WINDOWS程序设计》琢磨一下,里面是关于WIN32的API的,貌似有点难,不过想想既然不知道学什么,先把一样弄好,以后应该多少会有点触类旁通的感觉吧,而且说远一点,离毕业还不到两年,估计嵌入式也学不到什么水平,到时候得有东西能找工作是吧,呵呵,不知道我的想法对不对,还请您多批评~然后 像这些“C语言,操作系统,数据结构与算法”有学过的,又正在学,我会用心的,基础的重要我懂。还有有网友这么跟我说:第一步:linux平台上的开发,包括vi,gcc,gdb,make,        linux基本操作第二步:加厚c语言功底《c专家编程》《c缺陷和陷阱》第三步:学习unix环境高级编程《unix环境高级编程》第四步:arm体系结构第五步:arm应用程序开发以后:驱动开发 结合您告诉我的有一些小问题就是是ARM版在前还是LINUX在前呢?您帖子里说的是要我一直在windows下用keil吗?还有在这个学习的过程中像《嵌入式系统开发与应用教程》这类书应该是那个阶段看的呢?也许这篇贴子里的问题太多了,如果您有时间的话再帮我回答吧,也不知道这样的帖子属不属于那种如鹏网所谓的“不会问问题”,总之。。。谢谢您!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多