
嵌入式开发
Duwchy
这个作者很懒,什么都没留下…
展开
-
cramfs文件系统介绍
1、cramfs的特点 在嵌入式的环境之下,内存和外存资源都需要节约使用。如果使用RAMDISK方式来使用文件系统,那么在系统运行之后,首先要把外存(Flash)上的映像文件解压缩到内存中,构造起RAMDISK环境,才可以开始运行程序。但是它也有很致命的弱点。在正常情况下,同样的代码不仅在外存中占据了空间(以压缩后的形式存在),而且还在内存中占用了更大的空间(以解压缩之后的形式存在),这违背了嵌入转载 2007-04-06 15:44:00 · 1470 阅读 · 0 评论 -
嵌入式3D-嵌入式3D开发环境的建立-硬件
我使用的是华恒(R)的 HHPXA270 板子(板子还可以,不过为我们用户的使用考虑的太少了,太不专业了,而且板子超贵。貌似博创(R)也有PXA270的板子,而且便宜很多)。1.外部主要硬件有:1.1 开发板:核心板 底板(外设接口板)240x320 16位色LCD 模块(LCD、LCD 底板) JTAG 烧写器 (PCB 板和数据线)串口线9V (220V,50Hz,1000mA) /1原创 2007-05-17 10:46:00 · 2160 阅读 · 0 评论 -
嵌入式3D-嵌入式3D开发环境的建立- 建立宿主主机开发环境
在进行嵌入式3D等开发,必须有一台x86的PC机作为宿主机, 绝大多数的 Linux 软件开发都是以 native 方式进行的,即本机(HOST)开发、调试,本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的开发,没有足够的资源在本机(即开发板上系统)运行开发工具和调试工具。通常的嵌入式系统的软件开发采用一种交叉编译调试的方式。交叉编译调试环境建立在宿主机(即一台 P原创 2007-05-17 11:08:00 · 2208 阅读 · 0 评论 -
嵌入式3D-嵌入式3D开发环境的建立-嵌入式linux系统
由于毕业设计所要进行的是3D图像的开发,那么就必须有一个高效,稳定,安全,可移植性强的嵌入式操作系统,有考虑到我们是一般学生用户,所以也要经济实惠。因此我选择的嵌入式操作系统是Linux。Linux具体的优势主要在以下几方面。 随着微处理器的产生,价格低廉、结构小巧的 CPU 和外设连接提供了稳定可靠的硬件架构,那么限制嵌入式系统发展的瓶颈就突出表现在了软件方面。尽管从八十年代末开始,原创 2007-05-20 10:59:00 · 3380 阅读 · 0 评论 -
三维图形及动画软件开发流程
跟我所需要的嵌入式3D开发流程差不多,所以转载了这篇文章。 三维图形及动画场景的显示,就是把所建立的三维空间模型,经过计算机的 复杂处理,最终在计算机二维屏幕上显示的过程。一般,设计三维图形软件要经 过以下步骤: A.图元建立三维模型。(以OpenGL(Open Graphics Library)为例,OpenGL 是一个开放的图形程序库,它可在UNIX、Windows 95、W转载 2007-05-30 13:46:00 · 2015 阅读 · 0 评论 -
Klimt 的特点
Klimt (原名为SoftGL)是一个开源的3D图形库,主要针对的PDA和移动通信设备的应用。它的API和OpenGL和OpenGL|ES非常相像。开发Klimt的组织并没有对其API的一致性进行声明。不过,Klimt可以兼容Coin3D的程序,Coin3D是建立在OpenGL之上的一种具有大量场景图形的基础库。Klimt 是基于公共的OpenGL和OpenGL|ES API,但是它并不是由SG翻译 2007-06-01 14:57:00 · 2949 阅读 · 0 评论 -
Klimt与OpenGL、OpenGL|ES比较
Klimt结合了OpenGL和OpenGL|ES的某些适用于嵌入式设备的特性,下表比较了他们的区别,使得Klimt的更加灵活的3D图形表现能力。 OpenGL翻译 2007-06-01 15:16:00 · 2280 阅读 · 0 评论 -
优化Klimt三维图形程序
1. 使用顶点数组从Klimt 0.6.3开始,顶点数组是会被缓存的。使用顶点数组可以减少在变换和光照阶段(Transform and Lighting, TnL stage)中所花费的时间,从而增加三角面的产生率。这对于需要绘制大量多边形的场景是非常重要的。这种方法可以全面将三维图像的表现能力提升50%(具体请参照 teapot 的演示)。从版本0.6.3开始,Klimt就实现了顶点缓冲,它实现翻译 2007-06-01 15:58:00 · 1649 阅读 · 0 评论 -
基于Klimt三维图形程序的优化策略
1 优化改进的必要性 PXA270是一款很优秀的嵌入式处理芯片,在介绍本次设计的硬件环境时我们就可以了解得到,而且在介绍Klimt特性的时候,也多次提到PXA2xx系列处理器,可见PXA270处理器在多媒体处理,特别是三维图像处理方面表现得是非常出色的,加之在演示一般的3D动画时,得到了很流畅很美观的效果,而本人也试过把3D图像程序放到s3c2410的开发板上运行,效果很差,足以见得PXA2原创 2007-06-01 16:08:00 · 1574 阅读 · 0 评论 -
Klimt的架构
1. Klimt的设计目标清晰的面向对象设计风格,易于了解Klimt的内部结构;可扩展的模块化的组件使得它更容易修改到更高级的版本(硬件光栅器,无线多媒体扩展Wireless-MMX,等等)支持多种平台,编译系统,和操作系统2. Klimt的实现方式由于一些类(比如Context 和 Resterizer)相当庞大,他们被分开为多个源文件。对于每一个类,都有一个以类名命名的主文件(比如 klCon翻译 2007-06-01 15:28:00 · 1897 阅读 · 0 评论 -
Klimt+Qt/Embedded到linux上的移植
我需要把Klimt移植到一定的嵌入式GUI平台,在此次开发中,要把它移植到Qt/Embedded平台,然后再一起移植到嵌入式Linux上。1.准备Qt/Embedded 的嵌入式GUI引擎Qt/Embedded 的嵌入式GUI引擎其实就是Qt/Embedded交叉编译出来后的动态或静态函数库,这个函数库提供嵌入式系统的GUI处理。在本文的前面,已经介绍了Qt/Embedded的移植过程,其实就是得原创 2007-06-01 15:42:00 · 2667 阅读 · 3 评论 -
基于Klimt嵌入式三维动画开发
下面以创建一个旋转的立方体动画为例子说明Klimt三维动画的开发过程。Klimt三维图形程序开发的一般过程为: A. 定义类和源文件根据需要开发的三维动画,我们使用面向对象编程,定义相关类和源文件,我们首先创建,RenderCube.h文件,定义我们的类RenderCube,然后再创建RenderCube.cpp文件实现我们这个类。由于我们的Klimt是基于Qt/Embedded的,也就是我们这个原创 2007-06-01 15:53:00 · 1865 阅读 · 0 评论 -
嵌入式开发中使用的minicom配置文件
嵌入式开发中如果使用宿主机开发模式,一般会使用到PC的串口和开发板相连,然后利用PC终端minicom 控制嵌入式系统,在Linux下,需要有一个minicom配置文件来指定使用那个串口,波特率等设置,这个文件的名字为:minirc.dfl把这个文件放到 /etc 目录下就可以了。这个文件的内容是:##################################################原创 2007-06-02 15:10:00 · 2663 阅读 · 0 评论 -
ARM 指令格式和时序
处理器模式ARM 有一个用户模式和多个有特权的超级用户模式。它们是: IRQ 在触发中断请求(IRQ)时进入。 FIQ 在触发快速中断请求(FIQ)时进入。 SVC 在指令一个软件中断(SWI)时进入。 Undef 在执行了一个未定义的指令时进入(不存在于 ARM 2 和 3,在这里进入 SVC 模式)。 Abt 在一个内存访问尝试被内存管理器(例如,MEMC 或 MMU)所终止时进入,通转载 2007-05-13 11:25:00 · 2900 阅读 · 0 评论 -
ARM微处理器寄存器装载和存储
传送单一数据使用单一数据传送指令(STR 和 LDR)来装载和存储单一字节或字的数据从/到内存。寻址是非常灵活的。首先让我们查看指令格式: LDR{条件} Rd, STR{条件} Rd, LDR{条件}B Rd, STR{条件}B Rd, 指令格式这些指令装载和存储 Rd 的值从/到指定的地址。如果象后面两个指令那样还指定了‘B’转载 2007-05-13 11:19:00 · 1774 阅读 · 0 评论 -
ARM微处理器寄存器和处理器模式
ARM 处理器有二十七个寄存器,其中一些是在一定条件下使用的,所以一次只能使用十六个... 寄存器 0 到寄存器 7 是通用寄存器并可以用做任何目的。不象 80x86 处理器那样要求特定寄存器被用做栈访问,或者象 6502 那样把数学计算的结果放置到一个累加器中,ARM 处理器在寄存器使用上是高度灵活的。 寄存器 8 到 12 是通用寄存器,但是在切换到 FIQ转载 2007-05-13 11:08:00 · 1453 阅读 · 0 评论 -
jffs2 文件系统介绍
1.引言 下面就在linux-2.4.x内核上如何正确组织、连接这几个部分来自动运行用户应用程序进行分析。 2.linux的启动过程 在系统复位后首先远行的程序就是引导程序(Boot loader)。 引导程序可以放在专用的ROM中,也可以和内核影像、文件系统影像共用闪存芯片或固态硬盘如下图所示。引导程序首先负责初始化硬件设备、建立内存空间的映 射图,从而将系统的软硬件环境带到一转载 2007-04-06 16:02:00 · 2312 阅读 · 0 评论 -
安装与建立 Qt 桌面开发运行环境
1.下载Qt在TrollTech网站http://www.trolltech.com/developer/ 上搜索下载Qt的相关包,包括qt-embedded-free-3.3.4.tar.gzqt-x11-opensource-src-4.2.3.tar.gztmake-1.8.tar.gz #可以不要,因为有现在这些高版本的qt-embedded,qt-x11,qtopia里就有qmak原创 2007-04-06 18:58:00 · 2531 阅读 · 0 评论 -
利用u-boot移植更新u-boot自身
做嵌入式开发的时候经常要进行u-boot的移植,u-boot是嵌入式linux系统的引导程序,相当于pc机上的bios。我移植的板子是华恒的PXA270-R2,u-boot代码是华恒光盘配送的。嵌入式linux版本是2.6.10。由于我原先的u-boot还是完好的,所有我用u-boot来烧写u-boot,如果u-boot损坏了的话,就要用jtag烧写了。下面介绍用u-boot来烧写u-boot的过原创 2007-04-14 23:07:00 · 2623 阅读 · 0 评论 -
ARM交叉编译工具集名称详解
前阵子总是搞不懂armv4l-unknown-linux...和arm-linux...有什么区别。经过多方的请教,终于弄明白了一点点。本机编译工具集编译的代码只适用本机(大多数PC是X86)运行,对于ARM开发者来说,需要一个能在本机编译、但编译却生成ARM运行代码的一套交叉编译工具集。因此,选择一个与本机工具集相异的特定含义的目标名称是非常有必要的。arm-linux:是个比较受欢迎的名称原创 2007-04-19 15:14:00 · 1640 阅读 · 0 评论 -
Qt/Embedded 2.3.10 到PXA270上的移植
很高兴,力尽艰辛磨难,终于把qte移植到了PXA270板子上,可以跑helloworld了。第一次接触嵌入式开发,又要移植嵌入式GUI,真是难为我了,虽然很遗憾移植之后发现qte并不支持OpenGL,离我的3D开发还很远,但还是挺开心的,移植期间收获不少,自己对板子也慢慢熟悉起来了。衷心感谢帮助过我的网友。下面把我的移植过程说一下。1.准备相关软件包和交叉编译工具由于这个qte的版本比较第,移原创 2007-04-20 13:15:00 · 2360 阅读 · 0 评论 -
OpenGL|ES 资源
-- OpenGL ES --OpenGL® ES is a low-level, lightweight API for advanced embedded graphics using well-defined subset profiles of OpenGL. 相关链接:http://www.khronos.org/opengles/-- Klimt --Klimt (formerly k转载 2007-04-28 22:28:00 · 2522 阅读 · 0 评论 -
移植 Qtopia-core-opensource-src-4.3.0beta 到 PXA270
移植这个qtopia-core比较麻烦,由于我的编译器是ARM-GCC-2.95的,有很多地方要修改才能交叉编译成功。不过我也试过用3.4.2的ARM交叉编译器编译过,也是有很多编译错误的。1.下面是需要修改的文件或者配置的详细情况:1).修改 src/corelib/kernel/qvariant_p.h 文件的 v_cast 函数template inline const T *v_cast(原创 2007-05-04 20:10:00 · 2044 阅读 · 0 评论 -
Qt-embedded-3.2.3到PXA270上的移植
1.下载软件包ftp://www.trolltech.com/qt/source/qt-embedded-free-3.2.3.tar.gz2. 解压tar vxzf qt-embedded-free-3.2.3.tar.gz -C /root/qt/qt-embedded-free-3.2.33. 添加触摸屏驱动修改 src/embedded/qmouselinuxtp_qws.h 添加 #de原创 2007-05-05 20:59:00 · 2552 阅读 · 0 评论 -
如何在minicom下运行可键盘中断结束的qt-embedded程序
使用nfs在minicom下调试qte程序时,由于缺省情况下,qte server 会强占键盘,并且使它以写后读模式打开,所以我们在minicom下运行qte程序时,无法用ctrl+c结束它,但当我们试图在运行程序后面加 & 符号,使它在后台运行时,通常LCD会没有反应,程序不会运行,这样每次调试都要重新reset板子,很是郁闷。想让程序在后台运行可以用键盘中断结束,需要程序运行时添加参数原创 2007-05-10 14:31:00 · 2471 阅读 · 0 评论 -
ARM指令集
在本文档的汇编语法中,用 # 前缀表示立即值,用 & 表示十六进制值,用 % 表示二进制值,用 {花括号} 表示指令中可选的设置字段或位。下面表格中粗体的指令是核心 ARM 指令,其他的是值得包含的位和片段、移位选项和汇编器助记码(mnemonic)... 还列出了协处理器指令。但是用于 RISC OS 机器的 ARM 处理器不支持协处理器,只在一个可访问的芯片中提供了实际上的协处理器功能。其中包转载 2007-05-13 11:24:00 · 7649 阅读 · 0 评论 -
ARM微处理器程序状态寄存器
寄存器 15 (26-bit 模式):R15 构造如下: Bit 31 30 29 28 27 26 25------------2 1 0 N Z C V I F 程 序 计 数 器 S1 S0标志的意义: N Negative 如果结果是负数则置位 Z Zero转载 2007-05-13 11:13:00 · 2934 阅读 · 0 评论 -
ARM微处理器32 位操作
ARM2 和 ARM3 有一个 32 位数据总线和一个 26 位地址总线。在以后版本的 ARM 上,数据总线和地址总二者都是完全的 32 位宽。这解释了为什么一个“32 位处理器”被称为 26 位。数据宽度和指令/字大小是 32 位,并总是这样,但地址总线只是 24 位。因为 PC 总是字对齐的,一个地址中的低两位总是零,所以在 ARM2/ARM3 处理器上这些位持有处理器模式设置。尽管实际上只使转载 2007-05-13 11:12:00 · 1810 阅读 · 0 评论 -
ARM微处理器概述
1.1 ARM-Advanced RISC Machines ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网转载 2007-05-12 22:47:00 · 1846 阅读 · 0 评论 -
基于Klimt的嵌入式3D程序演示效果图
1. 立方体 2. 茶壶 3. 地月系 4. 纹理人物原创 2007-06-11 18:00:00 · 2118 阅读 · 0 评论