 |
 |
 |
 |
 |
 |
面向实时嵌入式系统的图形用户界面支持系统――MiniGUI 对开放源码的自由软件来说,程序员得到的通常是源代码。在编译源代码并正确安装和配置的过程中,往往会涉及到许多工具和函数库,因此其过程经常显得有些繁复,从而也导致许多程序员望而生畏。本文重点介绍了 MiniGUI 的编译、安装和配置过程,解释了该过程中要使用的工具,并说明了 MiniGUI 的配置选项。本文可帮助程序员快速正确地安装和配置 MiniGUI。 |
|
|
|
2000年10月1日 |
|
| |
面向实时嵌入式系统的图形用户界面支持系统――MiniGUI 本文介绍面向实时嵌入式系统的图形用户界面�D�DMiniGUI,其产生、发展及优势,并与其他面向嵌入式系统的 GUI 进行了比较,然后结合实例介绍了 MiniGUI 的一些重要功能和特色,最后,本文介绍了正在进行的 MiniGUI 的开发情况。 |
|
|
|
2000年10月1日 |
|
| |
嵌入式系统数据同步协议 目前在嵌入式系统与其他通信设备的数据同步方面,业界还没有统一的标准、协议。为了解决这个问题,IBM、Lotus、Motorola、Nokia、Palm Inc、Psion、Starfish Software已经形成了SyncML协议的标准草案。这个草案将会发展成为一个通用的可以被用在工业界的同步协议。本文简单介绍了SyncML协议与应用该协议的工具包。 |
|
|
|
2001年2月1日 |
|
| |
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(一) 自 MiniGUI 从 1998 年底推出以来,越来越多的人开始选择 MiniGUI 在 Linux 上开发实时嵌入式系统。为了帮助嵌入式软件开发人员使用 MiniGUI编写出更好的应用程序,我们将撰写一系列文章讲解基于 Linux 和 MiniGUI 的嵌入式系统软件开发,并冠名 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南。本文是该系列文章的第一篇,将讲述如何针对具体项目选择使用 MiniGUI-Threads 或者 MiniGUI-Lite 版本,并比较不同版本对系统软件结构的影响。 |
|
|
|
2001年6月1日 |
|
| |
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南 在利用 MiniGUI 开发应用程序之前,首先要理解的两个概念就是消息循环和窗口过程。消息循环是事件驱动的 GUI 编程之基础。而窗口则是图形用户界面的最基本交互元素。本文描述了 MiniGUI 中与消息相关的几个重要函数,也描述了 MiniGUI-Threads 和 MiniGUI-Lite 在消息循环实现上的几个不同。本文还讲述了在 MiniGUI 中的窗口建立和销毁过程,并解释了窗口过程的概念以及对一些重要消息的处理。 |
|
|
|
2001年7月1日 |
|
| |
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南 本文讲述 MiniGUI 中的对话框和控件编程。首先讲解 MiniGUI 中的控件类和控件实例的关系,并举例说明控件子类化的概念及应用;其次讲解 MiniGUI 对话框的编程技术,包括对话框模板的定义和对话框回调函数的编程;最后解释模态对话框和非模态对话框之间的区别。 |
|
|
|
2001年7月1日 |
|
| |
嵌入式操作系统的调试 调试是开发过程中必不可少的环节,通用的桌面操作系统与嵌入式操作系统在调试环境上存在明显的差别。前者,调试器与被调试的程序往往是运行在同一台机器、相同的操作系统上的两个进程,调试器进程通过操作系统专门提供的调用接口(早期UNIX系统的ptrace调用、如今的进程文件系统等)控制、访问被调试进程。后者(又称为远程调试),为了向系统开发人员提供灵活、方便的调试界面,调试器还是运行于通用桌面操作系统的应用程序,被调试的程序则运行于基于特定硬件平台的嵌入式操作系统(目标操作系统)。这就带来以下问题:调试器与被调试程序如何通信,被调试程序产生异常如何及时通知调试器,调试器如何控制、访问被调试程序,调试器如何识别有关被调试程序的多任务信息并控制某一特定任务,调试器如何处理某些与目标硬件平台相关的信息(如目标平台的寄存器信息、机器代码的反汇编等)。 |
|
|
|
2001年7月1日 |
|
| |
嵌入式 Linux 应用:概述 在对嵌入式 Linux 的应用及其环境做了一番考察之后,接下来 Darrick Addison 将一步步地教您如何建立开发这些应用的软、硬件环境。 |
|
|
|
2001年8月1日 |
|
| |
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南 本文讲述 MiniGUI 中 GDI 函数及其使用。主要包括:设备上下文的概念、获取和释放;矩形操作和区域操作;基本绘图函数;位图操作函数;逻辑字体操作函数等。 |
|
|
|
2001年8月1日 |
|
| |
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南 本文向读者展现了 MiniGUI 的最新开发成果,即在 MiniGUI 1.1.0Pre4 版本中引入的新的 GAL 和新的 GDI 功能和接口。这些接口最终会出现在 MiniGUI 1.1.0 正式版本中。本文主要内容包括 GAL 和 GDI 的关系,新 GAL 引擎的接口特点,新 GDI 的功能增强以及接口应用范例等等。 |
|
|
|
2001年10月1日 |
|
| |
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南 为了让读者对嵌入式 Linux 当中能够使用的图形及图形用户界面有个较为全面的认识,本文将为读者介绍一些嵌入式 Linux 系统中常见的图形及图形用户界面系统,并作为《基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南》系列的最后一篇文章。本文首先概述了 Linux 图形领域的基本设施,然后描述了一些可供嵌入式 Linux 系统使用的高级图形库以及图形用户界面支持系统,并大概比较了这些系统的优缺点。希望能对嵌入式 Linux 系统的开发有所帮助。 |
|
|
|
2001年11月1日 |
|
| |
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南 我们在“MiniGUI1.1.0 版本引入的新 GDI 功能和函数”一文中描述了在 1.1.0Pre4版本中添加的新 GDI 相关函数的功能及其使用。目前,MiniGUI 1.1.0Pre7版本已经发布,该版本较 1.1.0Pre4 版本新增了若干 GDI 函数,新 GDI接口也相对成熟。本文将描述新增的 GDI 接口及其使用。 |
|
|
|
2001年11月1日 |
|
| |
基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(六) 本文讲述了 MiniGUI 为应用程序提供的非 GUI/GDI 接口,这些接口能够帮助应用程序更好地和操作系统交互,扩展应用程序功能,并提高应用程序的可移植性。内容主要涉及到如下几个方面:MiniGUI-Lite 和 select 系统调用;基于 UNIX Domain Socket 的进程间通讯;编写可移植性代码等。 |
|
|
|
2001年11月22日 |
|
| |
嵌入式设备上的 Linux 系统开发 如果您刚接触嵌入式开发,那么大量可用的引导装载程序(bootloader)、规模缩小的分发版(distribution)、文件系统和 GUI 看起来可能太多了。但是这些丰富的选项实际上是一种恩赐,允许您调整开发或用户环境以完全符合您的需要。对 Linux 嵌入式开发的概述将帮助您理解所有这些选项。 |
|
|
|
2002年3月1日 |
|
| |
嵌入式Linux开发系列之一: 走进嵌入式Linux的世界 随着信息化技术的发展和数字化产品的普及,以计算机技术、芯片技术和软件技术为核心的嵌入式系统再度成为当前研究和应用的热点,通信、计算机、消费电子技术(3C)合一的趋势正在逐步形成,无所不在的网络和无所不在的计算(everything connecting, everywhere computing)正在将人类带入一个崭新的信息社会。 |
|
|
|
2003年9月1日 |
|
| |
嵌入式系统 Boot Loader 技术内幕 本文详细地介绍了基于嵌入式系统中的 OS 启动加载程序 ―― Boot Loader 的概念、软件设计的主要任务以及结构框架等内容。 |
|
|
|
2003年12月1日 |
|
| |
嵌入式数据库系统Berkeley DB Berkeley DB是历史悠久的嵌入式数据库系统,主要应用在UNIX/LINUX操作系统上,其设计思想是简单、小巧、可靠、高性能。本文是对DB开发的一个入门级指南,重点讨论了DB的核心数据结构和数据访问算法,并通过实际的代码演示如何使用DB。最后有一个对DB的简单总结,并提出作者对工具选择的一些感想。 |
|
|
|
2005年4月1日 |
|
| |
如何为嵌入式开发建立交叉编译环境 在进行嵌入式开发之前,首先要建立一个交叉编译环境,这是一套编译器、连接器和libc库等组成的开发环境。文章通过一个具体的例子说明了这些嵌入式交叉编译开发工具的制作过程。 |
|
|
|
2005年9月1日 |
|
| |
Linux 的魅力: Zaurus 引领嵌入式 Linux Sharp Zaurus 手持式系统是嵌入式 Linux 系统的一个先锋,Peter Seebach 认为在一种技术早期出现时就为其贡献自己的力量是一个好主意。在这个“Linux 的魅力”系列文章中,Peter 将对 Zaurus SL-5600 进行一下拆解,从而更好地了解一下它的历史。 |
|
|
|
2006年1月16日 |
|
| |
使用 Lua 编写可嵌入式脚本 虽然编译性编程语言和脚本语言各自具有自己独特的优点,但是如果我们使用这两种类型的语言来编写大型的应用程序会是什么样子呢?Lua 是一种嵌入式脚本语言,它非常小,速度很快,功能却非常强大。在创建其他配置文件或资源格式(以及与之对应的解析器)之前,请尝试一下 Lua。 |
|
|
|
2006年6月12日 |
|
| |
使用 Lua 编写可嵌入式脚本 虽然编译性编程语言和脚本语言各自具有自己独特的优点,但是如果我们使用这两种类型的语言来编写大型的应用程序会是什么样子呢?Lua 是一种嵌入式脚本语言,它非常小,速度很快,功能却非常强大。在创建其他配置文件或资源格式(以及与之对应的解析器)之前,请尝试一下 Lua。 |
|
|
|
2006年6月12日 |
|
| |
BusyBox 简化嵌入式 Linux 系统 BusyBox 是很多标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet(不过它的选项比传统的版本要少);有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。本文将探索 BusyBox 的目标,它是如何工作的,以及为什么它对于内存有限的环境来说是如此重要。 |
|
|
|
2006年9月11日 |
|
| |
基于 GTK+ 和 X-window 的 GUI 在嵌入式 Linux 中的应用 在嵌入式 Linux 下有很多图形界面系统 GUI,包括 Qt/Embedded,FLTK,Microwindows 和 GTK+ 等。作为一个开发者,到底使用什么样的 GUI 系统呢?对一个系统,将它改造为符合你的需求,你要做多少修改呢?修改后的系统的尺寸一般会有多大呢?这些都是开发人员会遇到的问题。我们在这里讨论的就是要对这些内容做一个具体细致的分析,通过我们的讨论,大家会对基于 GTK+ 和 X 的 GUI 在嵌入式Linux 下的应用有一个确切的了解。 |
|
|
|
2006年12月7日 |
|
| |
嵌入式 Linux 产品的 safe mode 设计与实现 目前的各种嵌入式产品已经丰富多彩,它们正改变着我们的生活方式。随着嵌入式产品功能的增加,如何让用户对已购买的产品的升级能安全地、顺利地完成,避免升级过程中出现的意外掉电所引起的产品故障,这样的问题要求嵌入产品设计开发者在设计时就将产品的 safe mode 安全模式考虑进去。
这里我们将以一个嵌入式Linux 网络播放器为例,来说明 safe mode 安全模式的设计与实现。通过本文,我们可以了解到针对一个实际的嵌入式系统,设计中需要注意的技术要点和实现细节。 |
|
|
|
2007年8月20日 |
|
| |
uClinux 在 S3C4510B 嵌入式开发板上的移植和开发详解 本文对 uClinux 在 S3C4510B 嵌入式开发板上的移植、网络服务设置、驱动以及用户程序开发等问题进行了较为详细的介绍。本文中所总结的经验可供在上述嵌入式环境下工作的开发人员借鉴,也能为其他嵌入式平台的开发提供一定的启发。 |
|
|
|
2007年12月20日 |
|
| |
JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用 作为一个基本的图像压缩方式,JPEG 已经得到了广泛的运用,但 JPEG 相关的基本原理,却经常被忽视,或解释得很不确切。
这里我们详细讨论一下 JPEG 的编码原理,并结合实例来给出一个更加感性的认识。
|
|
|
|
2008年9月4日 |
|
| |
嵌入式系统中进程间通信的监视方法 本文详细描述了一种利用 ptrace 系统调用,实现嵌入式系统内部进程通信的监视方法,并提供了相应的实现方案。
|
|
|
|
2008年12月18日 |
|
| |
定制嵌入式系统中 Apache 的日志回滚工具 Apache 是目前世界上使用最广泛的 web 服务器。随着 Apache 的广泛使用,访问次数越多,日志就越多,如何有效的管理日志将是一个很重要的问题,因此选择一个好的日志管理程序是很有必要的。 |
|
|
|
2009年3月26日 |
|
| |
从头开始构建一个嵌入式 Linux 发行版 学习如何为嵌入式环境构建一个定制 Linux 发行版,本教程针对的是 Technologic Systems TS-7800 单板计算机。在这篇教程中,将学习交叉编译、启动装载器、文件系统、根文件系统、磁盘镜像和启动过程,您可以在构建系统和创建发行版时选择它们。 |
|
|
|
2008年9月1日 |
|
| |
developerWorks: zone name : library : papers 本文是系列文章《基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南》的第一篇,将讲述如何针对具体项目选择使用 MiniGUI-Threads 或者 MiniGUI-Lite 版本,并比较不同版本对系统软件结构的影响。 |
|
|
|
2000年10月1日 |
|
| |
MiniGUI Lite 版本的新改进 MiniGUI从0.98开始推出Lite版本。Lite版本是MiniGUI迈向嵌入式应用重要的一步。在Lite版本中,我们使用了自己设计的引擎,抛弃了pthread库,从而使得MiniGUI能够轻装上阵,更稳定,更高效率,也更符合嵌入式系统应用。本文介绍了MiniGUILite版本的基于UnixIPC实现的多进程机制。并详细介绍了一些实现细节。 |
|
|
|
2001年2月1日 |
|
| |
MiniGUI 体系结构之四 本文是 MiniGUI 体系结构系列文章的第四篇。图形抽象层(GAL)和输入抽象层(IAL)大大提高了 MiniGUI 的可移植性,并将底层图形设备和上层接口分离开来。这里将重点介绍 MiniGUI 的 GAL 和 IAL 接口,并以最新的 MiniGUI-Lite 版本为例,介绍基于 Linux FrameBuffer 的 Native 图形引擎的实现,以及特定嵌入式系统上输入引擎的实现。 |
|
|
|
2001年4月1日 |
|
| |
MiniGUI 体系结构之四 本文是 MiniGUI 体系结构系列文章的第四篇。图形抽象层(GAL)和输入抽象层(IAL)大大提高了 MiniGUI 的可移植性,并将底层图形设备和上层接口分离开来。这里将重点介绍 MiniGUI 的 GAL 和 IAL 接口,并以最新的 MiniGUI-Lite 版本为例,介绍基于 Linux FrameBuffer 的 Native 图形引擎的实现,以及特定嵌入式系统上输入引擎的实现。 |
|
|
|
2001年4月1日 |
|
| |
介绍机器人技术--机器人走进开放源代码 Darrick Addison 是一个在数据库、网络、用户界面和嵌入式系统方面具有丰富经验的开发人员,他介绍了机器人技术领域和与机器人系统有关的问题。他谈到了机械设计、传感系统、电子控制和软件。他还讨论了微控制器系统,包括串行接口连接和存储映象接口连接,并谈到了某些可供选择的开放源代码软件。 |
|
|
|
2001年11月27日 |
|
| |
Linux内核配置系统浅析 随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,并最终被编译进 Linux 内核。这就需要了解 Linux 的内核配置系统。 |
|
|
|
2003年3月1日 |
|
| |
Linux 关机重启流程分析 linux下的关机和重启流程对于一般的桌面应用和网络服务器来说并不重要,但是在用户自己定义的嵌入式系统内核中就有一定的研究意义,通过了解Linux 关机重启的流程,我们对它可以修改和自定义,甚至以此为基础开发出全新的功能来。 |
|
|
|
2003年8月11日 |
|
| |
基于Linux的实时系统 越来越多的开发者在基于Linux系统构造嵌入式实时应用,他们迫切地需要一份基于Linux系统构造嵌入式实时系统的指南性的文章。考虑到这种需求,本文在介绍了几种基本的实时进程调度算法的基础上,研究了普通的Linux操作系统的进程调度,并十分全面地调查了各种实时Linux系统为了支持实时特性对普通Linux系统所做的改进。文章分析了将Linux操作系统应用于实时领域中时所出现的一些问题,并总结了各种实时Linux是如何解决这些问题的,最后对于如何将这些已有的研究成果应用与实际的研究和开发工作中作了很好的建议。 |
|
|
|
2003年10月11日 |
|
| |
利用异常表处理 Linux 内核态缺页异常 本文通过分析 Linux 源码中的缺页异常处理部分,介绍了 GCC 提供的嵌入式汇编的扩展功能,向读者揭示了运行在核心态的进程如何通过内核设置好的异常表进行缺页异常处理的过程。 |
|
|
|
2003年11月17日 |
|
| |
Linux串口上网的简单实现 本文主要说明某些简易 Linux 环境或者嵌入式 Linux 中实现串口上网的简单实现,这在工业控制中有着广泛的应用。希望对实现无网卡设备上网的方法有抛砖引玉的作用。 |
|
|
|
2003年12月1日 |
|
| |
Eclipse 和 HSQLDB:将关系数据库服务器嵌入到 Eclipse 中,第 2 部分 -- 如何编写将 HSQLDB 数据库服务器集成到 Eclipse Workbench 中的插件 本系列的第 1 部分介绍了用于嵌入式应用程序的 HSQLDB 引擎,它也可以作为以“大型”数据库为对象的项目的开发平台。我们创建了一个 Eclipse 插件,并在 Workbench 菜单中启动了已有的工具。在此第 2 部分,我们将考虑如何利用 Eclipse 的特性来克服在第 1 部分中开发的插件的一些局限性,例如允许多个同时活动的 HSQLDB 服务器实例,每个实例分别去监听不同 TCP 端口上的连接。 |
|
|
|
2004年2月16日 |
|
| |
Qt 的内部进程通信机制 Qt 作为一种跨平台的基于 C++ 的 GUI 系统,能够提供给用户构造图形用户界面的强大功能。自从 1996 年 Qt 被 Trolltech 公司发布以来,该系统成为世界上很多成功的图形用户应用所使用的主要系统。更为重要的是,Linux 操作系统的桌面环境系统 KDE 也是基于 Qt 构造的。目前,Qt 已经提供了对包括 MS/Windows、Unix/X11 和嵌入式平台的支持,得到了越来越广泛的应用。 |
|
|
|
2004年4月1日 |
|
| |
SkyEye硬件模拟平台,第二部分: 安装与使用 本文主要介绍SkyEye硬件模拟平台的安装与使用。对SkyEye的使用,可以调试和开发多种嵌入式操作系统和系统软件,有助于对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更深刻的了解。 |
|
|
|
2004年9月1日 |
|
| |
SkyEye硬件模拟平台,第三部分: 硬件仿真实现之一 本系列文章的第三部分主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更深刻的了解。 |
|
|
|
2004年10月1日 |
|
| |
SkyEye硬件模拟平台,第三部分: 硬件仿真实现之三 本系列文章的第三部分主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更深刻的了解。 |
|
|
|
2004年10月1日 |
|
| |
SkyEye 硬件模拟平台, 第一部分:SkyEye 介绍 本文主要介绍了 SkyEye 硬件模拟平台起源,背景和发展状况。SkyEye 是一个可以模拟嵌入式硬件开发板的系统软件。通过 SkyEye 的了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更深刻的了解。 |
|
|
|
2004年10月7日 |
|
| |
SkyEye硬件模拟平台,第三部分:硬件仿真实现之二 �� CPU/开发板仿真 本系列文章的第三部分主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更深刻的了解。 |
|
|
|
2004年10月25日 |
|
| |
SkyEye硬件模拟平台,第三部分: 硬件仿真实现之四 本系列文章的第三部分主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更深刻的了解。 |
|
|
|
2004年11月1日 |
|
| |
SkyEye硬件模拟平台,第三部分: 硬件仿真实现之五 本系列文章的第三部分主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更深刻的了解。 |
|
|
|
2004年11月1日 |
|
| |
SkyEye硬件模拟平台,第三部分: 硬件仿真实现之六 本系列文章的第三部分主要介绍了SkyEye硬件模拟平台的实现细节。主要内容包括SkyEye的总体设计、SkyEye的可扩展框架、SkyEye的关键数据结构、SkyEye对各种CPU的模拟实现、SkyEye对各种外设的模拟实现、如何安装使用SkyEye以及如何扩展SkyEye的仿真模块等。对SkyEye的深入了解,有助于对嵌入式硬件系统有更深入的认识,特别是对操作系统、驱动程序如何与嵌入式硬件系统进行交互有更深刻的了解。 |
|
|
|
2004年11月1日 |
|
| |
使用 Trace32 对 FLASH 编程 随着软硬件复杂性的增加,在嵌入式系统开发中,调试器对项目的开发进度、质量起着越来越重要的作用。在众多的调试器中,Lauterbach 公司的 Trace32 凭借其强大的功能,出色的性能,成为目前嵌入式系统开发中,尤其是高端系统中普遍采用的调试工具。 |
|
|
|
2005年5月19日 |
|
| |
Linux 实时技术与典型实现分析, 第 1 部分: 介绍 本系列文章分两部分,第 1 部分阐述了实时的概念、衡量实时性的指标,详细地分析了嵌入式系统对 Linux 实时性的需求以及 Linux 在实时性方面的不足,然后简单地描述了三个著名的 Linux 实时实现,第 2 部分对一个典型的实时实现(Ingo's RT patch)做了详尽的分析。 |
|
|
|
2005年6月1日 |
|
| |
Linux 实时技术与典型实现分析, 第 2 部分: Ingo Molnar 的实时补丁 这是本系列文章(分两部分)的第 2 部分,详细分析了一个典型的实时实现(Ingo's RT patch)。第 1 部分阐述了实时的概念、衡量实时性的指标,详细地分析了嵌入式系统对 Linux 实时性的需求以及 Linux 在实时性方面的不足,然后简单地描述了三个著名的 Linux 实时实现。 |
|
|
|
2005年6月1日 |
|
| |
Linux 的魅力: TiVo 揭密 每个人都已经知道 TiVo 可以“运行 Linux”。在这一期的“Linux 的魅力”中,Peter 将介绍一下在 TiVo 上安装的 Linux 系统。研究 TiVo 系统可以展示出一个公司是如何从桌面操作系统转换到嵌入式系统的。 |
|
|
|
2005年7月25日 |
|
| |
Linux 的魅力:小型日程表挑战大型群件 要决定轮到谁来涮碗,使用昂贵的群件简直是大材小用。在这个月,Peter 使用他的古老的 Linux 机器构建了一个很小的基于 Web 的家用日程表。在这个专栏中,Peter 研究了运行在不同种类硬件上的 Linux ―― PDA、嵌入式设备,或者是没有人认为会有用的古老的设备。他依次研究了具体的 Linux 设备并向您详细展示如何在过时的硬件上使用 Linux。 |
|
|
|
2005年9月29日 |
|
| |
Linux 引导过程内幕 引导 Linux 系统的过程包括很多阶段。不管您是引导一个标准的 x86 桌面系统,还是引导一台嵌入式的 PowerPC 机器,很多流程都惊人地相似。本文将探索 Linux 的引导过程,从最初的引导到启动第一个用户空间应用程序。在本文介绍的过程中,您将学习到各种与引导有关的主题,例如引导加载程序、内核解压、初始 RAM 磁盘以及 Linux 引导的其他一些元素。 |
|
|
|
2006年7月26日 |
|
| |
Linux 初始 RAM 磁盘(initrd)概述 Linux 初始 RAM 磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd 文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个 initrd RAM 磁盘卸载,并释放内存。在很多嵌入式 Linux 系统中,initrd 就是最终的根文件系统。本文将探索 Linux 2.6 的初始 RAM 磁盘,包括如何创建以及如何在 Linux 内核中使用。 |
|
|
|
2006年8月21日 |
|
| |
Linux 笔记本基于 “敲打” 的命令 有史以来第一次,您可以敲打一下计算机并得到有意义的响应!使用 Linux 和 Hard Drive Active Protection System(硬盘活动保护系统,HDAPS)内核驱动程序,我们可以访问 Lenovo(以前称为 IBM )ThinkPads 上的嵌入式加速器,然后处理加速器的数据来读取特定 “敲打” 事件序列(也就是您使用关节敲打笔记本的事件序列),并基于这些敲打事件运行一些命令。双击锁定屏幕,然后敲入密码来解锁。敲打显示屏一次就可以让 MP3 播放器前进一个音轨。这类可能事物是无穷无尽的。 |
|
|
|
2006年9月14日 |
|
| |
开源机器人技术工具包 构建机器人需要涉及很多学科的技能,包括嵌入式固件和硬件设计、传感器的选择、控制系统的设计,以及机械结构设计。而仿真环境可以为测试、评测和机器人技术算法的可视化提供一个虚拟的舞台,而不用花费高昂的开发成本(和时间)。本文将简要介绍一些 Linux 的开源机器人技术工具包及功能,并帮助我们判断哪些技术最适合我们使用。 |
|
|
|
2006年10月8日 |
|
| |
Linux 的魅力: MediaMVP 内幕 作为一款 MP3 和 MPEG 播放器,Hauppauge MediaMVP 使您能够通过电视机播放数字媒体。它是一种目标明确的嵌入式设备,也是在微型硬件上的简洁 Linux 实现的最佳例子。 |
|
|
|
2006年11月16日 |
|
| |
Linux 的魅力: Linux 助力 Nokia 770 基于 Linux 的 Nokia 770 Internet tablet 对于 Linux 爱好者来说是一个迷人的东西。尽管它没有人们对掌上电脑所期望的大部分个人信息管理(PIM)程序,但是它在开发环境方面的一些新优点使它极受这些爱好者及专业嵌入式开发人员的垂青。 |
|
|
|
2006年12月11日 |
|
| |
Xilinx hijinx,第 1 部分: ML403 全新体验 通过本文,了解选择基于 FPGA 的系统而不选择传统的硬 IP 微控制器的原因,借鉴传统编程人员首次接触基于 RAM 的可编程逻辑时所面临的学习曲线。在这个新的系列中,Lewin Edwards 将打开 Xilinx ML403 嵌入式开发工具包,为您详述其中的一些特性。 |
|
|
|
2007年3月9日 |
|
| |
Linux 和对称多处理 正如主流中央处理器(CPU)供应商所证明的那样,多核处理器随时准备着占领桌面和嵌入式市场。多处理带来了更高的性能,也同时带来了新的问题。本文将探讨多处理和开发使用 SMP 的 Linux 应用程序背后的思想。 |
|
|
|
2007年4月2日 |
|
| |
Linux slab 分配器剖析 良好的操作系统性能部分依赖于操作系统有效管理资源的能力。在过去,堆内存管理器是实际的规范,但是其性能会受到内存碎片和内存回收需求的影响。现在,Linux 内核使用了源自于 Solaris 的一种方法,但是这种方法在嵌入式系统中已经使用了很长时间了,它是将内存作为对象按照大小进行分配。本文将探索 slab 分配器背后所采用的思想,并介绍这种方法提供的接口和用法。 |
|
|
|
2007年6月11日 |
|
| |
Open Ethernet IP core 介绍及其 ucLinux 驱动 Open Ethernet IP core 是一种支持 10M/100Mbps 以太网的开发源代码 MAC IP core,实现IEEE 802.3 MAC 层功能,对上下接口分别采用 Wishbone 总线和 MII 接口,由于其免费公开,可移植性和可定制性,在 FPGA SOC(System On Chip) 系统及嵌入式系统中被广泛采用,而在 ucLinux 操作系统中也有相应完善的设备驱动支持。在设计中采用 Open Ethernet IP core,可大大降低开发成本和缩短产品上市时间。 |
|
|
|
2009年1月15日 |
|
| |
用 Guile 编写脚本 Scheme 是一种编程语言,而 Guile(Scheme 解释器和库)将它转换成嵌入式脚本语言,从而很好地将动态性引入到静态应用程序中。现在我们将快速概览 Guile,了解它在构建可扩展应用程序方面的强大特性。 |
|
|
|
2009年3月23日 |
|
| |
在 Linux 下安装 GNU ARM 工具链 可以使用多种工具编写不同版本的 ARM 内核,但最流行的一组工具是 GNU ARM 工具链。更多地了解如何使用 ARM 内核进行嵌入式开发,以及如何安装并使用 GNU 工具。 |
|
|
|
2009年6月25日 |
|
| |
内核中的 telnet 服务 通过在 Linux 的 ICMP 协议栈中嵌入一个私有的类 telnet 服务(称为 ktelnetd),开发人员可以从外部连接到嵌入式设备的内核中,并利用预置的命令检查内核的参数,甚至调整运行状态。这种方法有助于开发人员诊断和定位系统的异常。 |
|
|
|
2009年7月23日 |
|
| |
探索 Ubuntu Mobile and Embedded Ubuntu 是一种用于 GNU/Linux 操作系统的出色的服务器和桌面发行版,但是您是否知道它也非常适合手持设备和移动嵌入式设备?Ubuntu 的最新版本(Gutsy Gibbon)现在通过 Ubuntu Mobile and Embedded(UME)项目支持嵌入式和移动设备。通过本文了解 UME 项目和使用方法。 |
|
|
|
2008年2月28日 |
|
| |
轻量级 Linux,第 1 部分 硬件过时只是因为它运行的软件过时:现代操作系统结合最新的应用程序就能使旧系统恢复生产力。本文针对如何在旧硬件或内存与存储器有限的现代硬件上构建有效的 Linux 系统,提供了最佳实践和循序渐进的指导。 |
|
|
|
2002年10月10日 |
|
| |
linux 电源管理 本文分析了 linux 电源管理的标准,以及 apm 的工作原理。 |
|
|
|
2003年9月1日 |
|
| |
以低廉的代价进行 PowerPC 开发 Kuro Box 在某些方面非常吸引人:可用的单板 PowerPC 计算机,只需要 160 美元 —— 而其他 PowerPC 开发板(development board)的价格通常是其十倍。在 developerWorks 的硬件 howto 中,Peter Seebach 详尽地指导您完成配置和安装。 |
|
|
|
2005年1月14日 |
|
| |
Xilinx hijinx,第 2 部分: 构建和加载比特流和 PowerPC 代码 本文将探索一个完整 Virtex4 项目的硬件和软件方面。在 Xilinx hijinx 系列的第二部分(也是最后一部分)中,您将向项目中添加或从中删除设备核心、连接项目组件、构建比特流、把它与 C 代码集成,并把整个结果下载到 FPGA。 |
|
|
|
2007年2月22日 |
|
| |
轻量级 Web 服务器 最近几年,市场上出现了很多有趣的 Web 服务器实现,包括 lighthttpd、litespeed 和 mongrel 等。这些 Web 服务器都宣称结合了性能、易管理性、可移植性、安全性和其他相关价值。下面的工程研究将调查轻量级 Web 服务器,以帮助您选择最可能满足下一个项目的技术需求的 Web 服务器。 |
|
|
|
2007年7月23日 |
|
| |
MiniGUI体系结构之一 为了帮助更多软件开发人员理解 MiniGUI及其编程,同时帮助更多的自由软件开发人员加入 MiniGUI 的开发,我们将撰写一系列文章介绍MiniGUI的体系结构。本文是系列文章的第一篇,将在整体上对MiniGUI的体系结构作一介绍。其中主要包括:线程的基本概念;基于 POSIX Thread 的微客户/服务器结构;用来同步微客户/服务器动作的关键数据结构�D�D消息队列;面向对象技术在 MiniGUI 中的应用等等。最后,文章展望了我们计划在 MiniGUI 2.0 版开发中采用的体系结构。 |
|
|
|
2000年12月1日 |
|
| |
MiniGUI 体系结构之二 本文是 MiniGUI 体系结构系列文章的第二篇,重点介绍 MiniGUI 的多窗口机制以及相关的窗口类技术。其中涉及到窗口 Z 序、窗口剪切、控件类和控件以及输入法模块设计等等。 |
|
|
|
2001年1月1日 |
|
| |
MiniGUI 体系结构之三 本文是 MiniGUI 体系结构系列文章的第三篇,重点介绍 MiniGUI 的逻辑字体支持,主要内容涉及 MiniGUI 中以面向对象技术为基础构建的多字体和多字符集支持,并举例说明了如何在 MiniGUI 中实现对新字符集和新字体的支持。 |
|
|
|
2001年2月1日 |
|
| |
集成 Pyrite 的 Palm-Linux Pyrite Project 已经创建了一些相关的工具,以允许 Python 程序员存取和控制 PalmOS 手持设备。Pyrite 与 Palm 设备上的数据帮助进行通讯并管理它们,而 Pyrite Publisher 创建并发布 Doc 格式的电子书给 Palm 设备。本文讨论了我们使用 Pyrite 工具的经验,它的底层构造和有效使用 Pyrite 工具的技巧。Pyrite Project 已经创建了一些相关的工具,以允许 Python 程序员存取和控制 PalmOS 手持设备。Pyrite 与 Palm 设备上的数据帮助进行通讯并管理它们,而 Pyrite Publisher 创建并发布 Doc 格式的电子书给 Palm 设备。本文讨论了我们使用 Pyrite 工具的经验,它的底层构造和有效使用 Pyrite 工具的技巧。 |
|
|
|
2001年6月1日 |
|
| |
可爱的 Python: 用于 PalmOS 的 Python Pippy 是移植到 PalmOS 的 Python 子集。使用 Pippy,Python 程序员创建在 Palm 设备上运行的定制应用程序,以及直接将 Pippy 用作 Palm 上的交互环境。David 评估了 Pippy 作为实现 Palm 应用程序的一种方式所具有的优越性与局限性。 |
|
|
|
2001年7月1日 |
|
| |
基于 PalmOS 的编程语言 大多数考虑开发 PalmOS 应用程序的人可能会设想先在台式机上编写 C/C++ 代码,然后再交叉编译到 PalmOS 上。有一种完全不同的 PalmOS 开发的方法。作者 David Mertz 和 Andrew Blais 研究了可以完全在 Palm 手持设备上运行的全部编程语言和开发环境产品,涉及从程序编辑到最终运行的完整过程。这些工具为移动程序员创造了新的可能性。 |
|
|
|
2001年8月1日 |
|
| |
DIY:自己动手做一个迷你 Linux 系统 本文将带领大家构建一个迷你型的 Linux 系统。它占用的硬盘空间远小于 16M 字节,但是却包括了 XFree86 的 X Window 窗口系统。 |
|
|
|
2002年9月18日 |
|
| |
轻松将 DLL 移植到 Palm OS -- 用 Perl 轻松地将动态 Windows 库移植到 Palm OS 上 过去,将现有的 Windows DLL 移植到 Palm OS 是一项十分麻烦的工作。现在,让 Martyn Honeyford 向您介绍一项有趣的技术,它使用 Perl 使移植工作变得更加容易。他演示了一个 Perl 脚本,该脚本分析已有的 C 源代码,然后自动生成移植所需的众多源文件。您应该能够用这里描述的代码来帮助您进行自己的移植项目。您还将获得一些技巧,在 Martyn Honeyford 介绍的工具无能为力的地方,这些技巧能够为您的移植工作提供帮助。 |
|
|
|
2003年8月4日 |
|
| |
Linux bootloader 编写方法 对于移植 linux 到其它开发板的人来说,编写 boot loader 是一个不可避免的过程。对于学习linux的人来讲,编写 bootloader 也是一个很有挑战性的工作。本文通过对 linux引导协议进行分析,详细阐述了如何编写一个可以在 i386 机器上引导 2.4.20内核的基本的bootloader。 |
|
|
|
2003年8月11日 |
|
| |
在 Linux 上构建无线接入点 当您的主要目标是拥有编写和修改自己的管理软件这一能力的时候,就需要定制的无线接入点。看一看使用 Linux 构建无线网桥都涉及哪些考虑事项,包括软件和硬件方面的考虑事项。 |
|
|
|
2003年9月1日 |
|
| |
交叉开发入门 当编译器运行在一个为另一系统产生可执行程序的系统上时,就会出现交叉编译——当目标系统没有编译工具的本地设置时,或者当主机系统更快或具有更多资源时,这是一个重要的概念。在这篇 how-to 文章中,Peter Seebach 讨论了交叉编译环境的初始设置(使用 Sharp Zaurus 手持计算机作为焦点),并且介绍了工具的安装、基本编译、在 Sharp Zaurus 手持计算机上安装程序,以及像创建使用 configure 脚本的程序这样的高级问题。 |
|
|
|
2004年4月26日 |
|
| |
在 Linux 上构建 WAP 网关 实现移动服务的最热门技术是无线应用协议(Wireless Application Protocol,WAP)。用于 WAP 的开放源代码网关执行 Web 服务器与移动电话之间的协议转换,本文对它的优势进行了讨论。 |
|
|
|
2004年7月5日 |
|
| |
从 FireWire 设备引导 Linux 获得外置驱动器是一种为较老设备注入生机的极好方法,或者允许您在不能(或不想)改变内置硬盘驱动器的机器上运行 Linux。 |
|
|
|
2004年8月15日 |
|
| |
在 iPAQ 上运行 Linux 在 iPAQ 上安装 Linux 对于赋予成熟的硬件以新的活力或者使已有的工具变得更好,可能是一种很好的方式,尤其当您是桌面 Linux 的拥趸者时更是如此。在这个过程中您可以充分利用已有的知识,还可以享受到熟悉(双关语,Familiar)而且免费的开放源代码软件的益处。在本文中,学习如何用 Linux 来武装您的 HP-Compaq iPAQ PDA。 |
|
|
|
2004年10月11日 |
|
| |
开放源代码:创新与风险的平衡 开源社区基于互联网,可以说无所不在,最终用户的需要会被贴出,而总是急于得到承认或只是乐于技术上精益求精的程序员们会写出应用程序(application),随后,便有大量的个人调试和重写它。开源软件的潜力就是能够快速开发出IP应用程序,这非常重要,因为Internet在固定和移动通信中带来更新的服务。MySQL,Apache,Open Forge,GNU,Linux还有其他无数的开源项目,开放的接口使得模块间可以互相交流,也使得应用程序之间可以相互操作。 |
|
|
|
2004年11月4日 |
|
| |
JFFS2 文件系统及新特性介绍 这篇文章首先分析了在闪存上使用 JFFS2 的必要性,然后详细的阐述了 JFFS2 实现的内部机制,包括日志结构的文件系统,关键的数据结构,挂载过程和垃圾收集机制。同时也指出了 JFFS2 的局限性,并介绍了最新的针对 JFFS2 的不足进行改进的补丁程序。最后对 JFFS3 的设计思想和现在的开发状况给予了简单的介绍。 |
|
|
|
2005年12月22日 |
|
| |
为 Linux 安装触摸屏 从历史发展上来说,缺乏友好的界面一直都阻碍着 Linux 成为终端用户的一个商业产品;但是 Linux 的确是有 GUI 的,这已经是昨日新闻了。那么为消费者创建一个易于使用的 Linux 产品的下一个步骤是什么呢?我们来假设一下面向用户的 LCD 触摸屏的情况。前端触摸屏可以让后台的 Linux 应用程序在多种设备中非常有用,例如定制的数字媒体中心(可以是家里,也可以是汽车中)、DVR、PVR 甚至是家用机器人所使用的控制界面。潜在的用户到底有多少,这完全取决于您的想像。在本文中,我们将概要介绍如何安装一个 Sony PSone 的 LCD,创建一个 modeline,并安装一个触摸屏 -- 所有这些都是在 Linux 上进行的。 |
|
|
|
2006年1月9日 |
|
| |
Linux 的魅力: 这个古老的机器:使用 X10 实现家庭自动化 80 年代人们的梦想之一是,有朝一日,每个人都拥有火箭汽车,计算机控制着家里的所有东西,比如灯。我们还没有拥有火箭汽车,但是 X10 协议使我们能够远程地开/关设备。在本文中,Peter Seebach 讲解如何使用现有的硬件和几百行简单的代码来设置和驱动 X10 设备。 |
|
|
|
2006年8月17日 |
|
| |
uClinux 启动过程详细分析 uclinux启动的详细过程有着诸多的信息可以给我们巨大的启发,我们在这里讨论的就是要对这些信息做一个具体细致的分析,通过我们的讨论,大家会对uclinux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。 |
|
|
|
2007年6月28日 |
|
| |
Linux 的魅力: 开发 Nokia N800 围绕 Nokia N800 电话/Internet tablet/Webcam 核心并详细探查基于 scratchbox 的构建环境。 |
|
|
|
2007年12月17日 |
|
| |
Linux 的魅力: 访问 Nokia N800 摄像机 Linux 的魅力的 3 期文章用实际例子演示了如何构建应用程序:使用摄像机功能创建 Webcam。在这期文章中,讨论如何使用 gstreamer 开始构建摄像机应用程序,以访问 Nokia N800 设备的 Webcam(需要做的工作也许比您想象的更少,尤其是在我们借鉴现有的应用程序之后)。 |
|
|
|
2008年1月7日 |
|
| |
Linux 的魅力: 自动上传 Nokia N800 照片 Linux 的魅力的 3 期文章用实际例子演示了如何着手构建 Nokia N800 应用程序:使用摄像机功能创建 Webcam。本文是第 3 期,也是最后一期。本文将编写一个自动照片上传例程,用于上传所拍照片。 |
|
|
|
2008年1月14日 |
|
| |
在 PlayStation 3 上进行 Linux 开发,第 1 部分: 不仅仅是玩具 索尼的 PlayStation 3(PS3)能运行 Linux,但是要运行得好,还需要做些调整。在本系列的第一篇文章中,Peter Seebach 介绍了 PS3 Linux 的功能和好处,解释了稍做调整就能解决的一些问题。 |
|
|
|
2008年4月15日 |
|
| |
实时 Linux 架构剖析 Linux 的速度或效率都非常不错,只是在一些情况下,这样的速度还不能满足需求。我们需要的是在特定的容差范围内确定性地满足调度期限的能力。本文将揭示各种实现实时 Linux 的可选方案以及它们如何实现实时性 - 从早期的模仿虚拟化解决方案的架构到如今标准 2.6 内核中可用的选项。 |
|
|
|
2008年5月19日 |
|
| |
在 PlayStation 3 上进行 Linux 开发,第 2 部分: 内存操作 索尼的 PlayStation 3(PS3)能运行 Linux,但是要运行良好,需要做些调整。本篇文章是本系列的第二篇文章,在这篇文章中 Peter Seebach 研究了大量耗用内存的地方,以及如何找回内存。 |
|
|
|
2008年5月19日 |
|
| |
在 PlayStation 3 上进行 Linux 开发,第 3 部分: 采用小工具来瘦身 X11 索尼的 PlayStation 3(PS3)能运行 Linux,但是要运行良好,还需要做些调整。在本系列的第三篇文章中,Peter Seebach 介绍了如何为 X11 瘦身,使之能适合更小的内存预算。 |
|
|
|
2008年5月29日 |
|
| |
Linux flash 文件系统剖析 您之前可能听说过 Journaling Flash File System(JFFS)和 Yet Another Flash File System(YAFFS),但是您知道使用底层 flash 设备的文件系统意味着什么吗?本文将向您介绍 Linux 的 flash 文件系统,并探索它们如何通过平均读写(wear leveling)处理底层的可消耗设备(flash 部件),并鉴别各种不同的 flash 文件系统以及它们的基本设计。 |
|
|
|
2008年6月10日 |
|
| |