文档库 最新最全的文档下载
当前位置:文档库 › ARM的KEIL工程建立及编译过程

ARM的KEIL工程建立及编译过程

ARM的KEIL工程建立及编译过程
ARM的KEIL工程建立及编译过程

ARM 的KEIL 工程建立及编译过程 精简:

1)添加:Ext_RAM.ini 和RuninRAM.sct; 2)选中

,去掉

3)注意LOAD 1.axf INCREMENTAL // Download program 这个名要与工程名保持一致。

第一步:新建工程

点击Project-new uvision Project 新建工程,注意工程名没有后缀。

点是,自动生成启动代码,否,要自己写启动代码。 第二步:自己写c 程序(用户程序):

点击File-New 新建文件:注意文件名尾缀为.c。

U

n R

e g

i s

t e

r e

d

第三步:添加C 文件

选中Source Group1点击右键,进行文件添加。

第四步:COPY 三个文件:(第一个是用户程序,自己写就不需要添加,最后一个如果自动生成启动代码也不需要添加)Ext_RAM.ini 和RuninRAM.sct

必须添加。

Ext_RAM.ini :J-LINK 初始化脚本,必须添加。 代码执行前必须要初始化CPU 内部的一些寄存器。该文件就是做初始化工作,给J-LINK 用。J-LINK 通过读取该配置文件,初始化目标板主CPU 相关的寄存器。 RuninRAM.sct:代码编译时需要的链接文件,其主要作用就是组织代码的到该脚本指定的地址。

S3C2440A.s:初始化代码(启动代码) 小知识点:RuninRAM.sct:代码分析

U

n R

e g

i s

t e

r e

d

; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* ; Run in RAM

LR_ROM1 0x30000000 {

; load region 程序运行起始地址。内存起始地址固定0x30000000 ER_ROM1 0x30000000 0x0040000 { // 0100

; load address = execution address 程序的下载地址,及程序容量 *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) }

RW_RAM1 0x30040000 0x0040000 { ; RW data RW 段起始地址 .ANY (+RW +ZI) }

RW_IRAM1 0x40000000 0x00001000 {

//芯片内部4k sram 空间,固定式0x40000000开始。 .ANY (+RW +ZI) } }

第五步:配置

U

n R

e g

i s

t e

r e

d

点击

在target 选项中如图进行设置,注意Xtal:设置的时钟频率只是仿真时有用。

在OUTPUT 选项中选中HEX FILE。

Listing、User、C/C++、Asm 选择默认即可 Linker 安装如下进行设置

Debug 安装如图进行设置

U

n R

e g

i s

t e

r e

d

点击Utilities:安装如下进行设置。

Update target before debugging:选中每次自动更新flash,如果程序在内存中运行要去掉。

第六步:通过keil 下载程序到norflash:如果要烧写到flash 需要点击setting 后点击ADD 进行添加响应的norflash 型号。

U

n R

e g

i s

t e r e

d

注意:不建议用该方法进行程序烧写,因为有时候可能导致程序经常复位,可能是keil 自身编译器问题。

第七步:如果用J-LINK 仿真调试时需要将:

Ext_RAM.ini 里面的:

Init(); // Initialize memory

LOAD 1.axf INCREMENTAL // Download program 这个名要与工程名保持一致。 PC = 0x30000000; // Setup for Running

// g, main // Goto Main

U

n R

e g

i s

t e

r e

d

第八步:如果要烧写程序,需要先将keil

的修改如下:

; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* ; Run in RAM

LR_ROM1 0x30000000 { ; load region

ER_ROM1 0x30000000 0x0200000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) }

RW_RAM1 0x30800000 0x0800000 { ; RW data .ANY (+RW +ZI) }

RW_IRAM1 0x40000000 0x00001000 { .ANY (+RW +ZI) } }

修改为:

; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* ; Run in RAM

LR_ROM1 0x00000000 { ; load region 程序存放到norflash 中。 ER_ROM1 0x00000000 0x0200000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) }

RW_RAM1 0x30800000 0x0800000 { ; RW data .ANY (+RW +ZI) }

RW_IRAM1 0x40000000 0x00001000 { .ANY (+RW +ZI) } }

然后再编译生成hex 烧录代码,然后通过J-LINK 烧写即可。

U

n R

e g

i s

t e

r e

d

ADS 到KEIL 过程:

第一步:新建工程:

点击 "否"

第二步:修改工程名及分组名、添加文件

在添加文件前需要将ads 目录下的inc 、lib 、main.c 复制到新建的KEIL 工程中。然后编译。

U

n R

e g

i s

t e

r e d

第三步:配置:

Listing 默认:

U n R

e g i s

t e

r e

d

d

e

r

e

t

s

i

g

e

R

n

U

d

e

r

e

t

s

i

g

e

R

n

U

在2440init.s 中修改

修改原因:因为ads 和keil 编译环境不一样,所以要修改,声明这些变量的来源 IMPORT |Image$$ER_ROM1$$RO$$Base| ; Base of ROM code 代码段起始地址 IMPORT |Image$$ER_ROM1$$RO$$Limit| ; End of ROM code (=start of ROM data)代码段结束地址 IMPORT |Image$$RW_RAM1$$RW$$Base| ; Base of RAM to initialise ;rw 段起始地址 IMPORT |Image$$RW_RAM1$$ZI$$Base| ; Base and limit of area zi 起始地址 IMPORT |Image$$RW_RAM1$$ZI$$Limit| ; to zero initialise zi 结束地址 IMPORT:这些变量在其它文件声明,然后通过该符号导入到该文件中。(这些变量是在KEIL 编译器中)

U n R

e g

i s

t e r e

d

使用这些变量

将Init 修改为RESET (目的是与runinram.sct 里面的保持一致)。

KEIL 常见小技巧:

怎样恢复默认界面:点击WINDOW---Reset View to Defaults 即可。

U n R e g

i s

t e

r e

d

自动隐藏编译窗口:点击小喇叭,即可隐藏,再点击就固定。如果隐藏了想看可以将鼠标移到左下脚即可自动弹出,鼠标移开编译窗口自动隐藏。

U

n R

e g

i s

t e

r e

d

windows安装交叉编译环境

Duanxx的嵌入式学习: Win7安装交叉编译环境 ——Duanxx ——2015-09-15 ARM-linux的交叉编译环境,一般的教程都是在linux系统(比如ubuntu)上安装linaro的arm-linux-gnueabihf编译环境,然后再安装Eclipse和CDT,这样来实现交叉编译环境的安装。 我个人使用这种方法已经使用了几年了,因为我个人比较喜欢使用Linux系统(我使用的是CentOS),所以感觉很自然。但对于初学者而言,如果对linux系统不熟悉,这个方法非常的麻烦,仅仅是为了编译一个可以在ARM-linux上运行的elf文件,还要装虚拟机,学习linux系统的很多使用方法,挺麻烦的。 这两天试了一下在windows平台上安装交叉编译环境,成功了,这里将详细教程写下来,就当是做个记录。 目录 一、安装Eclipse (2) 二、安装CDT (3) 2.1Eclipse Marketplace 安装CDT (4) 2.2 Install New Software 安装CDT方案1 (4) 2.3 Install New Software 安装CDT方案2 (7) 2.4 手动安装CDT (9) 三、安装minGW (10) 四、安装Linaro ToolChain (10) 五、搭建交叉编译开发环境 (13) 六、RSE将可执行文件传输到ARM上 (26)

一、安装Eclipse Eclipse的下载网址是:https://www.wendangku.net/doc/5f257478.html,/downloads/ 会有下面的这个网页,我打红色框的都可以直接使用,这里其实是无所谓的,因为Eclipse是基于插件的开发环境,如果只是为了开发C++的,可以考虑选择后面一个“Eclipse IDE for c/C++ Developers”。 Eclipse解压后就可以直接使用,见下图中的eclipse.exe,同时注意一下freatures和plugins文件夹。

keil工程文件的建立以及简单代码的编写

KEIL工程的建立以及简单程序的编写下载   相关软件及硬件实验平台 单片机系统设计主要包括硬件设计和软件设计,对于单片机初者来说主要在于软件的学习,也就是程序设计,等大家程序这块掌握得差不多了,再去结合具体的项目学习做硬件,最终掌握单片机系统设计的方法。而在进行软件学习的时候需要用到单片机实验板进行实验验证,实验板建议直接购买,当然如果电子技术基础好的话,自己做板也是可以的。这次教程开发程序所用到的软件为keil uVision2 下面分别介绍这keil uVision2和 实验板的使用方法,在程序编写完成后需把程序烧写到单片机中,我们是用ISP在线下载工具,这里一并进行介绍。 为了便于大家学习,这里我们写一个以1602液晶为显示器件的可显示时、分、秒的电子时钟程序为例介绍整体程序从编辑、编译到下载的全过程。(具休程序已事先写好并经正常调试无误,后面课程会具体介绍,这里暂不作讲解) 在正式的写程序之前,需进行keil uVision2软件的安装和实验板驱动程序的安装,相关的软件及驱动程序请大家直接在实验室网站下载中心进行下载,这里给出下载地址。keil uVision2软件件及安装方法、实验板驱动程序及安装方法。 安装安成后,即可按下面的步骤进行。 1、KEIL软件的使用及工程文件的建立 51单片机程序设计所用到的开发软件主要是keil uVision,它是由德国Keil Software公司开发的,2005 年Keil公司被ARM公司收购,并于2009年发布了keil uVision4,这个版本的软件支持ARM系列的芯片,如现目前流行的STM32等芯片 ,我们这里使用的是uVision2版本。 (1)、打开KEIL软件 双击keil快捷方式图标(软件安装好后,一般在桌面上会有快捷方式,双击即可),出现启动界面如图1,紧接着出现编辑界面如图2。 图1 启动keil软件时的界面

