嵌入式系统开发学习

    
        随着现代社会信息化进程的加快,嵌入式系统被广泛的地应用于军事、家用、工业、商业、办公、医疗等社会各个方面,表现出很强的投资价值。从国际范围来看,作为数字化电子信息产品核心的嵌入式系统目前其硬件和软件开发工具市场已经突破2000 亿美元,嵌入式系统带来的全球工业年产值更是达到了一万亿美元,随着全球经济的持续增长以及信息化的加速发展,嵌入式系统市场必将进一步增长。
本课程是为了适应目前发展迅速的嵌入式Linux 需求而设计,课程目标是让学员达到适应嵌入式应用软件开发、嵌入式系统开发或嵌入式驱动开发的基本素质。课程循序渐进的带领您嵌入式开发的世界,采用了目前应用最广泛的软硬件开发平台(LinuxArm ),可以保证您尽量贴近目前企业需求。

嵌入式开发都需要学习什么

这是一个初学者常问的问题,也是初学者问嵌入式该如何入门的根源。我感觉有两个方面,偏硬和偏软.我不认为嵌入式开发软件占绝对比重,相反,软硬件都懂,才是嵌入式高手所应该追求的,也是高手的必由之路。

硬件道路:

第一步: pcb设计,一般为开发板的电路裁减和扩充,由开发板原理图为基础,画出PCB和封装库,设计自己的电路。

第二步: SOPC技术,一般为FPGA,CPLD开发,利用VHDL等硬件描述语言做专用芯片开发,写出自己的逻辑电路,基于ALTER或XILINUX的FPGA做开发。

第三步: SOC设计,分前端,后端实现,这是硬件设计的核心技术:芯片设计.能做到这步,已经不属于平凡的技术人员。

软件道路:<script language=javascript src="/AD/200612/34.js" type=text/javascript></script> 小虫网络技术 http://www.chinaccna.com

第一步:bootloader的编写,修改, 通过这步熟悉ARM硬件结构,学习ARM汇编语言,阅读ARM的芯片手册,感觉就是像操作51单片机一样操作ARM芯片.这一步最好的两个参考资料就是:芯片手册和bootloader源代码。

第二步:系统移植, 驱动开发, 我只做过linux方向,所以也推荐学习嵌入式linux系统,作为标准体系,他开源而且可以获得大量学习资料.操作系统是整个计算机科学的核心,熟悉 kernel实属不易,kernel, 驱动开发的学习,没有什么捷径,只有多读代码,多写代码,熟悉系统API.. understanding linux kernel , linux device driver 都是不可多得的好书,值得一看。

第三步:应用程序的编写,各种GUI的移植,qt , minigui都被大量采用,两种思想都类似,熟悉一种就可以。

软件道路中,驱动,系统应该是最深入的部分,不是短时间可以掌握的,需要有勇气和耐心。嵌入式开发,软硬结合,因为硬件条件比PC差很多,所以肯定会遇见不少问题,因此实践的勇气更加重要.有问题就解决问题,无数次的实验 ,也许是解决问题的必由之路。



1、Linux 基础

安装Linux 操作系统
Linux
文件系统
Linux
常用命令
Linux
启动过程详解
熟悉Linux 服务能够独立安装Linux 操作系统
能够熟练使用Linux 系统的基本命令
认识Linux 系统的常用服务安装Linux 操作系统
Linux
基本命令实践
设置Linux 环境变量
定制Linux 的服务 Shell 编程基础使用vi 编辑文件
使用Emacs 编辑文件
使用其他编辑器

 

2、Shell 编程基础

Shell 简介
认识后台程序
Bash
编程熟悉Linux 系统下的编辑环境
熟悉Linux 下的各种Shell
熟练进行shell 编程熟悉vi 基本操作
熟悉Emacs 的基本操作
比较不同shell 的区别
编写一个测试服务器是否连通的shell 脚本程序
编写一个查看进程是否存在的shell 脚本程序
编写一个带有循环语句的shell 脚本程序

 

3、Linux 下的 C 编程基础

linux C 语言环境概述
Gcc
使用方法
Gdb
调试技术
Autoconf
Automake
Makefile
代码优化 熟悉Linux 系统下的开发环境
熟悉Gcc 编译器
熟悉Makefile 规则编写Hello,World 程序
使用 make 命令编译程序
编写带有一个循环的程序
调试一个有问题的程序

 

4、嵌入式系统开发基础

嵌入式系统概述
交叉编译
配置TFTP 服务
配置NFS 服务
下载Bootloader 和内核
嵌入式Linux 应用软件开发流程
熟悉嵌入式系统概念以及开发流程
建立嵌入式系统开发环境制作cross_gcc 工具链
编译并下载U-boot
编译并下载Linux 内核
编译并下载Linux 应用程序

 

4、嵌入式系统移植

Linux 内核代码
平台相关代码分析
ARM
平台介绍
平台移植的关键技术
移植Linux 内核到 ARM 平台 了解移植的概念
能够移植Linux 内核移植Linux2.6 内核到 ARM9 开发板

 

