MiniGUI在S3C2440上的移植及软件开发

合集下载

S3C2440系统的内核与文件系统移植

S3C2440系统的内核与文件系统移植

首先:在汇编中初始化堆栈,中断向量表,MMU,时钟,串口等,然后跳到C语言的Main 函数。

这部分代码小于4K,放在block0。

这个Main函数用来将第二段代码拷备到DRAM 中并执行。

其次:进入第二段代码。

第二段代码也是先在汇编中初始化堆栈,中断向量表等,然后跳到C语言的Main函数。

这部分代码就不用有4K限制了,具体大小由第一段代码决定,因为它本身由第一段代码来搬运。

这个Main函数用来显示开机图片以及进度条。

然后视串口接收信息运行带有USB下载NK的Eboot或是读取NK映像,启动WINCE系统。

最后:进入第三段代码。

这段代码用于通过USB将PC上的NK.nb0或NK.bin文件下载进NANDFLASH并运行。

可见,扬创公司光bootloader就分成了三个部分,即3个bin文件组成。

然后分别将这三段二进制代码下载进分别从block0,block2,block8(block12)开始的三块。

具体烧写手段采用老掉牙的giveio烧写,就是曾经大名鼎鼎的SJF2440了,相信不少嵌入式高手都用过,哈哈。

如果不小心将bootloader弄丢了,再重烧一片,得等上好几分钟,足够你到外面跑上几千米再回来这么长了。

尽管如此,我们的扬创公司仍然拿他们的代码当宝,死活不肯开源。

要知道对于买你们板子的人,都是来学习的呀!学习嵌入式系统,bootloader是最基础也是进入嵌入式行业的敲门砖,没有了代码,无疑给学习添加了很大的麻烦,而扬创官方回答却是:用户开发产品用不着修改bootloader.我看扬创没开发过东西,不了解行情。

不说这么多废话了,说多了无益,让我们一起来揭开bootloader的神秘的面纱吧!先说下我移植的bootloader的功能,以及烧录时间,和扬创的做下对比。

第一次下载bootloader到NANDFLASH的方法:方法一:通过扬创的老掉牙的方法,先在ADS1.2里面生成bootloader.bin文件,然后用SJF2440烧写工具,配合giveio将BIN文件烧写进从block0开始的块。

tslib+Mnigui移植到2440总结

tslib+Mnigui移植到2440总结
..................................................................
}
tslib与minigui中对于压力参数的规定刚好相反,tslib规定samp[0].pressure> 0是按下,samp[0].pressure == 0是手松开而事实是相反的
{
..................................................................
..................................................................
修改的代码
/* Read until we get a touch. */
*x = samp[middle].x;
else
*x = (samp[middle-1].x + samp[middle].x) / 2;
////////////////////////////////////////////////////////////////////////////
do {
if (ts_read_raw(ts, &samp[0], 1) < 0) {
perror("ts_read");
close_framebuffer();
exit(1);
}
} while (samp[0].pressure > 0);
do {
if (ts_read_raw(ts, &samp[0], 1) < 0) {
以上两点是我修改的地方,在各位达人的帖子中还看到了其他的一些修改,我开始也照搬用了,反而出错

基于S3C2440的QT移植与编程实现

基于S3C2440的QT移植与编程实现

学校代码:11059学号:0705075032Hefei University毕业论文(设计)BACHELOR DISSERT A TIO N论文题目:基于S3C2440的QT移植与编程实现学位类别:工学学士学科专业:自动化作者姓名:黄静导师姓名:干开峰完成时间: 2012年5月基于S3C2440的QT移植与编程实现中文摘要随着计算机技术和信息网络技术的飞速发展,嵌入式系统的应用越来越广泛,而嵌入式产品以其小巧、使用方便、实用等特点越来越受到人们的青睐。

特别是近几年来,嵌入式产品越来越多的被应用于各个领域,如国防、工业控制、通信、办公自动化和消费电子领域等。

图形用户界面是嵌入式系统软件开发的重要内容,基于Linux内核开发实用、高效、美观的GUI是目前研究的一个重要课题。

本课题研究了基于Linux的典型嵌入式图形界面支持系统Qt,基于嵌入式Linux操作系统和S3C2440硬件平台,完成Qt开发环境搭建和Qt相关平台移植,最后完成应用程序编程实例实现,并将应用程序成功移植到GT2440开发板上,测试结果证实该程序运行稳定,性能良好。

关键词:嵌入式系统;QT;嵌入式linux;S3C2440Transplantation and programming of QT based on S3C2440AbstractThis paper introduces the QT / Embedded linux embedded system development environment to establish and transplant. Through a lot of source code analysis, build Qt / development environment in the linux host and s3c2410 transplant, and then on the QT / E programs.Qt / Embedded is Trolltech launched Linux-based embedded platform development tools, embedded version of Qt. It inherits the Qt's standard APIs, provide a more compact than Xlib and XWindows window generation system FrameBuffer direct operations (see Figure 1). The fully modular design and efficient build system to reduce memory consumption, these Qt / Embedded as the embedded environment, powerful and comprehensive GUI development tools. KDE and other projects using Qt as the support library, so many Qt-based X-Windows program can be easily ported to Qt / Embedded version. Qt / Embedded with the advantages of object-oriented, cross-platform and interface design, convenient and aesthetic, have been widely used.KEY WORD: Embedded ;Transplant And Program; Qt/Embedded;linux;S3C2440第一章前言 (4)1.1 嵌入式系统概述 (4)1.2 图形开发 .............................. 错误!未定义书签。

Linux内核分析及在S3C2440上移植过程

Linux内核分析及在S3C2440上移植过程

smdk_default_nand_part 结构如下修改:
使用以下命令启动 NAND Flash 上的内核。
static struct mtd_partition smdk_default_nand_
nboot 0x32000000 0 0
(4)顶层 Makefile 和 arch/¥(ARCH)/Makefile 设置了 可以影响所有文件的编译、连接选项:DFLAGS、AFLAGS、LD- FLAGS、ARFLAGS。
(5) 各级子目录下的 Makefile 中可以设置能够影响当 前目录下所有文件的编译、连接选项,如 EXTRA_CFLAGS 等, 还可以设置能影响某个文件的编译选项如 CFLAGS¥@ 等。
1.1 硬件平台 本文使用的是 mini2440,它采用 Samsung S3C2440 为 微处理器,主频 400MHz,最高 533Mhz,并采用专业稳定的 CPU 内核电源芯片和复位芯片来保证系统运行时的稳定性。 SDRAM 内存采用 32bit 数据总线,时钟频率高达 100MHz。 mini2440 的 PCB 采用沉金工艺的四层板设计,专业等长布 线,保证关键信号线的信号完整性。
文献标识码:A
文章编号:1671-4792-(2010)1-0173-03
Abstract: This article introduces Samsung's ARM9-based S3C2440 chip embedded Linux system transplant pro-
cess, and builds the basic ARM9-Linux development environment. Cutting and transplanting Linux kernel after

ARM-Linux环境下MiniGUI在S3C2410开发板上的移植

ARM-Linux环境下MiniGUI在S3C2410开发板上的移植

上模拟 显示屏 , 方便调试 M n U 应用 程序。 iG l i 解压 q t 1 ,r z v — . t . 后执行 : b 0a g
# / o fg r . n iu e c #ma e k
#ma e i sa l k n t l
在/o e下建立 目录 miiu, 网上 下载以下源码包并放 在该 目录 hm ng i从
并给 出了实验结果 , 明 了移植 的可行性。 证
关键 词 : 嵌入 式 系统 ;iu ;3 2 1 ; nGU ; 植 Ln x¥ C 4 0 Mii I移 中 图分 类 号 : P7 T 23 文献 标 识 码 : A
社n k Ia e
由于嵌入 式系统 一般 实时性要 求很高 .所 以嵌入 式系统下 的 G I U
b n / s o a/ i :u rl c ” i : dl e l n/ s/ a ? u b ol
保存 退 出 。执 行 #su(.ahe使 更 改 生效 。其 中/s ̄c l r/ orebsr  ̄ uroa/ m a 29 . bn是 以后要用到的交叉编译工具 的路径 。 .53 i /
完 成安装 , qP— . q i 在 v 1 /v o 0 b下有 q f 可 执行 程序 , 其路径添加 到 v b 将 可执行路径文件中去 :
#c d¥H0M E
#v b s r i.a h e
在 .ahc 后 面加 上 : bsr 最
e p r TH=”PATH: bn: s/o a/r 2953 xot PA Y / i / rlc am/ . ./ s u l
科技情报开发与经济
文 章 编 号 :0 5 6 3 (0 8 2 — 19 0 10 — 0 3 2 0 )8 0 3— 2

S3C2440移植uboot过程全解+移植记录

S3C2440移植uboot过程全解+移植记录

一、Uboot移植前的准备1、修改makefile、配置文件在配置文件之前,需要修改makeflie相关内容:修改如下:(1)修改编译器,这里我们的makefile已经设置为arm-linux-无需再修改,如下所示:ifeq ($(ARCH),arm)CROSS_COMPILE = arm-linux-Endif(2)添加fl2440的配置项,如下所示:fl2440_config:unconfig@$(MKCONFIG) $(@:_config=) arm arm920t fl2440 step s3c24x0注意:在添加的fl2440_config的第二行,必须以Table开头,不能有任何多余的符号,否则极易导致编译错误。

Uboot支持多种处理器和平台,在编译uboot之前需要对其进行配置,使其支持我们自己的开发平台。

在执行编译make之前,需要进行配置即make fl2440_config。

通过查看顶层目录的makeflie文件,通过以下语句:MKCONFIG := $(SRCTREE)/mkconfig得出实际执行的命令为:./mkconfig fl2440 arm arm920t fl2440 step s3c24x0执行完这句后,产生如下结果:(1)开发板名称为fl2440;(2)将include中的头文件连接到同平台相关的头文件中,这里的连接为:asm->asm-armarch->arch-s3c24x0proc->proc-armv(3)创建顶层Makefile包含的文件inclued/config.mk,该文件内容如下ARCH = armCPU = arm920tBOARD = fl2440VENDOR = stepSOC = s3c24x0(4)创建开发板相关头文件include/config.h,该文件中包含了对开发板的相关配置,如下所示:#include <configs/fl2440.h>从上面可以知道,在将uboot配置为适合自己的平台的时候,需要在路径/include/configs下添加配置头文件fl2440.h。

基于S3C2440的嵌入式多媒体控制器设计

基于S3C2440的嵌入式多媒体控制器设计
我们使用消息驱动作为应用程序的创建构架,触摸屏 的按击由Mi血GUl支持系统,窗口管理器收集,将其以事先 约定的格式翻译为特定消息,每一个多媒体处理应用程序 都包含有自己的消息队列,支持系统将消息发送到应用程 序的消息队列中,应用程序建立一个消息循环,在这个循环 中读取消息,应用程序同时提供一个处理消息的标准函数, 在消息循环中,系统调用此函数,在此函数中处理相应的消 息,完成用户的请求。
图1为系统的硬件结构框图。 该芯片采用1.2 V的工作电压,功耗很低,能够满足消 费类电子电源对功耗的要求。同时,电源管理模块能够提
39
供系统多种电压供电,包括芯片内核电压采用1.8 V供电, 芯片的I/O部分采用3.3 V供电,而片外的一些常规集成
电路又采用5 V供电。智能电源管理模块很好地解决了对
40 万方数据
和最大128 M可选的FLASH存储器,系统运行小型的,经 过裁剪的Linux微内核。微内核由内存管理、进程管理和 事务处理构成,包括了所有核心的操作系统功能在内。 t-CLinux操作系统本身的微内核体系结构相当简单,系统 要求的网络协议和文件系统以模块形式置于微内核的上 层,驱动程序和其他部件可在运行时作为可加载模块编译 或是添加到内核,这为构造定制的可嵌入系统提供了高度 模块化的构件方法。用户可以结合定制的驱动程序和应用 程序来实现自己的附加功能,大大减小了内核的体积,便于 维护和移植。其中,采用JFFS2日志闪存文件系统管理非 易失性存储中的结构化文件数据,JFFS2是专门为像闪存 芯片那样的嵌入式设备创建的,所以他的整个设计提供了 更好的闪存管理,为掉电或系统崩溃等突发事件提供了很 好的数据保护机制。
MiniGUI是一种面向嵌入式系统或实时系统的图形用 户界面支持系统,是遵循LGPL条款的纯自由软件,提供了 完备的多窗口机制,多字符集和多字体支持,BMP,GIF, JPEG,PCX,TGA等常见图像文件的支持等。他是建立在 比较成熟的图形引擎之上的,比如SVGALib和LibGGI,系 统开发的重点在于窗口系统、图形接口之上,MiniGu提供 了大量的图形应用编程接口,包含全部功能的库文件大小 仅为300 k左右,特别适合用在嵌入式系统上开发控制台 图形用户界面的应用程序。同时,由于图形抽象层(GAL) 和输入抽象层(IAL)概念的引入,将底层图形硬件和上层的 图形操作和输入处理分离开来,大大提高了MinjGUI的可 移植性。利用GAL和IAL,MiniGUI可以在许多图形引擎 上运行,可以很方便地移植到基于ARM920T核的s3C2440 系统上。

s3c2440嵌入式开发平台操作系统和驱动开发文档

s3c2440嵌入式开发平台操作系统和驱动开发文档

s3c2440嵌入式开发平台操作系统和驱动开发文档目录一前言 (3)二s3c2440嵌入式开发平台介绍 (3)2.1硬件配置: (3)2.2 s3c2440嵌入式开发平台移植的系统软件 (4)2.3 s3c2440嵌入式开发平台特点: (4)三基于s3c2440的bootloader开发和应用 (7)3.1 Bootloader及u-boot简介 (7)3.2 u-boot系统启动流程 (7)3.3 s3c2440开发平台的u-boot移植 (8)3.4 常用uboot命令介绍 (10)四 4.2操作系统简介 (12)4.1 嵌入式系统 (12)4.2 嵌入式操作系统与Windows CE (12)4.3 从操作系统角度看Windows 的主要功能 (13)4.4 从开发角度看Windows 的主要功能 (13)4.5 Windows 操作系统模型 (14)五开发平台Platform Builder 4.2简介 (16)5.1 PB的安装步骤 (16)5.2 Plarform Builder文件夹结构 (20)六S3C2440嵌入式开发平台的WINCE开发流程 (22)6.1 安装Platform Builder 4.2 (22)6.2 安装Embeded Visual C++ (22)6.3 选择BSP (22)6.4 PB下WINCE的开发、定制 (23)七基于s3c2440的WINCE驱动开发 (33)7.1 wince驱动模型 (33)7.2 2440一个驱动程序示例:基于WinCE的I2C驱动程序设计 (42)八基于2440的嵌入式应用程序开发以及加载至内核 (45)8.1 主流嵌入式开发软件介绍 (45)8.2 基于s3c2440嵌入式开发平台的EVC开发 (46)8.3 把应用程序加入到WINCE内核 (49)8.4 一些EVC下实用的WIN32函数 (50)8.5 EVC下的调试工具 (52)九实现永久保存注册表数据 (53)十Windows CE 下应用程序自动启动 (54)10.1建立快捷方式 (54)10.2 修改shell.reg文件 (55)十一开机后直接运行您的程序而不显示Windows CE桌面 (56)附录一flash.c (57)附录二dm9000.c (69)附录三smdk2440nand.h (74)一前言本开发文档是基于s3c2440嵌入式开发平台所制定,主要从s3c2440的bootloader开发、应用以及windows 4.2在该平台的移植、基于本平台的驱动开发介绍以及基于该平台的一些开发技巧。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 2 卷第 6 7 期
Vo1 27 N O . . 6
萍 乡高 等专科学 校学报
J u n l fP n xa g C l g o r a ig in o l e o e
21 0 0年 1 月 2
De .2 0 Байду номын сангаас 01
M i GU I在 ¥3 44 上 的 移 植 及 软 件 开 发 ni C2 0
吴 新 华
( 乡高等专 科 学校 计算机 系 , 西 萍 乡 3 7 0 ) 萍 江 3 0 0

要 : iiUI 目前 比较 成 熟 的嵌 入 式 Ln x系 统 的 图 形 用 户 界 面 , 具 有 小 巧 、 配 置 和可 移 植 等 特 点 。本 文 M nG 是 iu 它 可
分 析 了 Mii n GUI 的结 构 和 特点 , 细介 绍 了基 于 AR 和 L n x的 Mii I 移 植 与 实 现 的 过程 。 详 M iu nGU 的
关 键词 : 入 式 系 统 ; 形 用户 界 面 ; nG ; 植 嵌 图 Mii UI移
中 图分 类 号 : P 1 T 36 文献 标 识 码 : A 文 章 编号 :O 7 1 9 2 1 ) 6 0 6 一O 1 O —9 4 ( 0 0 0 — O 8 4
1 引 言
程 中建 立 多 个 窗 口, 所 有 的窗 口在 一个 进 程 中 运 但 行 。相 反 , 运行 在 Mii nGUI i —L t 的每个 程序是 单 e上 独 的进 程 , 每个 进程 也可 以建立 多个 窗 口。Mii UI nG
3 1Mii . nGUI 程序开 发
Mii nGUI 提供 了三种 窗 口类 型 : 主窗 口、 对话框
收 稿 日期 :O O 1 一2 21一 O 9
作者 简 介 : 昊新 华 (9 5 ) 男 , 西萍 乡人 , 师 , 士 , 1 7一 , 江 讲 硕 主要 从 事 计 算机 应 用方 面的研 究 。
Mii nGUI i —Lt e则适 合 于 具有 良好扩 展 性 的嵌 入 式
系统 , 比如要下 载并运行 第三 方应用程 序 的智 能手持
终端 。 由于在实时 嵌入式 操作 系统 中 , 硬件环境 比较 其
苛刻, 因此 要求运 行 其 中的 图形 界 面尽 可能 的精 简 , 而传统 的 窗 口系统 尚不 能满 足实 时嵌 入 式 系统 的需 求 。 以, 所 在基于 L n x的实时嵌 入式 系统 上 , 发一 iu 开 个 能够 充分 满足 嵌入 式 系统 需求 的 图形用 户界 面 支 持 系统就 成了 当务 之急 。实际上 , 国内外 已有许 多专 门针对 L n x的嵌入 式 GUI iu 系统 , nGU1 Mii 只是其

Mii UI 为嵌入 式设备 开 发人 员 用 于构 建嵌 nG 是 入式 图形用户界 面的工具 , 一种 面 向实 时嵌入 式系 是 统 的轻 量 级 GUI 作 为一 款根 据 嵌 入 式 系统 应 用 特 , 点 量身 定 做 的完 整 的 图形 支持 系统 , nG Mii UI 底 将 层 操作 系统及硬件平 台差别 隐藏 了起来 , 对上层 应 并 用程序 提供 了一致 的功能特性 。

个主 窗 口 , 为应 用程 序 的主界 面或 开始界 面 。主 作
窗 口通 常包括 了一 些子 窗 口 , 这些 子窗 口通 常是 控 件 窗 口 , 可 以是 自定 义窗 口类 。控件 作 为主窗 口中的 也 子 窗 口, 的行 为和 主窗 口一样 , 它 既能 够 接 收键 盘 和 鼠标 等外 部输 人 , 可 以在 自己 的区域 内进行输 出。 也 Mii nGUI 是消息 驱 动 的系 统 , 口之 间 、 窗 控件 之 间都 通过 消息 通信 。 系统 把消 息发送 到应用 程序 窗 口
和 图形 设备接 口。利用这 些接 口 , 每个应 用程序 可 以
建立 多个窗 口, 而且可 以在这些 窗 口中绘制 图形 且互
不影 响 。用户 也可 以利 用 MiiUI 立菜 单 、 钮 、 nG 建 按
列表框 等常见 的 G 元素 。 UI
Mii UI可 以 具 有 两 种 截 然 不 同 的 运 行 时 模 nG
中之一 。然 而 , 由于开发人 员对实 时嵌入式 系统在 理
等操作 系统 以及 Wi3 平 台上 运行 , 广泛 用于 wi n2 并

F 手 机 、 S 和 TD—S D i G M C MA 手 机 等 移 动 通讯
终 端等领域 。 用户 遍及全球 。 在众 多处 于工业 界领先 地 位 厂 商 的支 持下 , nGUI 已成 为 嵌 入 式 图形 Mii 业 中间件领域 的工业事实标 准 。
的开 发 目标是 为所 有 的 中端和 高端 的智 能信 息设 备 提供稳 定 、 高性 能 的用 户 图形 系统 。
3M ii nGUl 序 开 发 与 移 植 程
式 :Mii -Thed ” 者“ nG - Lt” “ nGUI ra s或 Mii UI i 。运 e 行 在 Mii UI Thed 上 的 程序 可 以在不 同 的线 nG - ra s
第 6期
吴 新 华 : ii UI ¥ C 4 0上 的 移 植 及 软 件 开 发 M nG 在 3 24
P AR— M 0DI YI F NG ) {
FLAG — W AVE— DRAW I NG 一 1;
・ 9・ 6
和控件 窗 口。每个 Mii nGUI 应用 程序一 般都要 创 建
2Mii nGUI 简介
Mij nGUI 为应用程 序定 义 了一组 轻 量级 的 窗 口
解上 的不 同 , 得这些 GUI 使 系统 在接 口定义 、 体系结 构、 功能 特性 等方 面 存在 着很 大 的差 别 。另外 , 这些 G 系统 所使 用 的授 权条 款 也各 有不 同 。Mii UI UI nG
目 前 , nGU 可 以 在 Ln x u l u 、 W Mii / iu / C i x Vx n
o k C s C/ I、 S r a X ce s OS r s e o u OS I p 0S Th e d Nu lu 、 E
The d ra s适 合 于 具 有 单 一 功 能 的 实 时 系 统 , 而
相关文档
最新文档