STM32的Keil工程文件建立过程

固件库采用3.5.0版本 USE_STDPERIPH_DRIVER,STM32F10X_CL 1.首先建立工程文件,将固件库中的文件复制过来 建立工程文件夹project,包含文件夹 user:用户可自己修改的文件 CMSIS:Cortex-M3内核相关文件 startup:启动单片机的汇编文件 driver:外设操作的驱动文件 具体向工程文件夹中添加的文件为: 将路径:固件库文件夹\Project\STM32F10x_StdPeriph_Template中的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h文件添加到user文件夹,再在其中建立一个main.c主文件 将路径:固件库文件夹\Libraries\CMSIS\CM3\CoreSupport中的core_cm3.c、core_cm3.h 文件,以及固件库文件夹\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h文件添加到CMSIS文件夹 将路径:固件库文件夹\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 中的startup_stm32f10x_cl.s(互联型启动文件)文件添加到startup文件夹 将路径:固件库文件夹\Libraries\STM32F10x_StdPeriph_Driver中的src和inc文件夹全部复制到driver文件夹

2.在Keil中建立工程并管理工程文件

STMv3.5固件库在keil4中建立工程的具体过程

首先建立一个文件夹用来装工程(文件夹名自定,笔者建立的文件名为“ggyy_Proj”文件夹)。 在“ggyy_Proj”文件夹下,建立两个文件夹“User”和“Project”。 将库文件STM32F10x_StdPeriph_Lib_V3.5.0下的“Libraries”文件夹全部拷入“ggyy_Proj”文件夹下。 将“ggyy_Proj”文件夹下的“Project”文件夹下建立三个文件夹“List”、“Obj”和“Pro”。其中Pro用来存放工程。 将“ggyy_Proj”文件夹下的“User”文件夹下建立两个文件夹“inc”和“src”。

然后将需要用到的文件拷贝到相应的文件夹中: 将以下5个.h文件考进ggyy_Proj下User下的inc文件夹中: ···ggyy_Proj\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h ···ggyy_Proj\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.h \stm32f10x.h 固件库中: ·STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_conf.h \stm32f10x_it.h 将以下2个.c文件考进ggyy_Proj下User下的src文件夹中: 固件库中: ···STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_it.c \main.c 现在打开keil,并点击在Project菜单栏下的New uVision Project…来新建工程。

嵌入式交叉编译环境的搭建

实验二、嵌入式交叉编译环境的搭建 1、实验目的: 通过本实验使学生掌握交叉编译环境的建立,了解在S3C2440上交叉编译环境搭建的原理及步骤。 2、实验设备及说明 1、安装ubuntu10及vmware的计算机 2、天嵌2440的开发板 3、实验指导书 4、天嵌开发板的超级终端设置 5、天嵌开发板开发文档 6、TQ2440使用手册v2.3---20100125 3、实验内容和步骤 1、安装交叉编译器:EABI4.3.3 ●解压EABI 工具包 命令:tar zxvf /mnt/hgfs/(根据本机压缩包存储路径输入)/EABI 4.3.3.tar.gz –C / ##将压缩包解压到根目录下 ●添加路径至全局变量PATH中 命令:PATH=$PAHT:/opt/EmbedSky/4.3.3/bin (此路径应根据本机的具体情况输入) ●查看全局变量PATH 命令:echo PATH ###查看刚才的添加是否成功 ●查看交叉编译命令是否能够使用 命令:arm-linux-gcc –v ###如果刚才解压、添加变量成功,此时输入命令后,即可以显示命令的版本信息。

2、minicom

●在线安装minicom 命令:apt-get install minicom ●在命令行中键入“minicom”,这就启动了minicom软件。 ●Minicom在启动时默认会进行初始化配置minicom -s ?CTRL+A Z,来查看minicom的帮助 ?CTRL-A O配置minicom的串口参数,选择“Serial port setup”子项,上面列出的配置是minicom启动是的默认配置,用户可以通过键入每一项前的大写字母,分别对每一项进行更改.要对波特率、数据位和停止位进行配置,键入“E”,在该配置界面中,可以键入相应波特率、停止位等对应的字母,即可实现配置,配置完成后按回车键就退出了该配置界面。在确认配置正确后,可键入回车返回上级配置界面,并将其保存为默认配置。 ?

keil添加文件建立一个最简单工程

建立一个最简单工程-基于StdPeriph_Lib 第一步: 新建一个工程文件: 并选择CPU型号: 询问是否复制自带的启动文件,选择否即可,我们使用ST固件库中的.

第二步: 对源文件分组管理 新建三个组: user Libraries(ST固件库) CMSIS(CM系列通用库) 分组管理源文件可以使程序结构变成清晰

第三步: 开始添加源文件 User 目录添加main.c it.c(包含最基本的中断处理函数) Libraries 目录添加ST固件库的所有文件(可以只添加需要的,但一起添加比较省事,且链接时并不会链接不使用的函数,所以并不会使目标变大) CMSIS添加CMSIS中STM32需要的部分 Libraries/CMSIS/CM3/CoreSupport/core_cm3.c

Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/arm/startup_stm32f10x_hd.s (启动文件,但STM32各系列兼容性较好,如果不用特殊功能,各启动文件区别不大)

第四步: 设置项目的头文件搜索目录及目标输出目录 1.设置全局定义: USE_STDPERIPH_DRIVER 用来定义使用ST的固件库 STM32F10X_HD 设置目标芯片的类型 其它的有STM32F10X_MD和STM32F10X_CL有等.与启动文件对应. 同时勾上one elf section per function,即相同的段只链接一次.然后开始设置头文件搜寻目录.

GD32 Keil5工程创建步骤

第一步:安装DFP软件包 (1)按照Keil uVision5, 步骤略。我的keil版本如下: (2)下载GD3210X的DFP软件包。 下载地址: 插件包下载完成后,有3个文件。 (3)安装DFP软件包。双击.pack文件进行安装,如下图所示:

点击next,将包文件复制到上面的路径位置。如下图: GigaDevice文件夹就是安装好的软件包。 第二步:创建Keil工程 (1)通常要新建3个文件夹。如下图所示: (2)打开keil5,新建project.将工程文件放到Mdk-Arm目录下面。弹出器件选择界面:在Device下拉框,选择Software Packs,选择GD32F103RB,点击OK

接着弹出Mannage RTM界面,选中CMSIS的CORE和设备外围库文件,如下所示: 点击OK,CMSIS工具自动添加库文件到./Mdk-Arm/RTE目录中,工程目录如下所示:

(3)在Keil5中,打开文件管理界面: 依次创建文件组:Application/Utilites/Documents (4)将main.c gd32f10x_it.c sysstick.c相关文件拷贝到userr文件夹,并添加到Application 文件组中。 (5)设置编译的头文件目录:将DFP包的CMSIS相关头文件路径都加进去,将 RTE_Components.h配置头文件路径加进去。如下图所示:

Main文件内容如下: 注意: (1)此项目是用MDK CMSIS配置工具建立的,CMSIS配置工具会自动将选用的标准库源码的C文件从Kiel5的DFP包标准库目录下拷贝到当前的项目中:./Mdk-Arm/RTE路径下,但是没有将头文件拷贝过来。所以此项目的编译依赖实际的Keil5安装环境:没有安装DFP包或头文件目录跟工程设置的包含路径不对应的话,就会出现编译失败。也就是说,将一个项目拷贝到另一台电脑时,编译可能失败。 (2)main.c/systick.c和gd32f10x_it.c是从例程中拷贝过来的. (3)头文件的前面出现感叹号,表示没有正确的引用。 (4)也可以不用MDK CMSIS配置工具,手动拷贝相应的CMSIS库文件,进入DFP软件包目录下,将GD32F10x_DFP文件夹整体拷贝到过来。再将 C:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS目录下的Include目录拷贝过来。再将启动文件也拷贝过来,(注:位置应该是GD32F10x_DFP\2.0.0\Device\Source\ARM, 此处我选的MCU 是GD32F103RB,所以用md.s),将其拷贝到过来。手动拷贝库文件建立工程的方法跟用CMSIS 配置工具建立工程的方法大同小异,只是工程里面添加了标准库文件之后,记得要手动配置对应的头文件。而借助CMSIS工具,则会自动通过更改RTE_Components.h文件实现。

ubuntu10.04全过程创建交叉编译环境

ubuntu10.04下建立交叉编译工具链(支持软浮点)全过程 参考了网上的不少的资料,花了五个小时终于完成了,记录下全过程供大家分享。 用到的源码包如下,建议新手全部放在/home/usr/downloads/ 目录下。以下操作在用户权限下进行。 ======================================================================= arm-linux-gcc-3.4.1.tar.gz glibc-2.3.3.tar.gz linux-2.6.8.tar.gz crosstool-0.43.tar.gz binutils-2.15.tar.gz glibc-linuxthreads-2.3.3.tar.gz binutils-2.18.tar.gz --安装用 编译一次至少要花半个小时,如果因为依赖软件没有安装中途会报错退出,只有从头再来,那样很浪费时间的。 sudo apt-get install bison flex build-essential patch libncurses5-dev 由于ubuntu10.04自带的ld ,as版本太高的原因,需要安装binutils的2.18版本,然后替换系统中的2.20版本。方法如下: $cd downloads $tar xzvf binutils-2.18.tar.gz $cd binutils-2.18 $./configure --prefix=/tmp/binutils --disable-nls (-prefix后面的是生成可执行文件存放的位置可以自己定义) $make all $make install 编译成功后在/tmp/binutils/bin/中就生成了ld和as程序的可执行文件 重新链接/usr/bin/ld 和/usr/bin/as文件 $sudo rm /usr/bin/ld /usr/bin/as //删除2.20的ld,as $sudo ln –s /tmp/binutils/bin/ld /usr/bin/ $sudo ln –s /tmp/binutils/bin/as /usr/bin/ 然后可运行ld –v 和as –v 查看版本是否为2.18。 安装2.18版本可解决出现的 ld as " version too old "问题。 2. ubuntu10.04下默认的GCC版本是4.4.3,但这个不是版本越高越好,版本太高,对语法什么的要求也高,编译不成功,降低版本吧: #sudo apt-get install gcc-4.1 //安装4.1的GCC,需要联网 #sudo rm /usr/bin/gcc //删除之前4.4.3的快捷方式,4.4.3的GCC并未删除#sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc //建立4.1的快捷方式 这是由于crosstool中定义了GCC的版本的上下线,最高也就到4.1,在其配置的时候会对这个版本信息进行检测,不在其规定范围就报错了。 3.修改sh版本 如果运行

