keil5(MDK5)配置S3C2440裸机开发调试环境

发布者:德州小孙最新更新时间:2018-06-04 来源: eefocus关键字:keil5  MDK5  S3C2440  裸机开发  调试环境 手机看文章 扫描二维码
随时随地手机看文章

引言

用于arm裸机程序开发的IDE基本有 以下3个:MDK或者称Keil,IAR,还有ADS。其中ADS已经停止更新,不建议使用了。它们的具体情况在这里我就不多说了,百度一下就明白了。

由于之前开发c51的时候都使用了MDK开发环境,而且MDK的界面确实看起来舒服多了,所以我选择了MDK作为我的s3c2440裸机开发的IDE。以下主要介绍一下如何使用MDK配合J-link来调试基于s3c2440的开发板。

MDK、J-link的安装

MDK5软件包请自行百度下载,官方网站上的需要注册下载略显麻烦。安装后需要注册码,否则使用有限制。个人学习研究可尝试破解,安装和破解方法请自行百度。

这里我只提醒需要特别注意的地方:MDK5以后的版本不在直接支持arm7、arm9的开发。因此我们需要下载相应的arm7、arm9的软件支持包。

打开这个网页 MDK Version 5 - Legacy Support 下载相应的软件支持包就可以了。截图如下,注意要选择自己MDK对应版本的支持包。 
这里写图片描述

软件工具下载

首先,我们需要下载的有以下3样: 
MDK软件包 
arm7、arm9的软件支持包 
J-link 驱动 
我的开发环境:windows 7 64位,MDK5.15版本,J-linkv8,S3C2440开发板一块。J-link v8的版本J-linkARM v4.081

MDK的大部分版本可以到以下链接下载(也可到官方网站下载):

http://www.mcuzone.com/down/List.asp?SA=1009

J-link驱动的最新版本可以到以下链接下载:

http://www.segger.com/jlink-software.html

安装MDK,J-link驱动,安装过程就不多说了,跟着提示走就行了,安装MDK时后要记得注册,安装J-link驱动后插上J-link系统会自动设别安装。

MDK工程的建立、烧写

MDK工程的建立,代码的烧写(基于s3c2440):

1)打开Keil ,新建一个工程:

这里写图片描述

2)新建一个工程目录,用于存放一个工程的所有文件:并且取工程名为s3c2440_t1并保存,然后创建工程文件,你可以自己命名为test:

这里写图片描述

3)接下来选择CUP database:我们选择samsung的S3C2440A,点击OK:

这里写图片描述

4)之后会出现第二个图问你是否拷贝’S3C2440.s’到工程文件夹并加入到工程里,S3C2440.s是启动代码我们选择YES:

这里写图片描述

5)然后我们需要对S3C2440.s进行一些必须的配置,打开此文件选择编辑界面下面的Configuration wizard进行配置,这里我把全部都打上勾,这样比较保险:

这里写图片描述

6)之后新建一个c文件并编写代码,我习惯新建一个main目录用来保存这个存放入口函数的文件,然后把这个文件加到工程里:

这里写图片描述

7)把所有c源文件加进工程之后,再选择Target 1的Optionsfor Target ’ Target 1’进行相应的配置 
这里写图片描述

8)因为只是单单要生成可以在norflash运行的HEX可执行文件,需要配置的有以下几个:

①Target选项,修改如下图:

这里写图片描述

②Output选项,修改如下图:

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

这里写图片描述 
这里写图片描述

9)配置好了之后,都选择OK这样就可以开始rebuild了,正常就可以生成HEX文件(bin格式文件后面讲),然后连接好J-Link跟开发板上电,把开关拨到要烧进去的flash,点击keil里的download按钮,没有异常的话程序就烧进去了,然后复位一下开发板就可以看到运行效果了。

这里写图片描述 
10)在Realview MDK的集成开发环境中,默认情况下可以生成.axf格式的调试文件和.hex格式的可执行文件。虽然这两个格式的文件非常有利于ULINK2仿真器的下载和调试,但是有一些特殊情况:

  • ADS的用户更习惯于使用*.bin格式的文件;

  • 有些嵌入式软件开发者已经拥有了*.bin格式文件的调试或烧写工具;

  • 有些开发者采用uboot直接将*.bin格式文件加载到SRAM中执行。

为了充分地利用现有的工具,同时发挥Realview MDK集成开发环境的优势,可以将.axf格式文件或.hex格式文件转换成*.bin格式的文件。 
首先,打开User选项,编辑内容如下图: 
这里写图片描述 
在选项“run#1”中的命令解释: 
1.–bin 生成Plain Binary格式的文件 
2.–output file 输出文件(默认的输出为文本格式,需加–bin命令) 
这句意思就是使用fromelf.exe工具把Objests文件夹下的test1.axf转成test1.bin文件,转换后的文件放在bin目录下。

进行以上操作后,重新编译工程,在./bin/文件夹下生成了test1.bin文件,开发者就可以将bin文件烧写到开发板了。

参考资料

  1. MDK5 IDE的帮助文档。

  2. zhzht19861011的博客: http://blog.csdn.net/zhzht19861011/article/details/5927924


关键字:keil5  MDK5  S3C2440  裸机开发  调试环境 引用地址:keil5(MDK5)配置S3C2440裸机开发调试环境

上一篇:S3C2440之LCD驱动代码模板(RealView MDK)
下一篇:三星cpu s3c2440 的中断向量表问题

推荐阅读最新更新时间:2024-03-16 16:04

