嵌入式Linux系统工程师都学些什么?

嵌入式Linux系统工程师都学些什么?,第1张

课程安排课程简介第一周嵌入式C语言编程基础 主要介绍在嵌入式开发编程中C语言的重要概念和编程技巧中的重点难点,以复习串讲和实例分析的形式,重点介绍包括函数与程序结构,指针、数组和链表,库函数的使用等知识。第二周Linux *** 作和编程基础 主要介绍 Linux 的基本命令和基础编程知识,包括Linux的文件 *** 作和目录 *** 作命令,VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具等知识。第三周Linux 上C 强化编程训练 主要包括整数算法训练,递归和栈编程训练,位 *** 作训练,指针训练,字符串训练和常用C库函数编程接口实践,强化学员对Linux下基本编程开发的理解和编码调试的能力。第四-七周Linux环境高级编程及项目开发编程实践 主要包括系统编程(信号/系统调用/管道/FIFO/消息队列/共享内存等),文件I/O编程(文件描述符/文件读写接口/原子 *** 作/阻塞与非阻塞IO等),多任务和多线程编程(进程标识/用户标识/fork与vfork/多线程概念/线程同步等),网络编程(网络基本概念/套接口编程/网络字节次序/ Client/Server 结构/ UDP 编程);掌握Linux下Socket编程的开发流程,熟悉网络编程的调用接口函数和相关数据结构,使学员初步具备在Linux上进行系统编程开发的能力。同时综合之前所学内容和编程技术,以小组为单位进行一个团队合作项目的开发,考核内容包括文件I/O编程,多线程编程,网络编程和项目文档编写。期中考试第八-九周嵌入式处理器体系结构及编程实践 主要介绍 ARM、MIPS、PowerPC等体系结构及其基本编程知识,包括指令分类,寻址方式、指令集、存储系统、异常中断处理、汇编语言以及C\C++和汇编语言的混合编程等知识。同时结合ARM嵌入式开发板硬件设计原理和基本硬件设计流程,分析各种外设的工作原理和驱动机制,并自己动手实践完成一个ARM开发板上的编程大作业。第十-十一周嵌入式Linux开发基础及高级应用 主要介绍嵌入式 Linux 开发应用程序的基本流程和知识,包括嵌入式Linux基本概念和开发流程、Bootloader 工作原理、内核裁减配置和交叉编译、根文件系统制作、网络编程及图形界面和数据库开发等知识。同时独立完成一个基于嵌入式Linux GUI的应用编程大作业。第十二-十三周嵌入式 Linux驱动理论及驱动程序开发实践 主要介绍嵌入式 Linux 上驱动程序开发规范,包括设备驱动程序概念、字符设备驱动程序、块设备与网络设备、网卡驱动以及常用嵌入式设备驱动开发等知识。同时独立实现两种嵌入式设备驱动程序的编写,包括驱动模块的调试和加载以及完整的项目开发文档的编写。第十四-十五周嵌入式Linux项目团队开发实践锻炼 主要包括设计并实现一个真实和完整的嵌入式项目的开发流程,涉及到数据采集、网络通讯、图形用户界面显示以及嵌入式数据库存储系统等多种嵌入式Linux编程技术。要求学员建立起团队开发和协同工作的企业项目开发模式的概念和流程,强化学员对编写项目概要设计文档和详细设计文档的理解,为就业前的职业技能和素质训练做好充分准备。毕业典礼培训目标学习内容掌握程度掌握三种编程语言C 语言精通 C++ 语言 了解 ARM 汇编语言 熟悉 掌握两种嵌入式Linux *** 作系统Linux精通 uCLinux精通 掌握两种嵌入式实时 *** 作系统VxWorks 熟悉 uC/OS-II 熟悉 掌握三种处理器体系结构ARM 体系结构精通 MIPS 体系结构 熟悉 PowerPC 了解掌握五种ARM核处理器Samsung S3C2410/S3C44B0精通 Intel XScale PXA255精通 Philips LPC22xx精通 EP7312 熟悉 MIPS Godson 龙芯 熟悉 掌握两种硬件设计工具Candence PCB 熟悉 Protel 了解掌握两种Linux下编辑软件VI精通 EMACS 了解掌握两种串口通讯工具超级终端 (Windows) 熟悉 MiniCOM (Linux) 熟悉 掌握三种 Flash 烧写工具Flash Programmer (GUI) 熟悉 JFlash 烧写软件及原理精通 SJF系列烧写软件及原理精通 掌握两种调试工具JTAG 在线调试器 熟悉 SkyEye 仿真调试工具 熟悉 掌握两种集成开发环境ARM ADS 1.2精通 K-Develop IDE 熟悉 掌握一种源代码版本管理工具CVS 熟悉 掌握嵌入式 Linux整体开发流程 熟悉 GNU 交叉编译器使用Cross-compiler-gcc/g++精通 Linux Makefile 组织结构精通 Bootloader 启动代码u-Boot精通 RedBoot 熟悉 内核编译配置参数设置精通 内核调试 熟悉 文件系统JFFS2 文件系统精通 NFS 文件系统精通 ROMFS 文件系统精通 EXT2 文件系统 熟悉 YAFF 文件系统 了解设备驱动程序液晶LCD 设备驱动精通 USB设备驱动精通 网卡设备驱动精通 嵌入式图形系统MiniGUI精通 QT/Embedded 熟悉 MicroWIN 了解嵌入式数据库系统SQLLite精通 嵌入式应用程序开发网络通讯应用开发精通 数据库存储应用开发 熟悉 多媒体应用开发 熟悉 图形用户界面开发精通 Shell 编程技巧 熟悉 【说明】精通 ―― 表明对于所学内容和工具的原理进行过深入分析,了解相关内容实现的具体技术细节,并掌握了相关工具的高级使用技巧。熟悉 ―― 表明对于所学内容和工具能够融会贯通,掌握相关内容的基本概念,并能够熟练使用相关工具的常用技巧。了解 ―― 表明对于所学内容和工具一般了解,能够区别相关内容在概念上的异同,并能够初步使用相关工具。