keil_MDK建立工程步骤方法

KEIL工程建立步骤点击Next,勾选安装协议:

下一步,选择安装路径(笔者因硬盘空间不足安装在E盘,但若读者硬盘资源充裕,则建议安装在C盘,跑起来快些): 下一步,填写用户信息,个人用户随意填入即可:

点击Next 就进入实质的安装过程啦,Wait for a Whle…… 很快安装完毕,看到2 个可选项: 1、保持当前uVision 的设置。 2、载入以下选择的工程实例,默认即可。

点击Next,来到最后一个安装界面: 1.是否安装ULINK Pro Driver V1.0驱动? 2.是否显示软件发布说明? 读者可以按照自己的需求勾选。 点击Finish,KEIL MDK就完成安装了,可以发现桌面上生成了名为“Keil uVision4”的可执行文件快捷方式。双击“Keil uVision4”图标打开Keil uVision4开发环境,此时Keil uVision4会自动载入一个工程项目(依安装的倒数第二步勾选而定),我们就此可以简单地看看KEIL MDK 的用户界面。

如图所示,KEIL MDK的基本用户界面也是很简洁的,也是由一些菜单栏,工具栏,状态栏等区域构成。当然KEIL MDK的软件界面远远不止这么简单,读者可以在日后漫长的工程师生涯逐一熟悉。 至此,KEIL MDK的安装工作已经完毕了。接下来我们要开始建立我们的第一个工程。在开始之前,请读者先从网上获取ST公司提供的STM32固件库“stm32f10x_fw_archive v2.0 (May 2009)”,然后将其解压。 首先请读者在任意一个地方建立一个空文件夹,并将其命名为“STM32_FW”。然后在STM32_FW 里新建6个文件夹,分别命名为“boot”、“library”、“src”、“obj”、“list”、“library”。 如下图所示: 接下来请执行如下操作:

Keil 工程文件的建立

Keil 工程文件的建立、设置与目标文件的获得 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 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 所示电路图使用89C51 单片机作为主芯片,这种单片机性属于 MCS-51 系列,其内部有 4K 的 FLASH ROM,可以反复擦写,非常适于做实验。89C51 的 P1 引脚上接 8 个发光二极管,P3.2~P3.4 引脚上接 4 个按钮开关,我们的第一个任务是让接在 P1 引脚上的发光二极管依次循环点亮。 一、Keil 工程的建立 首先启动 Keil 软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击 uVision 的图标以启动该软件。 UVison 启动后,程序窗口的左边有一个工程管理窗口,该窗口有 3 个标签,分别是Files、Regs、和 Books,这三个标签页分别显示当前项目的文件结构、CPU 的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选 CPU 的附加说明文件,如果是第一次启动 Keil,那么这三个标签页全是空的。 1、源文件的建立 使用菜单“File->New ”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,在该窗口中输入以下汇编语言源程序,例 1:

keil编程步骤

-、双击打开keil编程软件,图标如下图所示 二、新建工程:在“菜单栏”-“Project”-“New”-“μvision Project”-输入要保存的工程名。

根据单片机的型号选择CPU,然后点击“确定”。 选择“否”。 三、新建文件 点击新建文件。 四、保存文件 注意:文件名要带扩展名。用C语言编写的程序,扩展名为“.c”;用汇编语言编写的程序,扩展名为“.asm”。点击“保存”。

五、添加文件到工程 在工程管理器中,用鼠标右键点击“Source Group 1”,选择“Add File to Group ‘Source Groutp 1’”,如果要添加的文件是汇编文件,文件类型选择如下图所示的类型;如果是C语言文件,文件类型选择“*.c”。双击要添加文件,然后点击”close”。

