『壹』 编译生成u-boot.bin文件要用什么交叉编译工具
总结起来最主要的有以下几个软件吧: 1 ADS调试用确切的说是ADS+AXD。ADS里包含AXD。原来都用SDT后来ARM公司停止对SDT支持了,改支持ADS了,还是用ADS吧。有的人的程序发布的仍然是SDT版本的,但基本都可以找到相应ADS的,新人在这里不要发蒙。ADS是编译器,AXD是调试器。便宜成AXF以后再在ARM的RAM里调试。 2 PLASHPGM FLASH烧写的软件。AXD在RAM里调试,掉电就没有了,方便程序修改。调试好的程序再下到FLASH里,上电直接运行。同类的软件还有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人还问FLASH不支持BIN格式文件的问题就要看我写的PLASHPGM使用了。 3 BANYANT调试代理(不知道名对不,起这么个难记的,我一般都叫它“半羊”因为知道它那几天刚吃了烤羊)调试代理就是用它帮你使用更简单的JTAG(便宜啊)来实现原本1K才卖的JTAG仿真器的大部分功能。JTAG调试原理看我另一篇笔记。简单的就可以把他理解为你自己做的JTAG的驱动就行了。调试代理还有很多种,什么H-JTAG了、ARM7了(不知道具体叫什么,就记得可执行文件叫ARM7.EXE)都是,BANYANT比较好。需要注意的是,没种调试代理安装方法虽然都简单但都不一样,需要看说明。而且AXD调试之前都要运行。省钱了,就别怕麻烦了。 4 ARM-ELF-TOOLS工具链里面是UClinux开发用的工具比如ARM-ELF-GCC只类的。工具链就是把很多工具打包在一起发布的方便你开发的东西。具体安装方法看我另一篇笔记。另外如果你开发LINUX就要用ARM-LINUX-TOOLS,不一样,不通用。 5 U-BOOT 大名鼎鼎的BOOTLOADER生成工具,同类的好象还有VIVI(名字很暧昧~~)生成的BOOTLOADER烧到FLASH里,然后就可以用BOOTLOADER下载烧写其他了有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像电脑上的BIOS。当然UCOS的不用这个,用什么我不知道:)最新版本是1.1.4 具体使用方法看我另一篇笔记吧。 6 UCLINUX包 UCLINUX的源码包,不用多说了吧?建议大家用现成的先体会一下,然后再自己编译,裁剪。因为单独UCLINUX的编辑技术上比较简单,但涉及的方面还是比较广的。 7 VMWARE 老牌的虚拟机软件,在一个机器上虚拟出一个机器装LINUX(PC上用的),省得你来回开关机了。记得装VMWARE-TOOLS,安装方法在我另一篇笔记里另外去网上收收卖块开发板吧.!
『贰』 关于bootloader的一些问题。高手确定的回答。
简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。
在专用的嵌入式板子运行GNU/Linux系统已经变得越来越流行。一个嵌入式Linux系统从软件的角度看通常可以分为四个层次: 1、 引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。 2、 Linux内核肆枝。特定于嵌入式板子的定制内核以及内核的启动参数。 3、 文件系统。包括根文件系统和建立于Flash内存设备之上文件系统。通常用ramdisk来作为rootfs。 4、 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式GUI有:MicroWindows和MiniGUI等。 引导加载程序是系统加电后或判运行的第一段软件代码。PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的OS BootLoader(比如,LILO和GRUB等)一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的BootLoader读到系统的RAM中,然后将控制权交给OS BootLoader。BootLoader的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。 通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。裂团敏尽管如此,我们仍然可以对BootLoader归纳出一些通用的概念来,以指导用户特定的BootLoader设计与实现。
编辑本段常见bootloader
Redboot
Redboot是Redhat公司随eCos发布的一个BOOT方案,是一个开源项目。 当前Redboot的最新版本是Redboot-2.0.1,Redhat公司将会继续支持该项目。 Redboot支持的处理器构架有ARM,MIPS,MN10300,PowerPC, Renesas SHx,v850,x86等,是一个完善的嵌入式系统Boot Loader。 Redboot是在ECOS的基础上剥离出来的,继承了ECOS的简洁、轻巧、可灵活配置、稳定可靠等品质优点。它可以使用X-modem或Y-modem协议经由串口下载,也可以经由以太网口通过BOOTP/DHCP服务获得IP参数,使用TFTP方式下载程序映像文件,常用于调试支持和系统初始化(Flash下载更新和网络启动)。Redboot可以通过串口和以太网口与GDB进行通信,调试应用程序,甚至能中断被GDB运行的应用程序。Redboot为管理FLASH映像,映像下载,Redboot配置以及其他如串口、以太网口提供了一个交互式命令行接口,自动启动后,REDBOOT用来从TFTP服务器或者从Flash下载映像文件加载系统的引导脚本文件保存在Flash上。当前支持单板机的移植版特性有: - 支持ECOS,Linux操作系统引导 - 在线读写Flash - 支持串行口kermit,S-record下载代码 - 监控(minitor)命令集:读写I/O,内存,寄存器、 内存、外设测试功能等 Redboot是标准的嵌入式调试和引导解决方案,支持几乎所有的处理器构架以及大量的外围硬件接口,并且还在不断地完善过程中。
ARMboot
ARMboot是一个ARM平台的开源固件项目,它特别基于PPCBoot,一个为PowerPC平台上的系统提供类似功能的姊妹项目。鉴于对PPCBoot的严重依赖性,已经与PPCBoot项目合并,新的项目为U-Boot。 ARMboot发布的最后版本为ARMboot-1.1.0,2002年ARMboot终止了维护。 ARMboot支持的处理器构架有StrongARM ,ARM720T ,PXA250 等,是为基于ARM或者StrongARM CPU的嵌入式系统所设计的。 ARMboot的目标是成为通用的、容易使用和移植的引导程序,非常轻便地运用于新的平台上。ARMboot是GPL下的ARM固件项目中唯一支持Flash闪存,BOOTP、DHCP、TFTP网络下载,PCMCLA寻线机等多种类型来引导系统的。特性为: -支持多种类型的FLASH -允许映像文件经由BOOTP、DHCP、TFTP从网络传输; -支持串行口下载S-record或者binary文件 -允许内存的显示及修改 -支持jffs2文件系统等 Armboot对S3C44B0板的移植相对简单,在经过删减完整代码中的一部分后,仅仅需要完成初始化、串口收发数据、启动计数器和FLASH操作等步骤,就可以下载引导uClinux内核完成板上系统的加载。总得来说,ARMboot介于大、小型Boot Loader之间,相对轻便,基本功能完备,缺点是缺乏后续支持。
U-Boot
U-Boot是由开源项目PPCBoot发展起来的,ARMboot并入了PPCBoot,和其他一些arch的Loader合称U-Boot。2002年12月17日第一个版本U-Boot-0.2.0发布,同时PPCBoot和ARMboot停止维护。 U-Boot自发布以后已更新6次,最新版本为U-Boot-1.1.1,U-Boot的支持是持续性的。 U-Boot支持的处理器构架包括PowerPC (MPC5xx,MPC8xx,MPC82xx,MPC7xx,MPC74xx,4xx), ARM (ARM7,ARM9,StrongARM,Xscale),MIPS (4Kc,5Kc),x86等等, U-Boot(Universal Bootloader)从名字就可以看出,它是在GPL下资源代码最完整的一个通用Boot Loader。 U-Boot提供两种操作模式:启动加载(Boot loading)模式和下载(Downloading)模式,并具有大型Boot Loader的全部功能。主要特性为: -SCC/FEC以太网支持 -BOOTP/TFTP引导 -IP,MAC预置功能 -在线读写FLASH,DOC, IDE,IIC,EEROM,RTC -支持串行口kermit,S-record下载代码 -识别二进制、ELF32、pImage格式的Image,对Linux引导有特别的支持 -监控(minitor)命令集:读写I/O,内存,寄存器、内存、外设测试功能等 -脚本语言支持(类似BASH脚本) -支持WatchDog,LCD logo,状态指示功能等 U-Boot的功能是如此之强大,涵盖了绝大部分处理器构架,提供大量外设驱动,支持多个文件系统,附带调试、脚本、引导等工具,特别支持Linux,为板级移植做了大量的工作。U-Boot1.1.1版本特别包含了对SA1100和44B0芯片的移植,所以44B0移植主要是针对Board 的移植,包括FLASH、内存配置以及串口波特率等等。U-Boot的完整功能性和后续不断的支持,使系统的升级维护变得十分方便。
Blob
Blob(Boot Loader Object)是由Jan-Derk Bakker and Erik Mouw发布的,是专门为StrongARM 构架下的LART设计的Boot Loader。 Blob的最后版本是blob-2.0.5。 Blob支持SA1100的LART主板,但用户也可以自行修改移植。 Blob也提供两种工作模式,在启动时处于正常的启动加载模式,但是它会延时 10 秒等待终端用户按下任意键而将 Blob 切换到下载模式。如果在 10 秒内没有用户按键,则 Blob 继续启动 Linux 内核。其基本功能为: 初始化硬件(CPU速度,存储器,中断,RS232串口) -引导Linux内核并提供ramdisk - 给LART下载一个内核或者ramdisk -给FLASH片更新内核或者ramdisk -测定存储配置并通知内核 -给内核提供一个命令行 Blob功能比较齐全,代码较少,比较适合做修改移植,用来引导Liunx,目前大部分S3C44B0板都用Blob修改移植后来加载uClinux。
Bios-lt
Bios-lt是专门支持三星(Samsung)公司ARM构架处理器S3C4510B的Loader,可以设置CPU/ROM/SDRAM/EXTIO,管理并烧写FLASH,装载引导uClinux内核。这是国内工程师申请GNU通用公共许可发布的。 Bios-lt的最新版本是Bios-lt-0.74,另外还提供了S3C4510B的一些外围驱动。
Bootldr
Bootldr是康柏(Compaq)公司发布的,类似于compaq iPAQ Pocket PC,支持SA1100芯片。它被推荐用来引导Llinux,支持串口Y-modem协议以及jffs文件系统。 Bootldr的最后版本为Bootldr-2.19。
『叁』 嵌入式需要学习什么
嵌入式开发学习路线图-尚观嵌入式研究室-嵌入式路线图
-------作者:尚观嵌入式研究室UEA0908班 范同学
为什么选择学习嵌入式?
嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一,同时也是当今IT领域仅存的几个金领职位之一。当前的中国IT人才面临严重的“后继乏人”,
而且这种缺口由于培训缺乏、教育模式等原因造成的,而缺口最大的,就是高级IT人才。如果你从事的IT培训不专业,面对竞争越来越激烈的职场,基本找不到
工作。据专家预测,嵌入式每年人才缺口在30万左右。
入式职业发展讲解视频
视频中主要讲解什么样的人适合从事嵌入式行业、嵌入式行业从业人员需要具备哪些基本素质、嵌入式行业的特点以及嵌入式行业的现状与发展。
嵌入式研发方向职业生涯讲解视频(1)
嵌入式研发方向职业生涯讲解视频(2)
嵌入式研发方向职业生涯讲解视频(3)
嵌入式研发方向职业生涯讲解视频(4)
嵌入式研发方向职业生涯讲解视频(5)
ARM+Linux嵌入式底层内核驱动方向学习总体路线图
基础学习Ⅰ---Linux入门
目前嵌入式主要开发环境有
Linux、Wince等;Linux因其开源、开发操作便利而被广泛采用。而Linux操作系统也只是一个简单的操作系统,简单的使用对于嵌入式开发人
员来说价值并不很高,真正有价值的是掌握Linux的基本服务和Linux的设计理念、思想,这对于嵌入式开发人员的长期发展是很极其重要的。Linux
系统有很多发行版,RedHat、Ubuntu、Fedora等。作为嵌入式开发人员,我们没有必要把精力放到使用哪个Linux发行版上,而是尽快把
Linux系统尽快安装好。如果打算坚持长期学习,那么建议您把自己的电脑做成双系统,而不要在虚拟机上安
装
基础学习Ⅱ---C语言
C语言是嵌入式开发必备的基础知识。在Linux下从事C语言的开发,你会觉得更为顺畅、更为自然,因为C语言是因unix的出现而诞生的,Linux内
核几乎完全是由C语言编写完成的。学习C语言,如果不会用指针,那么就称不上会C语言。做嵌入式开发指针更显得尤为重要,所以做嵌入式开发除了掌握位操
作、限定词等,对指针的掌握是不可或缺的。而且要掌握多级指针、函数指针等等。涉及到指针,那么就会讲到内存分配。在大学中,学习C语言一般的学习很少讲
到内存分配,但是如果期望从事嵌入式开发,那么就必须懂得C语言是怎么做内存分配管理的。指针之外,还要学习模块化编译处理、指针与数组、gcc、
Makefile、GDB、递归、结构体、宏定义使用等。C语言是整栋嵌入式大厦的基础,所以在学习嵌入式时,必须把C语言重视起来,多敲代码,多练。一
名优秀的程序员必定是通过“体力劳动”再转向“脑力劳动的”,这也是为什么我们要有“写不出代码=0”思想的原因所在。
如果说C语言相当于文字,那么数据结构就相当于在造句、写文章。代码质量有一部分取决于对数据结构的掌握程度。在数据结构部分我们要把链表、树、排序作
为学习重点。而且我们也可以查看一些比较常见的函数(如str、strcat、printf等)在内核中是如何实现的,以及编写代码模拟堆栈,这
不仅有利于编写代码质量的提高,而且还可以初步了解Linux内核精髓,为今后工作打下坚实的基础。
C++、QT在嵌入式开发领域,是用来开发图形界面的,希望从事上层应用开发及图形界面,那么在C++、QT方面需要比较深入的学习。
B)经典学习视频推荐:
1-1c语言编辑器vi的使用
1-2c语言编译过程及编译器gcc
2-1c语言的数据类型
2-2数据快速引用
2-3c语言运算符及表达式
3-1c语言的分支结构
3-2c语言的循环结构
4-1c语言函数的定义及传
4-2c语言函数调用
5-1-1c语言的一维数组
5-1-2二维数组及多维数组
5-1-3c语言字符数组
5-2-1c语言结构体-Struct
5-2-2C语言联合体-Union
6-1c语言指针的概念
6-2c语言指针与一维数组
6-3指针与二维数组及字符
6-4指针与结构体、联合体
6-5c语言指针与函数
6-6c语言指针常量与常量
7c语言存储空间管理
8-1c语言存储模型分析
8-2双向循环链表的创建增
8-3双向循环链表的数据管
C)经典学习案例:
1、学员成绩管理系统2、计算器3、电子词典4、文件压缩器
基础进阶---Linux应用程序设计
Linux的思想源于Unix。Linux继承了Unix的优点,但是没有用UNIX的代码,所有程序都是重新编写的,而且Linux与Unix的源码级兼容。Linux是类Unix操作系统。Linux
不仅符合 POSIX 标准,而且还包括其它 UNIX 标准的多种特性,例如,UNIX 的 System V 接口文档(System V Interface
Document,SVID)和伯克利软件发布(Berkeley Software Distribution,BSD)版本。Linux 采用了折衷的策略,包含了
UNIX 几个典型特性当中最实用的一些功能:
Linux 采用了 SVR4 的进程间通信(IPC)机制:共享内存、消息队列、信号。
Linux 支持 BSD Socket 网络编程接口。
许多 Linux 发行版采用 SysV init
机制,支持运行级别。
此阶段的学习是从事嵌入式上层应用开发以及底层开发人员的必修课程。进程、线程、信号、文件锁、socket是这部分内容的重点。要把这些内容学的透彻非要下些苦功夫不可。而且函数是系统提供给我们的,难免要对计算机系统深入理解一番。TCP/IP协议也是要涉及到的。有问题建议用Google搜索及登陆chinaunix论坛。通过这个阶段的学习,我们就可以初步实现一些应用程序的开发了,如做自己的shell命令解析器、简单的聊天软件、视频多播等。
A)经典书籍推荐:
B)经典学习视频推荐:
Linux网络开发-1、ARP攻击原理
Linux网络开发-2、ARP攻击实例分析
Linux网络开发-3、ARP攻击程序代码分析和socket构造
C)经典学习案例:
1、串口监听程序
2、图片浏览器 3、MP3播放器 4、聊天程序 5、 ftp程序
6、音频广播程序 7、ping的实现
8、DDos攻击程序 9、ARP攻击程序
嵌入式入门---ARM体系结构
从这部分开始,我们将真正进入嵌入式开发学习阶段。首先我们要知道采用哪种处理器。目前通用嵌入式处理器有ARM、MIPS、PowerPC、X86等。从市场产品占有率上看,ARM处理器远远领先于同类其它处理器,并逐步掠夺传统51单片机和英特尔市场份额。据招聘网站统计,目前用人单位在技术水平上要求开发人员掌握ARM9及以上平台的开发技术。ARM公司在发布ARM11产品后,更改以往的数字标记更新方式,转为发布ARM
Cortex。但是Cortex并不是更高端,而是全新系列的处理器,比如Cortex
M3,它主要应用于机械加工、工控领域,目的是取代以前的ARM7处理器。
在开始学习前,建议有一块自己的开发板,目前ARM9
2440的开发板价格在400-600元之间,ARM11
6410的开发板价格要高一些,最便宜的也要1200元以上。在此,提醒大家尽量不要买mini开发板,虽然mini开发板的价格要便宜些,但是与正常开发板相比,mini板功能是不完善的。嵌入式汇编有别于X86汇编,所以如果以前没有接触过汇编语言,那么没有必要先去学X86汇编再学嵌入式汇编,可以直接学习嵌入式汇编。除了汇编我们还要学习ARM指令集。有了开发板,我们要下载相对应处理器的DataSheet及开发板电路原理图。ARM体系结构的学习我们是不能完全照抄别人代码的,因为我们自己手中的开发板及处理器与别人是不同的,除非所用的代码是根据你手中的开发板来编写的。所以,我们要先去看书、看视频资料理解原理及工作方式等,然后根据自己开发板的电路原理图和DataSheet来编写代码,达到理解外围设备工作原理和操作硬件的目的。
B)经典学习视频推荐:
1)嵌入式扫盲篇
嵌入式漫谈1
嵌入式漫谈2
嵌入式漫谈3
十问嵌入式1-什么是嵌入式,创业
十问嵌入式2-嵌入式实例iphone
十问嵌入式3-嵌入式前景
十问嵌入式4-嵌入式学习
十问嵌入式5-ARM概述
十问嵌入式6-ARM概述
开发板
十问嵌入式7-ARM与单片机
十问嵌入式8-汇编语言的作用
十问嵌入式9-操作系统的选择
十问嵌入式10-编程语言选择
2)嵌入式开发概述
嵌入式开发入门经典教程-1
嵌入式开发入门经典教程-2
嵌入式开发入门经典教程-3
嵌入式开发入门经典教程-4
嵌入式开发入门经典教程-5
嵌入式开发入门经典教程-6
嵌入式开发入门经典教程-7
嵌入式开发入门经典教程-8
嵌入式开发入门经典教程-9
嵌入式开发入门经典教程-10
嵌入式开发入门经典教程-11
嵌入式开发入门经典教程-12
嵌入式开发入门经典教程-13
3)ARM体系结构与Bootloader开发
1、ARM基础概念介绍与开发板使用教程
2、编译器高级应用与裸机代码编写教程
3、ARM指令与ARM汇编入门
4、ARM汇编高级教程与APCS规范详解
5、ARM体系结构详解与异常处理机制
6、ARM中断机制详解与Watchdog驱动开发实例
7-1、ARM外部中断机制详解与LED驱动开发实例
7-2、ARM嵌入式开发之ARM外部中断机制详解与实例
8、AMBA总线结构与ARM时钟配置
9、时序图详解与NAND
FLASH驱动开发实例
10-1、内存控器与SDRAM原理详解(上)
10-2、内存控器与SDRAM原理详解(下)
11、UART串口详解与通信开发实例
12、ARM协处理器CP15配置原理
13、从零开始写Bootloader开发过程详解
C)经典学习案例:
1. ARM模拟器开发 2. Watchdog控制程序 3.
RTC时钟控制程序
4. Uart控制程序 5. LCD控制程序 6.
触摸屏控制程序
7. DMA控制程序 8. 音频控制程序 9. 网卡控制程序
10.
文件系统制作 11. ARM-Linux移植
嵌入式提升---Linux内核、驱动
众所周知嵌入式开发包含至少两个级别,一个是嵌入式内核驱动级别,另外一个是嵌入式应用层开发,而薪酬高的、最具价值的无疑是嵌入式内核驱动级别的开发者。真正的嵌入式高手或者企业中的核心开发人员,一定是嵌入式底层的内核驱动开发工程师,这些工程师成长比较缓慢,造成对内核驱动人才的大量需求,所以这些人才是真正企业需要的香饽饽。掌握驱动开发会让自己的核心能力有极大的飞跃,真正实现嵌入式最有价值的就业。
由于Linux内核更新速度很快,书籍和视频不可能及时更新,所以我们再看书和视频后,要自己动手下载内核源码包,去看内核中的代码,在这里可以充分检验C语言、数据结构等基础知识的掌握程度。而驱动的编写还是要借助外设硬件电路原理图和芯片手册。内核和驱动的知识是让我们根据不同的硬件,编写对应的驱动、合理剪裁内核、制作文件系统,并移植到硬件开发板上。如果手里有ARM11
6410及以上的开发板,可以试试在裸板上编写驱动并移植Android系统到开发板上吧。
B)经典学习案例:
1. GPIO驱动 2. RTC时钟驱动 3.
WatchDog驱动 4. Udev移植 5. 触摸屏输入设备驱动
6. LCD显示设备驱动 7. DMA驱动 8.
音频设备驱动 9. Nand Flash块设备驱动 10. 网络设备驱动
有不明白的可以到尚观嵌入式研究室咨询,或者听听免费的网络公开课,希望对你有帮助
『肆』 请详细介绍一下 UP-NETARM3000
UP-NETARM3000国内是最成熟的ARM7嵌入式教学科研实验系统,有丰富的外围教学资源。它采用模块化的设计理念, 更加强调应用,移植了目前最为流行的实时、开放源码的双操作系统μC/OS-II和UCLinux,实现了对不同专业教学要求的全覆盖。 UP-NETARM3000稳定运行嵌入式系统中应用最为广泛的μC/OS-II和μCLinux 双操作系统,非常适合高校本科生的嵌入式系统教学。它拥有国内最广泛的客户群和丰富的教学资源,有近百家实验室用户,以丰富完善的软硬件资源领先于国内其它同类平台! UP-NETARM3000实验平台 核心模块 ·基于ARM7架构的嵌入式芯片S3C44B0X ·2MB Nor Flash作为引导ROM ·8MB SDRAM 主板资源 ·16MB Nand Flash ·二个串口 ·一个USB口 ·一个JTAG通用接口 ·10M以太网口 ·触摸屏 ·17键键盘 ·320*240STN彩色LCD ·16M U盘 ·直流电机模块 ·步进电机模块 ·音频模块 ·CAN总线模块 ·A/D、D/A模块 ·I2C接口 UP-NETARM3000选配模块 IDE+CF卡模块 FPGA扩展板模块 GPS/GPRS模块 I2C模块 语音识别模块 UP-NETARM3000实验软件包 ·完全移植好的μC/OS-II、UCLinux操作系统,并分别有配套的实验指导书、实验源码。 ·支持ARM公司的ADS1.2,SDT2.5开发环境,在μC/OS-II下有对应的两套全部实验源码。 ·移植好的MiniGUI图形用户界面。 ·源码全部开放。 UP-NETARM3000配套教材 UP-NETARM3000实验指导书 μC/OS-II操作系统第一章 嵌入式系统开发环境简介 1.1 ARM SDT 2.5开发环境简介 1.2 ADS 1.2 开发环境简介 1.3 超级终端设置及BIOS功能使用第二章 嵌入式系统硬件驱动基础开发案例 2.1 ARM的串行口实验 2.2 键盘及LED驱动实验-C语言实现方法 2.3 键盘及LED驱动实验-ARM汇编语言实现方法 2.4 ARM的D/A接口实验 2.5 ARM的A/D接口实验 2.6 电机转动控制实验-C语言实现方法 2.7 步进电机控制-ARM汇编语言实现方法 2.8 LCD的驱动控制实验 2.9 触摸屏驱动实验 2.10 CAN总线通讯实验第三章 嵌入式系统核心开发案例 3.1 定时器中断和驱动程序实验 3.2 BOOTLOADER实验 3.3 μC/OS-II在ARM微处理器上的移植及编译 3.4 完善的μC/OS-II开发框架第四章 基于μC/OS-II操作系统的开发案例 4.1 音频实验 4.2 绘图的API函数 4.3 系统的消息循环 4.4 文件的使用 4.5 列表框控件的使用 4.6 文本框控件的使用 4.7 多任务和系统时钟 4.8 UDP通讯实验第五章 嵌入式系统综合开发案例 5.1 综合实验 5.2 模拟电子画板实验-触摸屏应用 5.3 基于ARM的多通道仪表数据采集实验-多任务与A/D转换第六章 图形界面MINIGUI入门案例 6.1 MINIGUI到μC/OS-II---HELLOWORLD程序 6.2 MINIGUI到μC/OS-II---LOADBMP位图操作第七章 嵌入式系统扩展板开发案例 7.1 GPRS扩展板通信实验 7.2 GPS通信实验 7.3 基于ARM7的FPGA实验附录A:嵌入式系统应用编程API函数附录B:嵌入式开发系统概况和设备驱动安装附录C:ARM汇编指令集附录D:嵌入式系统参考电路原理图 UCLinux操作系统第一章 嵌入式LINUX开发基础知识 1.1 嵌入式Linux简介 1.2 嵌入式Linux开发平台简介 1.3 嵌入式Linux开发流程 1.4 建立嵌入式Linux开发环境 第二章 基础实验 2.1 熟悉UCLinux开发环境 2.2 多线程应用程序设计 2.3 串行端口程序设计 2.4 A/D接口实验 2.5 D/A接口实验 2.6 CAN总线接口实验 2.7 LED实验 2.8 电机控制实验 第三章 MICROWINDOWS图形界面实验 3.1 Microwindows配置与安装 3.2 Microwindows绘图练习 3.3 Microwindows触摸屏原理 3.4 Microwindows事件编程练习 3.5 Microwindows综合实验 3.6 Microwindows图像处理 3.7 Microwindows汉字处理 3.8 简单嵌入式WEB服务器实验 3.9 嵌入式游戏设计 3.10 PDA-GUI设计第四章 MINIGUI图形应用程序设计 4.1 MINIGUI配置与安装 4.2 MINIGUI的程序架构及helloworld程序 4.3 MINIGUI-loadbmp位图实验 4.4 基于NEWGAL的高级GDI函数 4.5 引导装载程序(BOOTLOADER)移植实验-BLOB 4.6 内核移植与编译实验 4.7 内核驱动设计入门-模块方式驱动实验 4.8 内核驱动设计实验-触摸屏驱动 4.9 内核、根文件系统烧写实验 4.10 常用LINUX命令的使用 4.11 gcc与gdb 4.12 GNU通用公共许可证(GPL 1991.6第二版)