MiniGUI在S3C2440上的移植及软件开发
- 格式:pdf
- 大小:250.73 KB
- 文档页数:4
首先:在汇编中初始化堆栈,中断向量表,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开始的块。
学校代码: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 图形开发 .............................. 错误!未定义书签。
一、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嵌入式开发平台操作系统和驱动开发文档目录一前言 (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在该平台的移植、基于本平台的驱动开发介绍以及基于该平台的一些开发技巧。
基于S3C2440的嵌入式Linux内核移植及字符设备驱动开发胡祖宝;董国通【期刊名称】《工业控制计算机》【年(卷),期】2015(028)012【摘要】It is important to port kernel system and code driver when applying Linux kernel in a special embedded plat-form.In this work,the embedded platform has been adopted Linux 2.6.22.6 system based onS3C2440 processor.The archi-tecture of Linux kernel is described in detail,and kernel system has been ported successfully in thispaper.Meanwhile,the root filesystem has been established.Furthermore,a character device driver is built as wel.%嵌入式平台多种多样,在一个特定的嵌入式系统应用Linux内核,需要内核的移植和驱动的开发.基于S3C2440芯片的嵌入式开发平台,操作系统选用Linux2.6.22.6版本,分析了Linux内核的体系结构,完成了内核移植过程,构建了根文件系统,对字符设备驱动程序进行了设计与开发.实验证明该方法可行,系统运行可靠.【总页数】3页(P14-15,18)【作者】胡祖宝;董国通【作者单位】上海宝信软件股份有限公司,上海 201203;上海大学机电工程与自动化学院,上海 200072【正文语种】中文【相关文献】1.基于嵌入式Linux的字符设备驱动开发 [J], 王科;姚振东2.基于S3C2440 Codec通道的视频驱动开发 [J], 崔小川;马田;李玉超3.基于ARM的嵌入式Linux字符设备驱动设计研究 [J], 梁金宏;叶海蓉;孙世菊4.基于DSP的嵌入式Linux内核移植的研究与实现 [J], 王晓东5.基于嵌入式Linux内核移植设备驱动的微喷自动装置 [J], 王慧;张璐因版权原因,仅展示原文概要,查看原文内容请购买。
S3C2440完全开发流程作者:dreamer2006@2009-11-3 一.简介 (3)二.建立开发环境 (4)1、编译器ARM-LINUX-GCC-3.4.1 (4)2、J FLASH-S3C2440:S3C2440芯片的JTAG工具 (4)3、安装GDB调试工具 (5)4、USB下载工具 (6)5、UBUNTU开发环境建立 (6)三.S3C2440基础实验 (8)1、实验一:LED_ON (8)2、实验二:LED_ON_C (9)3、实验三:I/O PORTS (11)5、实验五:MEMORY CONTROLLER (15)6、实验六:NAND FLASH CONTROLLER (17)7、实验七:UART (20)8、实验八:PRINTF、SCANF (23)9、实验九:INTERRUPT CONTROLLER (24)10、实验十:TIMER (28)11、实验十一:MMU (31)12、实验十二:CLOCK (39)四.BOOTLOADER VIVI (43)1、阶段1:ARCH/S3C2440/HEAD.S (43)2、阶段2:INIT/MAIN.C (45)1)、Step 1:reset_handler() (45)2)、Step 2:board_init() (46)3)、Step 3:建立页表和启动MMU (47)4)、Step 4:heap_init() (50)5)、Step 5:mtd_dev_init() (52)6)、Step 6:init_priv_data() (56)7)、Step 7:misc()和init_builtin_cmds() (57)8)、Step 8:boot_or_vivi() (58)五.附录一VI命令解释 (65)1、HELP命令 (65)2、MEM命令 (65)3、LOAD命令 (66)4、PARAM命令 (67)5、PART命令 (69)6、BOOT命令 (70)7、BON命令 (71)一.简介本书面向由传统51单片机转向ARM嵌入式开发的硬件工程师、由硬件转嵌入式软件开发的工程师、没有嵌入式开发经验的软件工程师,本书开发板基于天嵌科技的TQ S3C2440开发板,其官方网站为:/,共分9个部分:1、开发环境建立2、S3C2440功能部件介绍与实验(含实验代码)3、Bootloader vivi详细注释4、Linux移植5、Linux驱动6、Yaffs文件系统详解7、调试工具8、GUI开发简介9、UC/OS移植通过学习第二部分,即可了解基于ARM CPU的嵌入式开发所需要的外围器件及其接口。