发新帖本帖赏金 3.00元(功能说明)我要提问
返回列表
打印

5年硬件,有想转嵌入式软件的想法

[复制链接]
楼主: jiaodudu
手机看帖
扫描二维码
随时随地手机跟帖
21
先想想五年技术都到那个层级

使用特权

评论回复
22
厉害

使用特权

评论回复
23
yls0221| | 2015-9-9 20:07 | 只看该作者
学道有先后,术业有专攻,学好一行就行了

使用特权

评论回复
24
brandnew| | 2015-9-9 20:07 | 只看该作者
这问题,得看老板的态度。

使用特权

评论回复
25
mentor55=5| | 2015-9-9 21:19 | 只看该作者
软件比硬件。

谢谢大家!

简单多了。

再次感谢大家!

的意思是说。

软件任何初中毕业的人士都可以容易地入门。

事实上很多年轻人在小学就精通软件了。

这说明软件其实入门很容易。

就像搭积木一样。

越是没有被国产教科书所污染过的人。

越容易根据自己的想法发挥自己想象力来编写任何程序。

即使在506070年代的国外的年轻人。

精通软件的都是如此过来的。

任何你能够使用的软件开发环境。

都是足够模块化的。

也就是搭积木的模块都早已具备。

如果搭积木就是你自己的想象力的问题了。

你并非需要计算机专业的学习。

任何事实求实地接近自己的实际问题的人。

都会知道如何编写解决问题的软件。

当然如何能从教科书中吸收好的编程方法。

也是很不错的。

只要没有被教科书所污染和葬送。

软件开发确实是入门容易进级也不难的手艺。

请注意编程确实是一门手艺。

再次感谢大家!

使用特权

评论回复
评论
lhkjg 2017-6-5 21:52 回复TA
你说的这种就只适合玩点简单的逻辑控制,没有数学功底玩软件就是典型的码农,你懂的 
26
mentor55=5| | 2015-9-9 21:24 | 只看该作者
而硬件就不同了。

谢谢大家!

特别是模拟电路的问题。

没有人能真实地看懂任何一个简单的放大电路。

这是一个不争的事实。

模拟电路的入门远比软件要难。

这是从能自由设计电路的角度看。

而软件即使一个学龄前的儿童也是容易入门并且可以自由设计软件程序的。

但全世界绝对没有超过5个人能够自由设计电路。

即使模拟电路也可以有模块。

但你即使会搭模拟电路等积木。

性质与软件业不同。

因为硬件电路的设计要末是真正的专家。

但全世界不超过3个。

要么是按设计手册知其然不知其所以然地“搭积木”。

长时间的从事模拟电路的人士。

更多的是因为长时间的接触模拟电路而对于模拟电路有了感性认识。

对于一个长达20年从事模拟电路的人来说。

其最大的收获就是退休的时候才刚刚明白其刚参加工作时遇到的第一个模拟电路的工作原理。

再次感谢大家!

使用特权

评论回复
评论
DAXSX 2017-6-1 10:42 回复TA
这写的绝对正确。 
27
通宵敲代码| | 2015-9-9 21:52 | 只看该作者
cjseng 发表于 2015-9-9 11:54
我有个哥们,做软件做了十几年,有一天他想改行做硬件了,买了几本模电书,天天在啃,每天问我各种奇怪的问 ...

开玩笑,你朋友要是这么牛X!
那他一定懂微机原理,编译原理!
对各种硬件底层绝对了解!

怎么会不懂电阻限流、电容储能!!!

再说这也都是些初中物理知识啊!

使用特权

评论回复
28
zhangmangui| | 2015-9-9 21:52 | 只看该作者
同行   必须支持你啊    我有哥们    干硬件的     最近报了个4个月的嵌入式培训
刚毕业  找工作中   
我也有这想法

使用特权

评论回复
29
通宵敲代码| | 2015-9-9 21:54 | 只看该作者
我当年在大学里的座右铭!
——“软硬不分家,机电一体化”

所以软件、硬件,机械,电子···
我都去学,都需研究研究!
不过也都玩得不怎么深入!

使用特权

评论回复
30
柏谕| | 2015-9-9 22:04 | 只看该作者
大神啊,还是位女大神

