keil4使用方法入门——基于ARM9的程序
ARM9开发程序操作说明

ARM9开发程序操作说明目录ARM9开发程序操作说明 (1)一、概述 (2)1、启动方式 (2)2、系统运行 (2)3、所需软件及附件 (2)4、文件中用到的文件及术语说明 (3)二、烧写bootloader程序到Nor Flash (3)1、开发系统硬件设置 (3)2、使用Embest online Flash Programmer 烧写 (3)三、运行烧写的bootloader程序 (4)四、加载内核映像运行 (4)1、通过ARTs-Bow开发环境加载 (4)2、通过send.exe加载 (5)五、编写自己的用户程序 (5)六、目录说明 (6)一、概述启动方式1、启动方式S3CEB2410 主板启动可由在S3C2410x 核心子板上SW306(OM0)跳线设置决定:1)SW306(OM0):断开OPEN ---- 从NorFlash 启动,可运行出厂程序。
启动跳线开关SW201 可用来选择U206/U208 其中一片NorFlash 作为启动ROM。
2)SW306(OM0):短接CLOSE ---- 从NandFlash(SMC)启动,可以运行Linux/WinCE 系统。
不用考虑启动跳线开关SW201 的设置。
系统运行2、系统运行1)烧写bootloader程序到Nor Flash。
2)上电复位从Nor Flash启动bootloader,运行烧写的引导程序。
3)串口加载操作系统和用户shell文件kerne.bin到开发板内存运行。
4)运行于用户shell命令状态,与操作系统交互。
所需软件及附件3、所需软件及附件1)Embest IDE Pro for ARM --- 正版收费软件。
2)Embest online Flash Programmer--- 正版收费软件,购买Embest IDE Pro for 包ARM 赠送。
3)Windows 超级终端--- Windows 安装时默认安装的组件,如果没有安装可自行安装。
keil μVision4教程

KeilμVision4使用详解zxmh6前言单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于 MCS-51 单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。
Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行 Keil 软件需要 Pentium 或以上的 CPU, 16MB或更多 RAM、 20M 以上空闲的硬盘空间、 WIN98、 NT、 WIN2000、 WINXP 等操作系统。
掌握这一软件的使用对于使用 51 系列单片机的爱好者来说是十分必要的,如果你使用 C 语言编程,那么 Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用 C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
我们将通过一些实例来学习 Keil软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。
图 1 所示电路图使用AT89C51 单片机作为主芯片,这种单片机性属于 MCS-51 系列,其内部有 4K的 FLASH ROM,可以反复擦写,非常适于做实验。
AT89C51的P1引脚上接8个发光二极管,P3.2~P3.4 引脚上接 4 个按钮开关,我们的第一个任务是让接在 P1 引脚上的发光二极管依次循环点亮。
电子教案 嵌入式系统开发基础—基于ARM9微处理器C语言程序设计(第四版)

主要内容:
• 1.1 单片机和嵌入式控制系统 的定义和分类
• 1.2 ARM处理器简介
1.1 单片机和嵌入式控制系统的定义 和分类
• 在许多文献中,对嵌入式控制有不同的定义,最常 见的一种说法是:嵌入式系统是以应用为中心、以 计算机技术为基础、软硬件可裁剪、对功能、可靠 性、成本、体积和功耗有严格要求的专用计算机系 统。还有一种说法:嵌入式系统就是一个具有特定 功能或用途的计算机软硬件结合体。各种说法虽然 在一定程度上对嵌入式进行了描述,但都不全面或 确切。
传到“宿主机”,叫程序上传。应用程序通
过“仿真器”的下载和上传,在“宿主机” 上反复修改,这个过程叫“调试”。调试好 的应用程序,在“宿主机”上编译成“目标 机”可以直接执行的机器码文件,通过一台 叫“固化器”的设备下载并固化到“目标机” 的程序存储器中,整个下载过程,叫烧片, 也叫程序固化。
• 程序固化是单片机开发的最后一步,以后 “宿主机”和“目标机”就可以分离,“宿 主机”任务完成。“目标机”就可以独立执 行嵌入式控制器的任务。
• 系统在调试程序时,要占用“宿主机”较多 资源,如使用并口连接JTAG仿真器、使用串 口与“宿主机”通信、使用网口来传输文件。
• 如果我们在目标机上不安装嵌入式操作系统, 把ARM9 只当成是32位单片机来开发,那么, 整个开发过程和开发MCS-51单片机一样,特 别简单。这样我们就可以把主要时间放在对 ARM9单片机软件和硬件的熟悉上,充分发挥 32位单片机本身资源优势;把主要精力放在 控制系统的稳定性和可靠性上,在较短时间 开发出高品质嵌入式产品。
• 嵌入式控制系统大多具有小、巧、轻、灵、薄 的特点,需要与Internet的结合、多线程的系统等 “高端应用”只占非常少的一部分,因此不采用嵌 入式操作系统,也可以满足系统需要。
Keil Uvision4基本操作教程

Keil_uvision4基本使用教程1.创建工程1)首先创建一个空文件夹(如下图所示),把工程文件存放在该文件夹下。
图1.新建文件夹2)打开Keil uVision4软件菜单“project‐>New uVision Project”,如下图所示。
依次点击弹出如图3所示对话框。
图2.新建工程3)在图3所示1中建立的文件夹,并填写项目名称后点击保存。
弹对话框中,依次选择图出器件选择对话框如图4所示。
图3.命名新工程4)在图4中,选择器件“Atmel‐>AT89C51”,点击“OK”,弹出如图5所示拷贝Startup对话框。
图4.器件选择对话框5)在图5中点进入如图6所击“否”,示的项目界面。
图5.拷贝Startup对话框。
图6.项目界面6)如图7所示此时回到新建文件夹下,可以看到的工程文件。
图7.工程文件夹2.创建并编辑源文件1)如图8所示菜单“File‐>New”,新建,依次点击源文件如图9所示。
图8.新建源文件2)在图9所示的源文件编辑窗口中输入源代码。
点击保存按钮,弹出如图10所示的保存对话框。
图9.编辑源文件3)图11在图10中,件的名称。
注意,一定保证文件的后输入源文缀名为“.c”。
此时,如所示,源文件编辑窗口中的关键字变为蓝色。
图10.保存源文件图11.C文件下的编辑状态4)如图12中,如图13所打开添加源文件对话框示。
图12.文件窗口打开添加源5)在图13中,保存好的C文如图14所选择刚刚件并点击添加。
添加后的工程界面示。
其中在项目栏中的“Source Group1”节点下方出现刚刚添加的源文件。
图13.添加源文件窗口图14.添加了源文件的工程界面3.编译源文件1)如图15所置窗口如图16所示。
其中,在“Target”选项示,打开设页中,如图中蓝色背景字体所示,设置单片机工作的晶振设置为12MHz。
频率。
这里图15.打开设置对话框图16.项目设置对话框2)如图17所示,在“Output”选项页选)“Create中使能(勾HEX File”选项。
keil创建arm工程操作步骤

Keil创建ARM工程操作步骤1、双击keil uvision4,打开keil开发环境2、选择project—> new uvision project 创建新项目,在创建新项目时,最好先新建一个文件夹,把新项目创建在新文件夹里,这样项目所生产的文件都在该文件夹下,便于项目的管理。
3、在弹出的对话框中选择芯片类型芯片选择好后,点击OK退出。
这时弹出一个对话框,询问是否添加启动代码到新项目中,选择“是”。
4、选择file-->new,新建文件。
在文件输入主函数程序代码。
输入完后,点击保存,假设命名为main.c 。
注意保存路径,要和项目在同一文件夹下。
5、右键点击source group1,选择add file to source group1.添加mail.c文件。
若项目中包含文件较多,均可采用该方法添加文件。
6、配置相关选项。
点击红框的target options弹出选择output标签然后点击“select folder objects”,弹出一对话框,在这里新建一个文件夹,命名为“obj”,然后双击进入obj文件夹。
然后点击ok退出。
本步骤的目的是将生产的目标文件都放在obj文件夹里。
7、选择listing标签,点击select folder for listings ,新建文件夹list,并双击进入该文件夹,然后点击ok直接退出。
8、选择linker标签,勾掉use memory layout from target dialog,选择Scaterfile 后面的第一个按钮,选择文件。
然后点击编辑。
9、选择debug标签。
配置如下图。
选择Ext_RAM.ini,然后点击编辑。
在Ext_RAM.ini中修改可执行文件名称。
第一步拷贝可执行文件名称,该名称在output标签中。
第二步修改Ext_RAM.ini中名称。
10、选择utilities标签,配置如下保存退出11、编译,仿真。
Keil4基本用法

在Keil4.11中打开一个工程文件进行编译、下载及调试的步骤1、打开一个工程文件:2、Keil4.11中工程文件后缀为:*.uvproj3、工程中Common组中源程序需重新添加:4、先移除已有程序:5、然后添加:注意:所有源程序存放在Commom文件夹中,startup_LPC17xx.s存放路径为:F:\2012-2013-2嵌入式实验\ARM原理实验(下半学期)\Common\startup\arm,其余的存放在:F:\2012-2013-2嵌入式实验\ARM原理实验(下半学期)\Common\src。
6、设置头文件搜索路径:在Target Options对话框的C/C++页面中:采用绝对路径法,设置如下:所有后缀为*.h的头文件存放在F:\2012-2013-2嵌入式实验\ARM原理实验(下半学期)\Common\inc中。
7、生成可执行文件:在工程文件名处右键菜单中点击“Rebuild all target files”,进行编译、链接等,生成可执行文件。
8、程序调试及运行:点击Start/Stop Debug Session进入/退出程序调试状态,点击之后,系统自动将可执行文件下载到1768实验板上。
8、程序运行菜单:该菜单上有软件复位、全速运行、单步运行等功能。
9、基本调试工具:主菜单View中包含常用的调试工具和观察窗口。
其中常用的有:(1)工程文件显示窗口Project Window的显示也在View中设置;(2)反汇编窗口Disassembly Window 可以查看C语言和汇编的对照;(3)Registers Window 常用寄存器内容查看(4)Watch Window 可以查看自行定义的变量的值,可以双击,然后输入变量名;(5)Memory Window 查看内存地址的内容。
10、在debug状态下,点击运行程序;点击停止运行。
程序运行到程序中某个地方,可以点击进行软件复位,程序运行指针重新指向main入口地址。
Keil uVision4使用说明

Keil uVision4使用说明一、RealView MDK 的安装步骤 (1)二、J-link的使用 (2)1. 安装J-link驱动 (2)2. JLINK仿真器在Keil uVision4下的配置与使用 (3)三、M3-LINK仿真器使用说明书 (7)1. 仿真器的驱动安装 (7)2. M3-LINK仿真器在Keil uVision4下的配置与使用 (10)四、芯片型号的判定: (16)五、安装流明诺瑞驱动库 (17)Keil uVision4使用说明软件地址:\\192.168.1.5\刻盘\工具软件\EXP-M3\开发环境4.20一、RealView MDK 的安装步骤将安装文件拷贝到电脑根目录下,然后双击图标,如图所示:注意:去掉属性里的只读选项。
一直点Next,选择默认路径即可。
出现以下图标后随便输,直至安装完成。
说明:安装完成以后,必须先更新流明诺瑞驱动库才能使用软件二、J-link的使用1.安装J-link驱动第一步:找到并打开“J-LINK驱动”文件夹,双击运行可执行文件Setup_JLinkARM_V408l.exe,出现如下界面:第二步:点击Yes,后面出现的对话框一直Next即可,安装目录选择默认的路径C:盘下即可,如下图所示:第三步:安装完成后,用USB电缆把仿真器与开发板连接上后,在我的电脑设备管理器的通用串行总线控制器下能找到J-link driver。
如下图所示:右击我的电脑,依次点击管理、设备管理器、通用串行总线控制器即可查看。
安装完成后显示的驱动信息2.JLINK仿真器在Keil uVision4下的配置与使用第一步:(1)确保仿真器的驱动已经正确安装。
(2)确认开发环境Keil uVision4软件已经安装并可以使用。
第二步:进入到附带的“Keil工程\EXP-LM3S811”文件夹下,参考这个针对EXP-LM3S811板卡的工程设置进行其它工程的设置。
Keil软件使用手册【精选文档】

Keil软件使用手册(本手册参考keil 4版本)一安装到网上下载一个安装包,里面必须包含以下内容:1:(安装包文件,圈选的文件为安装说明,请务必仔细阅读) 2:(打开安装文件)3:(点击下一步)4:(勾选同意,并点击下一步) 5:(浏览选择到你想安装的地方,然后选择下一步)6:(两个空可以随便打,不重要,填完后点击下一步)7:(正在安装中)8:(点击完成)9:(进入安装的文件夹,点击UV4)10:(打开Keil4的执行文件)11:(点击File,再选择License Management)Pic 12:(复制右上角的ID号)12:(打开注册机文件)13:(将复制的ID号粘贴在此处)14:(点击Generate,在上方会生成一组ID,复制下来)15:(将复制好的ID粘贴在圈选出,并点击Add LIC)16:(当你看见这两组单词,那么恭喜你,注册成功,准备开始你的奇妙程序之旅吧!)二新建工程1.单击Project,选择New Project2.选择保存位置,输入工程的名字3.选择CPU。
紧接着,Keil C51提示您选择CPU器件。
8051内核片机最早是由Intel公司发明的,后来其他厂商如Philips、Atmel、Winbond等先后推出其兼容产品,并在8051的基础上扩展了许多增强功能,根据芯片的实际情况,选择相应的器件(本例程选择Atmel公司下的AT89C52),如图:注:选择8051也可以,8051与8052有一点的差别,可以说8052是8051的升级版,主要有以下不同:1.内部RAM,8051单片机为128Byte(00H—7FH),8052单片机为56 Byte (00H—0FFH)2. 内部ROM,8051单片机为4KB,8052单片机为8KB3. 8051有两个Timer:T0和T1。
8052除了有T0和T1以外,还有一个Timer2 4。
8051有5个中断源8052有6个。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
首先创建一个空文件夹来存在工程(Keil不会为我们创建工程文件夹)。
Open keil > project > new uVision Project > 输入工程名称> SAVE
在建立的文件夹里新建一个文本文件,格式修改为.s
在project窗口中右击Source Group1,选择Add files to source group 1,在弹出的窗口中选中刚才建立的.s文件,然后点击ADD,再点击close弹出的窗口。
可以看到project窗口出现了我们添加的.s文件。
Flash > configure flash tools….,弹出如图
Device选项里可选择要仿真的处理器,我们选择ARM9 (little end)小端。
Target选项里可设置ROM/RAM起始地址,这里的起始地址要跟Linker选项里的地址一致。
CODE Generation设置成ARM-mode
接下来在.s文件里编写我们的ARM汇编,如下。
;在ARM状态下生成由64个整数构成的数组的初始值。
;在THUMB状态下将上述数组复制到一个新的地址,并转换成字符数组
;再返回ARM状态,计算Thumb状态下所产生数组所有元素值的和。
AREA block, CODE, READONLY
N EQU 64
FIR EQU 0x01
ENTRY
start
;送数组入口地址
LDR R0, =A
MOV R3, #N-1 ;init counter
LDR R4, =FIR ;init the first number of A array
init64 ;produce 64 numbers
; CMP R3, #0
; BEQ init_finh
STR R4, [R0], #4
ADD R4, R4, #1 ;
SUBS R3, R3, #1 ;递减
BPL init64 ;循环
;init_finh
LDR R0, =A
LDR R1, =B
MOV R3, #N*4-1 ;init counter
ADRL R7, change+1
BX R7 ;处理机状态切换为THUMB CODE16
;复制转换
change
; CMP R3, #0
; BEQ change_finh
LDRB R2, [R0] ;读取字节
; ADD R2, #65 ;转换为字符
STRB R2, [R1]
ADD R0, #1
ADD R1, #1
SUBS R3, #1
BPL change
;change_finh
LDR R1, =B
MOV R3, #N*4-1
ADR R7, sum ;状态切换
BX R7
CODE32
sum
LDRB R0, [R1], #1 ;计算和,结果保存在R0中
sum_loop
; CMP R3, #0
; BEQ sum_finh
LDRB R2, [R1], #1
ADD R0, R0, R2
SUBS R3, R3, #1
BPL sum_loop
;sum_finh
loopup
B loopup
AREA datablock, DATA, READWRITE
A SPACE 64*4
B SPACE 64*4
END
保存文件夹,然后build 。