s3c2440之代码重定位
1、几个概念 (1)运行地址、加载地址 ① 运行地址 — 链接地址:他们两个是等价的,只是两种不同的说法。 运行地址:程序在SRAM、SDRAM中执行时的地址。就是执行这条指令时,PC应该等于这个地址,换句话说,PC等于这个地址时,这条指令应该保存在这个地址内。 ② 加载地址 — 存储地址:他们两个是等价的,也是两种不同的说法。 加载地址:程序保存在Nand flash中的地址。 (2)位置无关码、位置有关码 ① 位置无关码:B、BL、MOV都是位置位置无关码。 ② 位置有关码:LDR PC,=LABEL等类似的代码都是位置有关码。 (3)程序段的划分 一个程序编译后,会有代码段、数据段、只读数据段、bss段和注释段
[单片机]
S3C2440学习笔记一 1.1ADS软件的安装
1 打开ads软件安装包 点击setup.exe文件 2点击next 直到遇到选择安装位置可以改变 3 点击next 直到安装license文件 这里选择安装文件中的license.dat文件 最后直到安装完成 查看安装是出现下面的内容表示安装好了
[单片机]
<font color='red'>S3C2440</font>学习笔记一 1.1ADS软件的安装
基于S3C2440的nRF2401驱动设计
  通信频率为2.4GHz 的ISM 频段,由于其免许可证、波长较短、天线的尺寸小、外围器件少等优点,适合于近距离无线通信。将ARM9 与nRF24E1 结合, 可以缩小设备体积, 降低系统功耗, 减少设备间连线困难等问题。针对ARM9 芯片S3C2440 的特点设计了对nFR24E1 的接口电路和驱动程序。对于在狭小空间中,有设备之间的数据共享要求的系统是一种有效解决途径。   2.4GHz 无线设备的使用,免去了系统之间连线的烦恼。一方面可以降低设备的成本,另一方面就是可以简化设备的安装。   特别是对于一些运动部件的实时测量,借助两个无线传输设备,可以将一部分测量设备做到运动部件上,另一部分安装在附近,就可以将运动部件的
[单片机]
基于<font color='red'>S3C2440</font>的nRF2401驱动设计
S3c2440代码重定位详解6---重定位清除BSS段的C函数实现
在前面,我们使用汇编程序来实现了重定位和清bss段,本节我们将使用C语言,实现重定位和清除bss段。 1.打开start.S把原来的汇编代码删除改为调用C函数 /* 重定位text, rodata, data段整个程序 */ mov r1, #0 ldr r2, =_start /* 第1条指令运行时的地址 */ ldr r3, =__bss_start /* bss段的起始地址 */ cpy: ldr r4, str r4, add r1, r1, #4 add r2, r2, #4 cmp r2, r3 ble cpy /* 清除BSS段 */ ld
[单片机]
<font color='red'>S3c2440</font>代码重定位详解6---重定位清除BSS段的C函数实现
s3c2440的UART用法
SPI、IIC和UART是最常用的三种串行总线,这三种总线在s3c2440中都被集成了。在这里我们主要介绍UART,另两个总线在后面的文章中给出。 UART(Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置)用于异步通信,可以实现全双工发送和接收。它不仅可以实现不同嵌入式系统之间的通信,还可以实现与PC之间的通信。 s3c2440提供了三个UART端口,它们都可以通过查询、中断和DMA方式传输数据,而且每个UART都分别有一个64个字节的接收FIFO和一个64个字节的发送FIFO。在这里,我们只给出非FIFO模式,即传输数据不利用FIFO缓存,一
[单片机]
ARM总线架构(S3C2440
S3C2440集成了丰富了外设控制器(LCD控制器、USB Device控制器、USB Host控制器、NAND FLASH控制器、I2C控制器、SPI控制器等)。要控制这些外设就要设置相应控制器的寄存器以产生相应的驱动时序。学习S3C2440,主要是如何配置寄存器。下面是S3C2440特殊功能寄存器地址: #define rBANKCON0 (*(volatileunsigned *)0x48000004) //Boot ROM control #define rBANKCON1 (*(volatileunsigned *)0x48000008) //BANK1 control #define rBANKCON2 (*(vo
[单片机]
ARM总线架构(<font color='red'>S3C2440</font>)
S3C2440 LCD字符显示
其实每一字符就是一幅图像,字符的大小对应于图像的大小,字符的笔画对应于图像的内容。那么如何把字符转换为图像呢?简单的方法是使用 字模提取 之类的软件,它能够把任意的字符转换为一个字节型的数组,数组元素中的每一位代表LCD上的一个像素点,当为1时,表示该位置为字符的一个笔画,需要上色,而为0时,表示不是笔画,学过12864无字库液晶的相信肯定会使用LCD字符显示。比较简单,贴两个函数仅供参考。 /************************************************************** * 在LCD屏幕上指定坐标点写ASCII码(8X16) * 取模方式为 阴码 逐行式 顺
[单片机]
04-S3C2440u-boot学习之u-boot分析(2)之Makefile结构分析
看uboot说明知道,uboot编译需要 (1)先配置 make 。。。 (2)make。 一:配置过程 make 100ask24x0 (1)解压打号补丁的u-boot-1.1.6,打开makefile。 (2)make 100ask24x0_config相当于执行: a.首先执行make uconfig,删除相关配置文件。 b.@$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0 MKCONFIG:= $(SRCTREE)/mkconfig(根目录下有个mkconfig脚本文件) $(@:_config=)
[单片机]
04-S3C2440u-boot学习之u-boot分析(2)之Makefile结构分析
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved