我的linuxarm学习 计划.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Arm裸机程序的学习Linux系统安装搭建自己的开发环境主要书目 《精通Linux设备驱动程序开发》 印度 SreekrishnanVenkateswaranLinux c编程?????学习目的:通过该阶段的学习,主要学会在Linux字符界面下用gcc进行编程及如何使用gdb进行程序调试,学会Linux c的文件操作,进线程编程,网络编程及Makefile文件的编写??????参考书目:《Linux c语言编程一站式学习》《Linux c编程指南》????????????????《How to write Makefile》??????参考视频:天嵌开发板配套光盘之中嵌视频1-20课国嵌视频:第2阶段(Linux应用程序设计)??????使用工具:编译工具-gcc,调试工具-gdb,编程工具-viARM硬件编程:通过该阶段的学习知道如何使用Keil4进行6410的裸机编程,了解ARM的体系结构及汇编参考书目:《ARM嵌入式体系结构与编程》《s3c6410 datasheet》??????????????《嵌入式Linux应用开发完全手册》第二篇参考视频:韦东山视频1-8课使用工具:Jlink s3c6410开发板使用软件:Keil4 SERRG嵌入式环境搭建:???????????????????????系统移植:通过该阶段学习能够初步理解什么是bootloader,什么是内核,什么是文件系统并且能移植一个系统在6410开发板上成功运行,第一步移植内容为bootloader(u-boot)移植,第二步移植内容为内核移植,第三步移植内容为文件系统移植。参考书目:《嵌入式Linux应用开发完全手册》第三篇??????????????天嵌配套光盘之《天嵌科技出品-Linux移植》参考视频:《嵌入式Linux应用开发完全手册》配套视频9-11课使用软件:arm-linux-gcc驱动开发:???通过该阶段的学习大家能初步了解Linux驱动开发的步骤,了解Linux驱动程序的基本框架并且能成功移植几个最常用驱动程序?????参考书目:《嵌入式Linux应用开发完全手册》第四篇,《Linux设备驱动程序》??GPIO接口IIC接口UART接口ADC接口内核开发u-boot设备驱动参考书目要想学好嵌入式Linux,首先要解决两个重要问题:1. 学什么?2. 怎么学?首先解决第一个问题。嵌入式Linux的系统架构包括软件和硬件两个部分,如下图:再来看看一个成熟的嵌入式产品的开发流程是怎么一个过程:1.硬件开发责任人: 硬件工程师负责部分:基于EVM板, 添加、修改、删除硬件2.Bootloader移植责任人:系统工程师或驱动工程师负责部分:将Bootloader移植到流程1所开发出来的硬件平台3. Linux内核责任人:系统工程师或驱动工程师负责部分:将Linux内核移植到流程1所开发出来的硬件平台4.根文件系统制作责任人:系统工程师负责部分:制作供内核启动的根文件系统5.1 业务相关的应用程序责任人:应用工程师负责部分:开发和产品密切相关的应用程序5.2 业务相关的驱动程序责任人:驱动工程师负责部分:开发和产品密切相关的驱动程序,如触摸屏、无线网卡6. 功能测试,性能测试,系统集成测、实验局(系统设备)、发布看完上面这些,你应该对嵌入式Linux有一个大概的认识了。我们再来理清一下知识结构,再对其进行细分。先来看预览一下“学什么”知识结构:1.嵌入式处理器与裸机程序2.Linux系统管理3.Linux应用程序开发4.Linux驱动程序开发5.Linux内核开发与系统移植再来对每一项要学习的东西进行汇集:处理器:1. ARM处理器工作模式?2. ARM系统寄存器?3. ARM寻址方式?4. ARM 汇编指令集?5. ARM环境C语言编程?6. ARM中断与异常?7. ADS集成开发环境?8. 裸机程序开发(串口、LCD、时钟、LED、按键……)系统管理:1. Linux定制安装?2. Linux命令详解?3. samba、nfs、tftp、wireshark使用?4. Shell编程应用程序开发:1. GCC、GDB、Makefile?2. 文件、时间编程?3. 多进程、多线程程序设计?4. 进程间通讯?5. 网络编程?6. QT图形化应用程序开发?7. Android图形化应用程序开发内核开发:1. Linux内核配置与裁剪?2. Linux内核模块开发?3. 根文件系统制作?4. 进程子系统?5. 内存子系统?6. Proc文件系统?7. 系统调用?8. 内核定时器?9. 内核异常分析驱动程序开发:1. 字符设备驱动程序?2. 总线、设备、驱动模型?3. 硬件访问技术?4. 中断处理?5. Input设备驱动?6. Platform驱动

文档评论(0)

mei1809816wei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档