1.首先,建立交叉编译环境:交叉编译是指:在PC机上编译,在目标板上执行,我PC是linux+ arm-elf-gcc编译器.扳子是ARM3000.板子上的系统是uclinux,这时一个剪裁的很小的实时嵌入式linux *** 作系统.推荐使用这个.

2.然后就是你写程序喽,不过注意可能有些库函数不能用,因为哪个编译器稍微受限一点,不是所由的c库函数都支持,不过一般开发的都有.

3.连起你的主机和开发板,这个你会不?要连两个:串口(用来控制板子)和以太口(用来下载程序),我们板子上这些外设都有,你要使没有可以用其他的口代替传程序,但串口可是该有的阿!

4.在你主机上编译程序生成目标代码,建议用makefile文件来组织你的联编关系.

5.把生成代码下载到目标板执行调试.我是用的主机的NFS(网落文件)服务,下载到目标板的.

6.注:目标板是怎么控制的呢?是用串口控制的,可用minicom,设置好你要控制的串口,也应该是你连板子的那个.在命令行里敲上minicom,即进入minicom截面,开启你的板子,应该就是板子uclinux系统解压安装的画面了.然后用ifconfig eth0.....

配置ip,这个ip就是你板子的ip了,注意与主机一个网段.然后mount -t nfs 主机ip:/uclinux /板子上的一个目录,就把主机的 uclinux目录放到板子上了(这么说其实不合理,应该叫挂载). 然后找到你刚才一经编译好的哪个目标代码执行即可.

因不了解你的具体环境和配置,暂说这些,有问题可再联系:)

搭建嵌入式Linux平台其实就是在宿主机与目标机之间的连接,宿主机一般就是PC,目标机就是开发板。软件:在宿主机上需要Linux的发行版,目标机上需要移植Linux内核。交叉编译实现:先在宿主机上安装交叉工具链(ARM的),网上很多下载,也可以自行订制。然后用交叉工具链编译程序部署到目标机才可以运行。搭建平台还远不止这些,你还要移植bootloader(推荐U-Boot),移植Linux内核之后还要制作根文件系统(相当于计算机的硬盘),否则系统是无法启动的。

指导教程有很多,百度文库里面就有,只要搜索“Linux移植”一般整个搭建过程都会有叙述,但是整个的搭建过程因目标板、因内核、因交叉工具链等等的同而不同,没有普适的办法,整个移植的过程也会出现各种问题,耐心搭建吧,呵呵,祝你好运!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9003276.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存