64位八核时代,我们的嵌入式开发该从何学起?

时间:2021-10-25 19:35:50
        几年前刚上大学时,课堂上我们学习到了单片机,满怀欣喜;毕业后随着工作的需要,我们又接触到了能跑操作系统的嵌入式微处理器,而它嫣然一台缩小版的PC机,但我们可以用它DIY我们的所思所想,突然觉得掌握它以后,我们将可以达到一种无所不能的境界。
        嵌入式CPU名家辈出,而各家品类众多;单说现在最火的arm处理器,从最开始的单核发展到现在的四核甚至八核;从最初的8位到现在流行的32位,及即将流行的64位,等等。嵌入式这个行业所呈现的知识量已是浩如烟海,而作为一个想致力于嵌入式开发的初学者,我们该从什么地方学起,如何下手,才能使得我们既可以走上学习的正轨,又可以跟上时代的进步而不至于学无所用呢?

14 个解决方案

#1


学习单片机辛苦不。

#2


更高的起点,更新的知识,其实是正确的选择,嵌入式发展太快了,我们也是从单片机一路走下来,也有ucos跑在单片机上的自豪和喜悦,但是真正的嵌入式系统,还得是ARM+LINUX。

http://item.taobao.com/item.htm?spm=a1z10.1.w5003-3872408325.1.QiZZcC&id=38712193806&scene=taobao_shop

#3


系统原理是通用的理论基础
32位系统到64位系统,系统运行速度提升了。
对软件来说就是需要支持64位而已,如long在32位机l是32位,64位机是64位。
需要在内核处理中支持即可。也就是系统调用和内核需要统一,程序框架变化不大。

#4


嵌入式难学,薪水没互联网高

#5


32 64 关系不大  编译器会有些影响   

#6


该回复于2014-10-29 13:12:11被管理员删除

#7


和楼主有同感呀,一直做单片机。现在想学习 ARM+LINUX  找不到门儿呀。。。

#8


哈哈~我是从单片机直接到4核的4412开发板的~
倒是没觉得入门很难~
就怕无良厂商提供给你一些纯粹无用的资料~这地新人来说太恐怖了。
居然有人贴大量的wince的资料,真恐怖,那玩意难学,关键是学出来几乎没什么用处了,而且不更新了。
最好合着linux+Android一起学习,这种方式最好了~
个人推荐,主要是我需要用到这些知识。

#9


32位和64位编程中主要注意指针就好了,一个是4byte指针,一个是8byte指针。代码中不要将unsigned int 强制转换为指针,这样的代码在64bit CPU中会出问题的。其他基本很少会关注到。

多核部分需要学习对称式多处理器SMP的知识点,胡希明和毛德操老师的《linux内核源代码情景分析》中的第九章“多处理器SMP”系统结构将讲的非常好。

#10


多核设计其实不需要我们做什么,当单核用就行,linux本身支持多核, 最近搞了块4412的开发板,感觉和单核编程几乎没有差别

#11


arm64的开发板现在还没有。

#12


现在类似手机的处理器都是核战,但是相对于来说执行效率的高低才是王道

#13


引用 <黑客与画家> 里面的话:
现在的编程语言不过是 60 年前 LISP 语言的实现罢了.
在这个时代,很多东西被炒作,很多原有的技术被炒作.导致人们有一种观点"技术更新迭代的太快了"
我不否认所谓的技术迭代事实,但你是否冷静思考过,那些所谓的热门技术背后是什么推动它,是真实的创新还是
资本家故意的圈钱.
所谓学技术者是寻本源的人,而不是随波逐流的人.
我不否认现在很多热门很多高收入的技术,但这背后我们应该称下心来思考.
作为一个技术研究者应该学什么?
我个人观点,作为一个技术开发者应该向前学些,向前不是指最新的技术.而是追寻技术的起源.
也许你说你要学汇编就有人会笑你,也许你要学最古老的继续,别人也会笑你.总之,当你没有成为大师之前,
别人笑你都是可以理解的,所以你可以不用在意别人笑你.
也学会问什么才是本源的技术,我只有一个答案,那就是操作系统.
操作系统就是本源.
为了和谐,我不想再说下去,我只想说:
................................

#14


