免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1449 | 回复: 5
打印 上一主题 下一主题

[嵌入式] 关于如何继续深入学习arm+linux? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-06 10:14 |只看该作者 |倒序浏览
各位兄弟,大家好,想必来该版的同志大都是搞嵌入式Linux的,而我正是这其中的一员,一年多来,我主要做过bootloder的修改,linux系统的编译,驱动程序的编写,应用程序的编写,移植等等。其中,我还学习了一些arm体系结构,arm编程的东西(这些对bootloader的编写,修改起了很大的作用),uClinux的移植我自己也做过一些,此外对linux中的中断,网络部分进行了一定深度的研究,当然,说了这么一些东西,其中的深度有深有浅,那就目前而言,我下面该做些什么呢?什么是我的方向呢?哪些又是我应该着重掌握的呢?还请各位多指点指点,谢谢!

当然,这里面肯定还有些没说清楚、详细,那我会继续关注并把自己的东西与大家一起交流。

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-04 06:20:00
2 [报告]
发表于 2006-12-06 16:49 |只看该作者
呵呵,关注中。。。。

论坛徽章:
0
3 [报告]
发表于 2006-12-06 19:20 |只看该作者
关注,Me too
本人只接触了一点点,交叉编译
看LZ也做了不少事情了,有这样一个基础,应该自己比较清楚接下来怎么走吧
不如把已有的经验share一下,比如写写如何入门,入门学习内容的顺序,以及需要准备的工具,硬件,和学习的资源(网络,书籍等等),谢谢

论坛徽章:
0
4 [报告]
发表于 2006-12-07 09:45 |只看该作者
呵呵
Me too。

论坛徽章:
0
5 [报告]
发表于 2006-12-07 16:38 |只看该作者

回复 1楼 edisontang 的帖子

嵌入式(ARM+Linux(uClinux))分为两个部分:硬件和软件。(就这两个方面而言,这两者有何侧重点吗?开发时需要注意哪些方面呢?)

一.        软件
1.        bootloader
1)        可以基于ADS和GCC来编写,编译等。(这两者除了在使用汇编和编译器上有所不同之外,还有什么不同呢?哪个是侧重点呢?)
2)        在引导进入C语言的main()函数的时候,上面两个方面有何不同?其中ads是通过它的库函数来实现的,那用gcc开发呢?
3)        编写bootloader的时候主要是要符合初始化的顺序,那除了这一点,其它还需要注意些什么?在写bootloader的时候应该把重点放在哪里(还是初始化的过程,还是一些驱动的修改)?
4)        对于arm处理器的各种模式,我应该如何去理解?怎么样才能在实战中使用呢?就比如arm处理器提供了fiq模式,在uClinux内核中就根本没有去利用到这种模式,那它究竟有什么用途,我们如何去使用呢 ,难道是了解一下,就可以了?

2.        交叉编译器
1)        就arm平台而言,arm7(一般不带MMU)和arm9(基本上都带MMU)两种,随之而来就会有了两种编译器arm-elf和arm-linux,其中arm-elf是线程的有编译好的,而arm-linux是需要自己编译的,那对于一个软件开发人员而言,这个方面我们应该达到什么要求呢?

3.        内核相关
1)2.4和2.6内核的区别(主要是内核的使用和驱动的开发上有何区别?)
2)内核的移植,主要是针对于arm处理器的板级移植,芯片级移植,这方面有哪些工作需要做呢?在移植的过程中需要注意什么呢?
3)内核编译,在内核编译中看到那么多选项,我如何是好呢?对于编译过程中产生的错误,我应该通过何种途径去解决呢?
4)内核开发,当应用时,可能需要去修改内核来实现自己的应用,那修改内核有没有一个什么准则?哪些方面是突破点呢(从哪里入手,从里到外?从外到内?)?

4.        驱动
1)        正如上面提到的,在2.4和2.6的内核下开发驱动有和不同?在arm7和arm9上开发驱动有何不同(在arm9上好像需要用内存映射访问?)?
2)        在开发驱动的时候,各个外围设备是否有相同的地方和不同的地方?当你学会一种设备的驱动的时候,再写其它设备的驱动需要注意什么呢?哪些方面是和处理器相关的呢?

5.        应用程序
1)        应用程序的开发,应用程序可以自己重新编写,对于网上已有的,还可以下载下来重新编译生成,在这两者的开发时,需要注意些什么呢?就比如,从网上下载源代码后,需要通过配置,编译就可以了吗(其它呢)?
2)        应用程序的移植编译,对于其它平台的软件要一直到Linux平台上,应该如何开发呢?就比如windows平台上用vc编写的软件,如何快速地移植到Linux平台上呢?

6.        其它
1)各种软件开发工具的使用,推荐

二.        硬件
1.        硬件选型
1)        处理器的选型,就比如arm处理器如何选型呢
2)        外围设备选型

2.        原理图设计
1)        原理图设计的步骤,注意事项(比如功率是否够,电流是否够?哪些地方需要加上拉电阻等等)
2)        设计原理图时,哪些方面是要先测试验证的呢?

3.        PCB设计
1)        PCB设计的步骤,注意事项(如何减少串扰,反射等等)
2)        对于高速PCB设计有何不同?
3)        哪些基础知识是必须的(比如各种封装的使用等等)

4.        EMC
1)        如何减少电磁干扰等等

5.        其它
1)各种硬件开发工具的使用,推荐



先写这么多了,希望大家添加添加,多讨论。有什么问题,可以提。

论坛徽章:
0
6 [报告]
发表于 2006-12-07 16:47 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP