001_____裸机篇____ARM9裸机程序开发环境搭建

第一章:搭建mini2440裸机开发环境

 

ARM9的裸机开发的编译器和下载程序的方式有好几种。通常用于arm裸机程序开发的编译器基本有三种:(1MDK2IAR3ADS它们的具体情况在这里我就不多说,百度一下就明白了。笔者由于之前开发c51stm32时候都使用了MDK开发环境,而且MDK的界面确实看起来舒服多了,所以本书选择了ARM9裸机开发采用大家都比较熟悉的开发环境Keil4作为我的s3c2440裸机开发编译器

和学习51单片机一样、我们用Keil4编译、(调试)、ARM裸机程序并生成Hex或者Bin文件,然后通过JLINK下载器将Bin/Hex下载到开发板中运行。

 

一、Keil4的安装与使用

二、JLink的安装与使用

三、ARM9裸机开发的过程

 

1)打开Keil4,然后点击Project建立工程,在下拉菜单中选择New uvision project(新建一个工程)

 

2)给工程取名为Test1(用户根据自己的情况低级随便定义)。然后点击保存。

 

3)在弹出的对话框中选择CPU类型,找到SumSung,选择S3C2440,然后点击确定。

 

4)接下来选择CUP database:我们选择samsungS3C2440A,点击OK;之后会出现第二个图问你是否拷贝'S3C2440.s'到工程文件夹并加入到工程里,S3C2440.s是启动代码我们选择YES:(采用Keil编译器系统提供的CPU的启动程序)

 

5)此时Keil4在资源管理器如图所示

 

6)点击文件,选择新建一个文件,并保存,命名为main.c

 

7)右击资源管理器中的File Souce1,选择Add file to group

将文件添加到工程中。

 

8)在main.c中添加如下代码:(程序的功能是让开发板上的蜂鸣器间隔一段时间响一次)。呵呵,第一次学习我们是为了熟悉操作过程,大家直接可以照着将代码写进去。高手绕道哦!

 

(9)然后点击Target 1Optionsfor Target ' Target 1'进行相应的配置然后进行配置:

Target选项,修改如下图:

 

Output选项,修改如下图:

 

 

Utilities选项,修改如下第一图:这里需要特别注意的是,Utilities里面的UpdateTarget before Debugging前面的勾去掉,然后进入Settings,选择你要烧到的flash型号的编程算法,这个如果没有对应的,可以找相似的,如下第二图:

 

 

 

10配置好了之后,都选择OK这样就可以开始rebuild了,正常就可以生成HEX文件,然后连接好J-Link跟开发板上电,把开关拨到要烧进去的flash,点击keil里的download按钮,没有异常的话程序就烧进去了,然后复位一下开发板就可以听到滴滴的声音

 

 

 

 

 

四、将ARM裸机程序下载到SRAM中运行。

提醒一下各位就是在keil for ARM进行环境搭建的时候,要注意调试时环境搭建与下载环境的搭建是不同的,因为在下载环境搭建的时候是把程序下载到nor flash里面直接进行运行,而调试环境是把程序下载到RAM里面进行执行。nor flash里面也可以进行调试环境的搭建,但是在nor flash里面只能建立两个端点,而且flash擦写次数有限对寿命有影响。所以不推荐。所以调试的时候推荐在RAM里面进行调试。

 

大部分开发中,写好的程序都是使用仿真器之间把bin文件之间放到SDRAM里运行,单步调试等。所以以下主要介绍如何通过MDKJ-link仿真来调试S3C2440

①由于MDK4.6中缺少了待会需要用到的文件,但是在MDK4.0里有,所有我先安装了MDk4.0,然后在MDK4.0安装目录的C:\Keil\ARM\Boards\SamsungS3C2440目录拷贝到MDK4.6的安装目录的D:\Keil\ARM\Boards\Samsung目录下,然后可以把MDK4.0卸载掉。只好把S3C2440目录下的RTX_Blinky下的Ext_RAM.ini拷贝到工程目录下:

 

②修改Ext_RAM.ini,把如下图的蓝色内容修改成你对应生成的axf文件的路径(生成axf文件待会会提及到)

 

我的修改后如下:

③选择Target 1Options for Target ' Target 1'进行相应的配置,配置如下图(SDRAM是从地址0x30000000开始的)

 

④在User选项里相应位置添加命令如下:(用于生成.bin文件和.axf调试文件,添加的命令为:fromelf --bin -o @p.bin @p.axf,记得前面打勾)

 

⑤在Linker选项里勾上Use Memory Layout from target Dialog,如下图:

 

 

⑥在debug选项的配置主要有以下几项:

1)勾上右边的UseUse里选择J-Link/J-Trace arm(选择Jlink调试)

2)勾上LoadApplication at Startup,勾上Run to main() (让调试的时候直接从main函数开始)

3)在InitializationFile选择之前修改的Ext_ARM.ini文件的路径

 

4)点击Settings按钮,设置JTAG SpeedAuto Selection,如下图:

 

⑦在Utilities选项里可以按照之前烧写时的配置使用;

⑧之后就算配置好了,现在rebuild一下,就可以在工程目录里生成bin文件跟axf文件了,连好Jlink和开发板,点击debug按照开始调试,选择全速运行,便可以听到滴滴的声音。

 

你可能感兴趣的:(001_____裸机篇____ARM9裸机程序开发环境搭建)