想要学习,实践是第一位的。
首先,你先准备好硬件平台。目前32位的arm平台多如牛毛,价格也便宜。建议新手先从arm32开始玩起。如果一定要玩arm64,那么也可以采购到合适的硬件平台。(http://www.lemaker.org/cn/product-hikey-index.html)目前hikey是一个比较合适的arm64开发平台,已经支持debian, android。硬件价格在500-700元间。如果你愿意花精力毕竟,那随着时间的推移,也会有越来越多的产品可供选择。

#1


学习单片机辛苦不。

#2


更高的起点,更新的知识,其实是正确的选择,嵌入式发展太快了,我们也是从单片机一路走下来,也有ucos跑在单片机上的自豪和喜悦,但是真正的嵌入式系统,还得是ARM+LINUX。

http://item.taobao.com/item.htm?spm=a1z10.1.w5003-3872408325.1.QiZZcC&id=38712193806&scene=taobao_shop

#3


系统原理是通用的理论基础
32位系统到64位系统,系统运行速度提升了。
对软件来说就是需要支持64位而已,如long在32位机l是32位,64位机是64位。
需要在内核处理中支持即可。也就是系统调用和内核需要统一,程序框架变化不大。

#4


嵌入式难学,薪水没互联网高

#5


32 64 关系不大  编译器会有些影响   

#6


该回复于2014-10-29 13:12:11被管理员删除

#7


和楼主有同感呀,一直做单片机。现在想学习 ARM+LINUX  找不到门儿呀。。。

#8


哈哈~我是从单片机直接到4核的4412开发板的~
倒是没觉得入门很难~
就怕无良厂商提供给你一些纯粹无用的资料~这地新人来说太恐怖了。
居然有人贴大量的wince的资料,真恐怖,那玩意难学,关键是学出来几乎没什么用处了,而且不更新了。
最好合着linux+Android一起学习,这种方式最好了~
个人推荐,主要是我需要用到这些知识。

#9


32位和64位编程中主要注意指针就好了,一个是4byte指针,一个是8byte指针。代码中不要将unsigned int 强制转换为指针,这样的代码在64bit CPU中会出问题的。其他基本很少会关注到。

多核部分需要学习对称式多处理器SMP的知识点,胡希明和毛德操老师的《linux内核源代码情景分析》中的第九章“多处理器SMP”系统结构将讲的非常好。

#10


多核设计其实不需要我们做什么,当单核用就行,linux本身支持多核, 最近搞了块4412的开发板,感觉和单核编程几乎没有差别

#11


arm64的开发板现在还没有。

#12


现在类似手机的处理器都是核战,但是相对于来说执行效率的高低才是王道

#13


引用 <黑客与画家> 里面的话:
现在的编程语言不过是 60 年前 LISP 语言的实现罢了.
在这个时代,很多东西被炒作,很多原有的技术被炒作.导致人们有一种观点"技术更新迭代的太快了"
我不否认所谓的技术迭代事实,但你是否冷静思考过,那些所谓的热门技术背后是什么推动它,是真实的创新还是
资本家故意的圈钱.
所谓学技术者是寻本源的人,而不是随波逐流的人.
我不否认现在很多热门很多高收入的技术,但这背后我们应该称下心来思考.
作为一个技术研究者应该学什么?
我个人观点,作为一个技术开发者应该向前学些,向前不是指最新的技术.而是追寻技术的起源.
也许你说你要学汇编就有人会笑你,也许你要学最古老的继续,别人也会笑你.总之,当你没有成为大师之前,
别人笑你都是可以理解的,所以你可以不用在意别人笑你.
也学会问什么才是本源的技术,我只有一个答案,那就是操作系统.
操作系统就是本源.
为了和谐,我不想再说下去,我只想说:
................................

#14


想要学习,实践是第一位的。
首先,你先准备好硬件平台。目前32位的arm平台多如牛毛,价格也便宜。建议新手先从arm32开始玩起。如果一定要玩arm64,那么也可以采购到合适的硬件平台。(http://www.lemaker.org/cn/product-hikey-index.html)目前hikey是一个比较合适的arm64开发平台,已经支持debian, android。硬件价格在500-700元间。如果你愿意花精力毕竟,那随着时间的推移,也会有越来越多的产品可供选择。