在工程管理器中,可以看到刚刚添加的文件 六、编写程序 七、编译当前文件 点击按钮 八、修改错误 根据输出框里的提示信息修改程序中的错误 九、生成烧录文件 在工程管理器中,鼠标右键单击,按下图操作。

将“create HEX file”前复选框前选上。“02”是文件名,可以改成其他的名,文件名前“select folder for objects”是此文件要保存的位置,默认情况下和当前工程保存在同一目录下,如果要保存在其他位置,可以点击此外进行修改。 点击编译工程图标,在输出框里会有提示信息 ,说明生成了hex文件。注意:必须在编译当前 文件没有错误的情况下才能生成hex文件。 十、将程序下载到单片机

双击烧录软件图标,打开软件。按下图所示设置“编程器及接口”、“编程”。“选择芯片”:根据你当前的单片机选择型号。 点击图标, 找到生成的HEX文件打开。点击图标,将程序烧录到单片机。

如何使用KeilC51创建一个工程文件

如何使用KeilC51创建一个工程文件 建立一个项目: 点击工程菜单中选择弹出的下拉式菜单中的新建工程...,接着弹出一个标准Windows 文件对话窗口,在"文件名"中输入您的第一个程序项目名称,这里我们用"test",这是笔者惯用的名称,大家不必照搬就是了,只要符合Windows文件规则的文件名都行。"保存"后的文件扩展名为uv2,这是KEIL uVision2项目文件扩展名,以后我们可以直接点击此文件以打开先前做的项目 。 这时会弹出让你选择单片机型号的对话框,我们选择A TMEL---A T89C51

然后点击Target 1前面的“+”,出现Source Group 1,选中右键点选“增加文件到组Source Group 1” 这时选择文件类型为Asm 源文件,再选中001.asm文件,再按添加,在随后出现的提示框中按“确定” 仿真器采用Mon51协议,在使用之前应必须对软件项目进行如下设置: 1、单击工程菜单,再在下拉菜单中单击"目标target 1属性" 在下图中,单击"Target"输入仿真器的工作频率(11.0592MHz)

2、在调试菜单中点选"Keil Monitor-51 Driver",即选择了STC89C516RD硬件仿真器。 3、单击“R外围设备”选Target Setup设置选项选择您要使用串口(必须和实际相符合),波特率38400。 如果被仿真的目标板使用12MHZ或者是11.0592MHZ晶振时波特率选择38400,如果被仿真的目标板使用6MHZ晶振时波特率选择18400。

4、如果需要生成HEX代码给编程器烧写芯片的话,需要选中“生成HEX 文件”的选项,按钮“选择OBJ文件夹...”是用来选择最终HEX文件的存放目录的。 5、按F7快捷键可以进行编译,编译成功后如会出现上图红箭头所指的文字,表示编译成

ARM的KEIL工程建立及编译过程

ARM 的KEIL 工程建立及编译过程 精简: 1)添加:Ext_RAM.ini 和RuninRAM.sct; 2)选中 ,去掉 3)注意LOAD 1.axf INCREMENTAL // Download program 这个名要与工程名保持一致。 第一步:新建工程 点击Project-new uvision Project 新建工程,注意工程名没有后缀。 点是,自动生成启动代码,否,要自己写启动代码。 第二步:自己写c 程序(用户程序): 点击File-New 新建文件:注意文件名尾缀为.c。 U n R e g i s t e r e d

第三步:添加C 文件 选中Source Group1点击右键,进行文件添加。 第四步:COPY 三个文件:(第一个是用户程序,自己写就不需要添加,最后一个如果自动生成启动代码也不需要添加)Ext_RAM.ini 和RuninRAM.sct 必须添加。 Ext_RAM.ini :J-LINK 初始化脚本,必须添加。 代码执行前必须要初始化CPU 内部的一些寄存器。该文件就是做初始化工作,给J-LINK 用。J-LINK 通过读取该配置文件,初始化目标板主CPU 相关的寄存器。 RuninRAM.sct:代码编译时需要的链接文件,其主要作用就是组织代码的到该脚本指定的地址。 S3C2440A.s:初始化代码(启动代码) 小知识点:RuninRAM.sct:代码分析 U n R e g i s t e r e d

; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* ; Run in RAM LR_ROM1 0x30000000 { ; load region 程序运行起始地址。内存起始地址固定0x30000000 ER_ROM1 0x30000000 0x0040000 { // 0100 ; load address = execution address 程序的下载地址,及程序容量 *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_RAM1 0x30040000 0x0040000 { ; RW data RW 段起始地址 .ANY (+RW +ZI) } RW_IRAM1 0x40000000 0x00001000 { //芯片内部4k sram 空间,固定式0x40000000开始。 .ANY (+RW +ZI) } } 第五步:配置 U n R e g i s t e r e d

第2课 keil软件及工程文件的建立

第2 课keil 软件及工程文件的建立 单片机系统设计主要包括硬件设计和软件设计,对于单片机初者来说主要在于软件的学习,也就是程序设计,等大家程序这块掌握得差不多了,再去结合具体的项目学习做硬件,最终掌握单片机系统设计的方法。而在进行软件学习的时候需要用到单片机实验板进行实验验证,实验板建议直接购买,当然如果电子技术基础好的话,自己做板也是可以的。这次教程开发程序所用到的软件为keil uVision2,该软件大家可以到实验室的下载中心进行下载;硬件实验平台主要采用我们实验室自行设计的实验板,有需要的请直接与我们联系。下面分别介绍这keil uVision2 和实验板的使用方法,在程序编写完成后需把程序烧写到单片机中,我们是用ISP 在线下载工具,这里一并进行介绍。为了便于大家学习,这里我们写一个以1602 液晶为显示器件的可显示时、分、秒的电子时钟 程序为例介绍整体程序从编辑、编译到下载的全过程。(具休程序已事先写好 并经正常调试无误,后面课程会具体介绍,这里暂不作讲解)在正式的写程序之前,需进行keil uVision2 软件的安装和实验板驱动程序的安装,相关的软件及驱动程序请大家直接在实验室网站下载中心进行下载,这里给出下载地址。keil uVision2 软件件及安装方法、实验板驱动程序及安装方法。安装安成后,即可按下面的步骤进行。1、KEIL 软件的使用及工程文件的建立51 单片机程 序设计所用到的开发软件主要是keil uVision,它是由德国Keil Software 公司开发的,2005 年Keil 公司被ARM 公司收购,并于2009 年发布了keil uVision4,这个版本的软件支持ARM 系列的芯片,如现目前流行的STM32 等芯片,我们这里使用的是uVision2 版本。(1)、打开KEIL 软件双击keil 快捷方式图标(软件安装好后,一般在桌面上会有快捷方式,双击即可),出现启动界面如 图1,紧接着出现编辑界面如图2。图1启动keil 软件时的界面图2进入

Linux交叉编译环境

开发编译环境 1.交叉编译器的安装,与使用 以ubuntu-14.04.4-desktop-amd64 为例 将附录1的arm_toolchain.tar.gz 选择一个目录COPY过去,(此处以/opt为例) tar zxvf arm_toolchain.tar.gz 修改~/.bashrc 在最后一行添加 将/opt/X3改成你解压的所在目录即可 source ~/.bashrc 在终端查看是否正确,输入arm后按TAB键若出现 安交叉编译器安装正确 若不添加该环境变量,则在使用该编译器时,请使用绝对路径 如: 部分LINUX操作系统,可能存在所需的库并未安装,在编译时若提示未能找到相关库,请自行搜索该库的相应安装 若出现 arm-Linux-gcc /usr/local/arm/4.3.2/bin/arm-linux-gcc: 行3: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: 没有那个文件或目录(No such file or directory) 且进入external-toolchain/bin/ 直接运行./ arm-none-linux-gnueabi-gcc出现同样提示,则可能原因是64位系统需要安装32位相应库 解决方法: 方法一: sudo apt-get install lib32z1 方法二: sudo apt-get install g++-multilib 方法三: $ sudo dpkg --add-architecture i386 $ sudo apt-get update $ sudo apt-get install ia32-libs (工具:附录1-arm_toolchain.tar.gz)

GOODKeil工程文件的建立设置与目标文件的获得

实例教程(一) Keil工程建立及设置 作者:教程来源:本站原创点击数:1700 更新时间:2008-7-23 Keil工程文件的建立、设置与目标文件的获得 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为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所示电路图使用89C51单片机作为主芯片,这种单片机性属于MCS-51系列,其内部有4K的FLASH ROM,可以反复擦写,非常适于做实验。89C51的P1引脚上接8个发光二极管,~引脚上接4个按钮开关,我们的第一个任务是让接在P1引脚上的发光二极管依次循环点亮。 一、Keil工程的建立 首先启动Keil软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击uVision的图标以启动该软件。 UVison启动后,程序窗口的左边有一个工程管理窗口,该窗口有3个标签,分别是Files、Regs、和Books,这三个标签页分别显示当前项目的文件结构、CPU的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选CPU的附加说明文件,如果是第一次启动Keil,那么这三个标签页全是空的。

keil5如何建工程

北京科技大学 Keil5工程创建及程序 下载 创建工程;下载程序 北京科技大学MEI团队 作者:解乃颖联系方式:ny_xie@https://www.wendangku.net/doc/5f257478.html,日期:2014-08-20

目录内容 创建工程: __________________________________________________________________ 步骤一:创建文件夹和相应的库文件________________________________________ 1步骤二:创建工程文件__________________________________________________ 1步骤三:添加库函数____________________________________________________ 3步骤四:选择输出路径__________________________________________________ 7步骤五:添加路径和定义_________________________________________________ 9 程序下载: ________________________________________________________________ 联系信息 __________________________________________________________________ 12

创建工程: 步骤一:创建文件夹和相应的库文件 新建工程文件夹目录如下 其中,文件夹Prj 包含以下文件夹: 之后添加常用文件,如main.c bsp.c function.c Global.h Config.h 等 步骤二:创建工程文件 打开keil5,创建新工程。 “需要向您的读者 指出某些极其重要的内容吗?请使用边栏突出该内容。”

【整理】Ubuntu 16.04[64bit]交叉编译环境搭建过程图解

开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛。 安装步骤 1、准备工具安装目录 将压缩包arm-Linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是/home/aldrich/arm,如下图,记住这个路径,等会还会用到。 1. .tar.gz 和.tgz 2. 解压:tar zxvf FileName.tar.gz 3. 压缩:tar zcvf FileName.tar.gz DirName

2、安装软件 使用tar命令:tar zxvf arm-linux-gcc-4.3.2.tgz将software文件夹下的arm-linux-gcc-4.3.2.tgz解压缩安装到当前目录。通过下图可以看到解压成功了,并且解压后的文件存放在了 1. /home/aldrich/arm/arm-linux-gcc-4.3.2 文件夹下,如下图所示,这个存放路径可得记住,如下图 3、配置系统环境变量 配置环境前先坐下普及: Ubuntu不同目录下profile与bashrc的区别

/etc/profile此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。 /etc/bash.bashrc为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。 ~/.bash_profile每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次,默认情况下,他设置一些环境变量,执行用户的.bashrc文件。 ~/.bashrc该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。 ~/.bash_logout当每次退出系统(退出bash shell)时,执行该文件。 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。 ~/.bash_profile是交互式、login 方式进入bash 运行的。 ~/.bashrc是交互式non-login 方式进入bash 运行的。 通常二者设置大致相同,所以通常前者会调用后者。 登陆系统时shell读取的顺序应该是 /etc/profile ->/etc/enviroment -->$HOME/.profile -->$HOME/.env 原因应该是jtw所说的用户环境和系统环境的区别了 如果同一个变量在用户环境(/etc/profile)和系统环境(/etc/environment)有不同的值那应该是以用户环境为准了

搭建ppc交叉编译环境

搭建powerpc交叉编译环境 V0.1 ALL Rights Reserved, Copyright ? FUJITSU LIMITED 2013

改版履历 修改日期修改原因版本修改者2013/2/18 初版制成V0.1 yaoxt

目录 1 下载交叉编译器 (4) 1.1从本地共享下载 (4) 1.2 从ftp下载 (4) 2 安装交叉编译器 (4) 2.1 创建挂载点 (4) 2.2 挂载镜像文件 (4) 2.3 安装交叉编译器 (5) 3 配置用户.bashrc文件 (5) 3.1 在用户目录下打开.bashrc文件: (5) 3.2 添加交叉编译器可执行文件路径: (5) 3.3 指定目标机架构类型: (5) 3.4 指定交叉编译器: (5) 4 安装后测试 (6) 5 编译mpc85xx内核 (6) 5.1 下载linux内核源码 (6) 5.2 编译mpc85xx内核 (6) 5.2.1 生成.config配置文件 (7) 5.2.2 配置内核编译选项 (7) 5.2.3 编译内核 (7) 5.2.4 编译动态模块 (7) 5.2.5 安装模块 (7) 5.2.6 生成开发板mpc8544ds的dtb文件 (8)

1下载交叉编译器 ELDK是Embeded Linux Development Kit的缩写,它是德国denx提供的供PowerPC嵌入式Linux移植的完整开发环境编译套件,有:gcc,gdb,binutils等。Eldk目前支持多种PowerPC 处理器: ●ppc_8xx ------> MPC8xx处理器 ●ppc_4xx ------> 不带FPU的IBM 4xx处理器 ●ppc_4xxFP ------> 带FPU 的IBM 4xx 处理器 ●ppc_6xx ------> 6xx处理器 ●ppc_74xx ------> 74xx处理器 ●ppc_85xx ------> 不带DPU的MPC85xx处理器 ●ppc_85xxDP ------> 带DPU 的MPC85xx处理器 1.1从d enx的ftp下载 下载地址:http://ftp.denx.de/pub/eldk/ 本文选用的交叉编译工具的版本为ppc-2008-04-01.iso,下载地址: http://ftp.denx.de/pub/eldk/4.2/ppc-linux-x86/iso/ 1.2 从本地ftp下载 为方便公司内部下载使用,已将ppc-2008-04-01.iso镜像文件下载后上传至本地ftp,ftp地址为:xxxxx 2 安装交叉编译器 2.1 创建挂载点 命令:mkdir /mnt/cdrom 说明:该命令的目的是创建一个镜像文件的挂载点,挂载点/mnt/cdrom 的目录名称和路径可自定义 2.2 挂载镜像文件 命令:sudo mount –o loop ppc-2008-04-01.iso /mnt/cdrom

相关文档
相关文档 最新文档