5、嵌入式 Linux 下串口通信

串行I/O 的基本概念
嵌入式Linux 应用软件开发流程
Linux
系统的文件和设备
与文件相关的系统调用
配置超级终端和MiniCOM 能够熟悉进行串口通信
熟悉文件I/O 编写串口通信程序
编写多串口通信程序

 

6、嵌入式系统中多进程程序设计

Linux 系统进程概述
嵌入式系统的进程特点
进程操作
守护进程
相关的系统调用了解Linux 系统中进程的概念
能够编写多进程程序编写多进程程序
编写一个守护进程程序
sleep
系统调用任务管理、同步与通信 Linux 任务概述
任务调度
管道
信号
共享内存
任务管理 API 了解Linux 系统任务管理机制
熟悉进程间通信的几种方式
熟悉嵌入式Linux 中的任务间同步与通信
编写一个简单的管道程序实现文件传输
编写一个使用共享内存的程序

 

7、嵌入式系统中多线程程序设计

线程的基础知识
多线程编程方法
线程应用中的同步问题了解线程的概念
能够编写简单的多线程程序编写一个多线程程序

 

8、嵌入式 Linux 网络编程

网络基础知识
嵌入式LinuxTCP/IP 网络结构
socket
编程
常用 API 函数
分析Ping 命令的实现
基本UDP 套接口编程
许可证管理
PPP
协议
GPRS
了解嵌入式Linux 网络体系结构
能够进行嵌入式Linux 环境下的socket 编程
熟悉UDP 协议、PPP 协议
熟悉GPRS 使用socket 编写代理服务器
使用socket 编写路由器
编写许可证服务器
指出TCPUDP 的优缺点
编写一个web 服务器
编写一个运行在 ARM 平台的网络播放器

 

9、GUI 程序开发

GUI 基础
嵌入式系统GUI 类型
编译QT
进行QT 开发熟悉嵌入式系统常用的GUI
能够进行QT 编程使用QT 编写“HelloWorld” 程序
调试一个加入信号/ 槽的实例
通过重载QWidget 类方法处理事件

 

10、Linux 字符设备驱动程序

设备驱动程序基础知识
Linux
系统的模块
字符设备驱动分析
fs_operation
结构
加载驱动程序了解设备驱动程序的概念
了解Linux 字符设备驱动程序结构
能够编写字符设备驱动程序编写Skull 驱动
编写键盘驱动
编写I/O 驱动
分析一个看门狗驱动程序
对比Linux2.6 内核与2.4 内核中字符设备驱动的不同
Linux
块设备驱动程序块设备驱动程序工作原理
典型的块设备驱动程序分析
块设备的读写请求队列了解Linux 块设备驱动程序结构
能够编写简单的块设备驱动程序比较字符设备与块设备的异同
编写MMC 卡驱动程序
分析一个文件系统
对比Linux2.6 内核与2.4 内核中块设备驱动的不同

 

11、文件系统

虚拟文件系统
文件系统的建立
ramfs
内存文件系统
proc
文件系统
devfs
文件系统
MTD
技术简介
MTD
块设备初始化
MTD
块设备的读写操作了解Linux 系统的文件系统
了解嵌入式Linux 的文件系统
了解MTD 技术
能够编写简单的文件系统为 ARM9 开发板添加 MTD 支持
移植JFFS2 文件系统
通过proc 文件系统修改操作系统参数
分析romfs 文件系统源代码
创建一个cramfs 文件系统

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入系统开发是一门涉及硬件和软件的综合学科,主要用于设计和开发嵌入设备,如智能手机、汽车电子系统、家电等。以下是一个嵌入系统开发学习路线: 1. 学习C/C++编程语言:C/C++是嵌入系统开发中最常用的编程语言,掌握它们是入门的基础。 2. 学习计算机体系结构和操作系统原理:了解计算机的基本原理和操作系统的工作原理,对于理解嵌入系统的底层运行机制非常重要。 3. 学习嵌入系统架构和硬件知识:了解常见的嵌入系统架构,如ARM、MIPS等,并学习相关的硬件知识,如处理器、内存、外设等。 4. 学习嵌入系统开发工具和平台:掌握常用的嵌入开发工具和平台,如Keil、IAR Embedded Workbench、Arduino等,以及相关的调试和测试工具。 5. 学习嵌入系统编程技术:学习嵌入系统的编程技术,如裸机编程、驱动程序开发、RTOS(实时操作系统)等。 6. 学习嵌入系统通信和网络技术:了解嵌入系统中常用的通信和网络技术,如UART、SPI、I2C、CAN、Ethernet等。 7. 学习嵌入系统电源管理和功耗优化:了解嵌入系统的电源管理技术和功耗优化方法,以提高系统的性能和续航能力。 8. 实践项目开发:通过参与实际的嵌入系统项目开发,将所学知识应用到实际中,提升自己的实践能力和项目管理能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值