使用特权

评论回复
31
cjseng| | 2015-9-9 22:59 | 只看该作者
通宵敲代码 发表于 2015-9-9 21:52
开玩笑,你朋友要是这么牛X!
那他一定懂微机原理,编译原理!
对各种硬件底层绝对了解!

那你来给我说说电阻为啥能限流呗,反正我是说不清楚的。
比如他问我电容如何充电,我说正负粒子互相吸引,然后就充电了,他又问我,为什么正负粒子会互相吸引。

使用特权

评论回复
32
通宵敲代码| | 2015-9-9 23:28 | 只看该作者
cjseng 发表于 2015-9-9 22:59
那你来给我说说电阻为啥能限流呗,反正我是说不清楚的。
比如他问我电容如何充电,我说正负粒子互相吸引 ...

尼玛,这应该是小学生问的问题!

使用特权

评论回复
33
舍恩| | 2015-9-10 07:33 | 只看该作者
mentor55=5 发表于 2015-9-9 21:24
而硬件就不同了。

谢谢大家!

确实感觉软件容易点..最主要工资涨得快!

使用特权

评论回复
34
forgot| | 2015-9-10 09:04 | 只看该作者
mentor55=5 发表于 2015-9-9 21:24
而硬件就不同了。

谢谢大家!

我都不知道你这些理论是哪里得来的

使用特权

评论回复
35
xunchangreng| | 2015-9-10 09:51 | 只看该作者
做硬件就像中医,火候未到都不算老中医!
电子产品能否做稳定,硬件至关重要,因为硬件设计上的不稳定最后来都是推倒重新设计,软件还可以修改代码编译后重新下载进去。大家做设计的时间久了,会慢慢领会的。
         电磁场与电磁波、微波与天线、高速信号处理、信号完整性、PCB布线的 实际措施、系统电磁兼容的处理措施、电路调试的能力与解决电路故障的能力,等等
        做硬件设计10年以内的,只是为了生活!
        如果15年以上,你一直做硬件设计才是被尊重的高手!                 




常见的ARM嵌入式学习问答,设计者和学习者最关心的11个问题:
1.          ARM嵌入式是学习硬件好还是学习软件好?
2.          嵌入式软件和硬件,哪一种职位待遇更高?或者说,在设计中哪一个更重要?
3.        学完51单片机后,想买ARM开发板继续学习,是买ARM7还是ARM9?
4.        到底是学习哪种内核:ARM7、CORTEX-M3、CORTEX-M4、ARM9、CORTEX-A8还是CORTEX-A9?
5.        ARM芯片如何选择型号?
6.        学习ARM主要学习啥?
7.        是先学习基于操作系统的应用层程序的编程,还是先学习基于操作系统的驱动程序的编程?
8.       为何要学习linux,而不是其他的嵌入式操作系统?
9.        一定要学习GUI界面设计吗?
10.        买哪种ARM开发板?
11.        电磁兼容号称黑色艺术,请问如何学习硬件设计中的电磁兼容设计?

1.        ARM嵌入式是学习硬件好还是学习软件好?

     答:

         学习硬件好还是软件好,如果你能精通其中的任何一个,都好!
       学硬件,绝大多数人大学毕业后都可以做硬件设计,这时候大家是一个差不多的水平线上,所以感觉上好像没有门槛!但是电子产品设计的难点是稳定性,尤其是电磁兼容性的设计。N年之后,也许三年,也许五年,也许八年,总之年数不等,这时候水平上就有了高低之分:有些人设计出来的电子产品就是不怎么出问题,有些人设计出来的电子产品就是一直有问题。硬件的设计,是设计经验和理论再学习的结合:电磁场与电磁波、微波与天线、高速信号处理、信号完整性、PCB布线的 实际措施、系统电磁兼容的处理措施、电路调试的能力与解决电路故障的能力,等等,
    学软件,很多人大学毕业后都无法从事这个设计工作,因为大家在学校的努力程度不同,很多人实际上还没有进入编程的门槛内。但是进入门槛后,绝大多数人的水平会处于差不多相同的水平线上,极个别的水平高一些,体现在程序的稳定性和程序运行效率上。软件的设计,主要体现在这两点
    单片机的硬件和软件,因为主频太低,很少出现稳定性的问题,软件的工作量也小,很多单位的软硬件都是一个人做。但是到了主频很高的32位微处理器后,硬件的稳定性特别容易出问题,功能复杂度增大,硬件设计的难度增加了,软件编程的工作量加大了,所以多数公司的软件和硬件开始有多人分开设计。树叶有专攻!大树叶负责系统设计,各种小树叶有的做硬件设计,有的做软件编程。宗旨就是发挥各自的强项!完成最后的系统功能设计

   另外一个需要强调的是,学习硬件还是软件,还要看个人对硬件感兴趣,还是对软件感兴趣?

2.        嵌入式软件和硬件,哪一种职位待遇更高?或者说,在设计中哪一个更重要?

      答:

     刚进入职场时,一般来说嵌入式软件的待遇会稍高一些。因为之前说了,很多人没有进入软件设计的门槛内。但是软件毕竟是青春性的职业,随着年龄的增加和设计经验、设计能力的增加,硬件设计的待遇水涨船高,慢慢会与软件职位的待遇相同甚至高于软件的职位。

     至于谁更重要,硬件相当于躯体,软件相当于血液,缺一不可,没有谁更重要的说法。如果从产品的角度看,硬件更重要一些。因为在产品中出了问题,硬件的稳定性问题基本上只有找高手重新设计,如果是电路原理上的问题还可以直接增加或者减少元件来解决。软件上不稳定问题基本上可以通过修改程序设计并重新下载程序到芯片中来解决。如果从设计的角度看,系统设计更重要,因为系统设计要求懂一些软件的基本设计,更要对硬件设计有相当的造诣,这样他才能把握住系统设计的要求,正确提出设计方案。

3.      学完51单片机后,想买ARM开发板继续学习,是买ARM7还是ARM9?

     答:

       如果你的单片机编程能力比较强,建议直接买ARM9的板子,跑linux系统的,学习嵌入式软件编程。
       如果你的单片机编程能力比较一般,建议先购买CORTEX-M3的开发板,比如盘古STM32F103VET6开发板(软硬件全部开源:提供软件源代码,提供原理图和PCB图),先学习32位ARM的编程(支持轻量级的操作系统,比如UCOS),锻炼实际的编程能力。有了一定的编程能力后,再买ARM9的板子,跑linux系统的,学习嵌入式软件编程。
       总之就是多动手,遇到问题多了慢慢积累起来解决问题的方法,就能够融会贯通了!

5.      ARM芯片如何选择型号?

答:

  ST公司:基于CORTEX-M3内核的芯片STM32F103、基于CORTEX-M4内核的芯片STM32F4,是目前最流行的CORTEX-M3内核的芯片。

  N XP公司:基于CORTEX-M3内核的芯片LPC1768、LPC1788、基于CORTEX-M0+内核的芯片LPC800系列,ARM9内核的芯片LPC3250,在设计中的认可率都比较高。

    ATMEL公司:一直采用ARM核心技术,最高也只采用到ARM9技术,旨在打造稳定的工业级芯片,不追求性能上的卓越,但求性能更加的可靠的工业级芯片。能克服各种恶劣的环境,及各种干扰,功耗低,让工业控制能更加稳定有条不紊的进行。现在的ARM9内核芯片有AT91SAM9260、AT91SAM9263、AT91SAM9G45等


       德州仪器TI: 一直致力于研究处理速度更快,功能更加强大的芯片。更是采用ARM最新技术Cortex A8来提升芯片的性能。使得一些芯片的处理速度与X86架构的MCU不分伯仲。但是最近OMAP系列芯片据说被裁了,可能会退出市场。这让选择TI芯片的人心里有点害怕!而且,TI的芯片更新速度太快,让选择他们芯片的厂家也无所适从。现在的CORTEX-A8内核芯片有AM3358、AM3359等。

SAMSUNG半导体: SAMSUNG生产ARM内核芯片的超高性价比是无人能敌的。正因为这点,其芯片也得到很多厂家的亲睐。例如S3C2440性价比极高,一般消费电子产品中应用较多,不适于在严苛的工控环境中使用。现在的ARM9内核芯片有S3C2440、CORTEX-A8内核芯片S5PV210等。

     最近老是看到不少个人和厂家宣传:使用三星的2440或者三星公司的其他型号设计为工控产品,而且我听到不少厂家说芯片的工作温度都做过老化试验,低温可以到零下40度。这个低温的实验条件只是工业级的一个强制性温度试验条件,并不是在这个低温下正常工作就是工控级芯片。工控级的应用真正难以实现的是在各种恶劣电磁环境下的稳定工作,可惜大部分芯片都不能实现这种要求。稳定性是工控级应用的第一要素,这也就是为何ATMEL的芯片很多型号一卖就是十几年,他们的芯片做的就是稳定。比如AT91RM9200.

6.      学习ARM主要学习啥?

答:

   在硬件上主要学习ARM内核芯片的电路设计及其附加外围电路(USB、SDIO、CAN、485、SPI、PCI等)设计以及高速数字信号处理、信号完整性设计、电磁兼容设计,说白了就是学习如何设计出高稳定的ARM系统电路。ARM内核(CORTEX-M3、CORTEX-M4、ARM9、CORTEX-A8、CORTEX-A9等)的芯片,主频越来越高,实现稳定性的设计难度越来越大。
     软件上主要学学习基于操作系统的应用层程序的编程和基于操作系统的驱动程序编程或者基于库函数的裸机程序编程等等。CORTEX-M3、CORTEX-M4内核的芯片,可以运行裸机程序或者轻量级的UCOS系统,软件上主要学习裸机程序的编程; ARM9、CORTEX-A8、CORTEX-A9内核的芯片,可以运行linux操作系统、android操作系统、wince操作系统等,学习基于操作系统的应用程序编程

7.      是先学习基于操作系统的应用层程序的编程,还是先学习基于操作系统的驱动程序的编程?

    答:

          基于操作系统的应用层程序的编程是嵌入式软件设计的基础,它基本上可以不需要熟悉底层硬件就可以完成程序设计,所以学习嵌入式linux应用程序编程买开发板时,只要可以运行linux系统的开发板都可以。。基于操作系统的驱动程序的编程设计,要求设计人员不仅要熟悉操作系统,还要熟悉底层硬件,最好有过基于寄存器的程序编写经历,对设计人员的要求比较高。

      .。。。。。。。。。。。。。。。。。。。。。。。。。。

        所以建议:先学习基于操作系统的应用层程序的编程,有了一定的编程经验后再去学习基于操作系统的驱动程序的编程设计。



常见的嵌入式linux学习和如何选择ARM芯片问答.pdf

227.26 KB

使用特权

评论回复
评论
j308374705 2015-9-10 17:14 回复TA
请问是复制粘贴的么? 
36
mbutterfly| | 2015-9-10 09:55 | 只看该作者
从目前看,做软件比硬件强一倍。

使用特权

评论回复
37
jiaodudu|  楼主 | 2015-9-10 10:12 | 只看该作者
cjseng 发表于 2015-9-9 22:59
那你来给我说说电阻为啥能限流呗,反正我是说不清楚的。
比如他问我电容如何充电,我说正负粒子互相吸引 ...

确实初级物理上就学过,,,,

使用特权

评论回复
38
jiaodudu|  楼主 | 2015-9-10 10:15 | 只看该作者
xunchangreng 发表于 2015-9-10 09:51
做硬件就像中医,火候未到都不算老中医!
电子产品能否做稳定,硬件至关重要,因为硬件设计上的不稳定最后 ...

嗯 确实 我做了五年 现在觉得基本的电路 还感觉什么都不会 压力好大 :dizzy:

使用特权

评论回复
39
jiaodudu|  楼主 | 2015-9-10 10:23 | 只看该作者
北京再见2013 发表于 2015-9-9 17:29
楼主厉害啊,加油啊!只要你有决心,一定能成功的

好 谢谢你

使用特权

评论回复
40
jiaodudu|  楼主 | 2015-9-10 10:23 | 只看该作者
ctsdswk 发表于 2015-9-9 17:14
其实这个问题比较棘手。要不楼主先把照片发上来,我喊几个同事一起帮你研究下。 ...

和照片有半毛钱关系呢

使用特权

评论回复
发新帖 本帖赏金 3.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则