s3c2440裸机开发环境的搭建

发布者:技术掌门最新更新时间:2019-01-16 来源: eefocus关键字:s3c2440  裸机  开发环境 手机看文章 扫描二维码
随时随地手机看文章

用于arm裸机程序开发的IDE基本有MDK,IAR,还有ADS,也可以选择在linux下安装交叉编译链来进行开发。笔者选择的是MDK作为我进行开发的IDE。下面介绍笔者搭建开发环境的过程。


笔者主要参考了两篇博文来进行开发环境的搭建的,分别是:


http://blog.csdn.net/mybelief321/article/details/8910528


http://blog.csdn.net/shengnan_wu/article/details/8116815


笔者搭建后的相关环境如下:


开发板:mini2440


操作系统:Windows 8.1 64位


开发环境:MDK 4.6版本


仿真器:JLink v450j


相关文件由于太大,笔者无法上传到CSDN,故有需要的朋友可在留言里向笔者索要,笔者将其上传到别的网盘,然后分享给大家。


MDK,JLink的安装就不多说了,直接跟着提示走就行了。


下面是关于MDK工程的建立,以及通过JLink将我们的程序烧写进开发板中和通过MDK对我们的程序进行调试。


(一) MDK工程的建立


1).打开KeiluVision4,建立一个新的工程,如下图所示:


    


2).新建一个目录来存放我们的工程


                   在这里,我新建的目录是test,新建的工程是test.uvproj


         3).接下来选择CPU,笔者选择的是samsung的S3C2440A,点击OK,如下:


        

 接着,会出现选择是否将“S3C2440.s”拷贝进我们的工程的对话框,如下图,因为该文件包含一些启动代码,所以我们选择是。


        

 4).可以根据需要对S3C2440.s进行设置。设置方法是:打开该文件,选择编辑界面下面的Configurationwizard进行配置,如下所示:



5).之后新建一个c文件并编写代码,并将其添加到工程里,具体的过程笔者就不多介绍了。


6).单击Target1的Optionsfor Target ' Target 1'进行相应的配置,具体如下:


a )      Target选项修改为如下图所示:



b)      OutPut选项修改为如下图所示:



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



d)      在Utilities选项中进行修改,如下:



再单击Settings,进行如下设置:



e)      大概的设置就是这些,保存后就行。这样子就可以正常编译,并生成可以通过JLink烧写进我们的开发板的bin文件了。具体烧写的过程在下面介绍。


(二) 通过JLink烧写程序


笔者选择通过JLink烧写程序进去开发板,具体的操作过程如下:


1)      打开JFlash,可以选择新建工程,也可以选择打开别人已经配置好的工程,功臣里面储存的是对开发的相关配置信息。笔者选择的是别人已经配置好的工程(下载地址为:http://download.csdn.net/detail/lookerson/7964281)。


单击File,选择OpenProject,选择s3c2440.jflash。


2)      给开发板上电,通过JLink连接计算机,单击Target选项,选择Connect选项,一般情况下,开发板就正常连接了。


3)      单击File,选择Open data file,打开我们在之前生成的bin文件,按照提示即可。


4)      下面进行烧录,可以直接按F7,也可以选择Target选项的Auto选项,如果没有意外,烧录就完成了。


5)      接下来就是断开开发板的连接,单击Target选项的Disconnect即可,然后按下开发板的复位键,应该就可以看到成果了。


(三) 通过MDK进行调试


通常,我们需要对我们的程序进行调试,MDK给我们提供了一种很好的调试方法,具体的设置过程如下:


1)      由于MDK4.6中缺少了待会需要用到的文件,但是在MDK4.0里有,所有我先安装了MDk4.0,然后在MDK4.0安装目录的C:\Keil\ARM\Boards\Samsung把S3C2440目录拷贝到MDK4.6的安装目录的D:\Keil\ARM\Boards\Samsung目录下,然后可以把MDK4.0卸载掉。只好把S3C2440目录下的RTX_Blinky下的Ext_RAM.ini拷贝到工程目录下,也可以直接用笔者提供的文件(http://download.csdn.net/detail/lookerson/7965419).


2)      修改Ext_RAM.ini,把如下图的灰色内容修改成你对应生成的axf文件的路



我的修改后如下所示:



3)      选择Target 1的Options for Target ' Target 1'进行相应的配置


a)      Target选项修改为如下图所示:


  


b)       在Linker选项里勾上Use Memory Layoutfrom target Dialog



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


勾上右边的Use,Use里选择J-Link/J-Tracearm(选择Jlink调试)


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



点击Settings按钮,设置JTAGSpeed为Auto Selection,如下图:


                            

保存相关的设置后,修改就应该已经完成了。


rebuild一下,连接好JLink和开发板,上电,点击Debug就可以开始调试了,如下所示:



至此,s3c2440的开发环境就基本上搭建完成了。如果有什么疏漏之处,欢迎大家指出,需要相关资源的朋友,也可以通过留言告诉笔者。


关键字:s3c2440  裸机  开发环境 引用地址:s3c2440裸机开发环境的搭建

上一篇:PIC单片机ISP下载外围链接电路
下一篇:ARM中断向量表的简单分析

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

S3C2440外部中断响应寄存器设置方法
如果不按照如下设置,中断将无法执行或者无法使下一个中断进入。 /*中断挂起设置,此过程加入到主函数中启动时加载*/ void Eint_wait() { rSRCPND=rSRCPND; //中断挂起寄存器清除 rINTPND=rINTPND; //中断源挂起寄存器清除 rEINTPEND|=0x1 13; //外部中断挂起寄存器,Eint挂起等待中断 rSRCPND=BIT_EINT8_23; //中断源挂起寄存器相应位置1等待中断 rINTPND=BIT_EINT8_23; //中断挂起寄存器相应位置1等待中断 } /*中断挂起设置结束*/ /*以下为响应中断时的处理过程,为pISR指针中的函数*/
[单片机]
关于S3C2440的Ethercat实时
1 引言 工业以太网由于低成本、易于组网和具有相当高的数据传输速率、资源共享能力强以及易于Internet连接等特点[1],使其在工业中应用越来越多。Ethercat技术是德国BECKHOFF公司提出的实时工业以太网技术,它基于标准的以太网技术,具备灵活的网络拓扑结构。系统配置简单,具有高速、有效数据率高等特点,全双工特性完全得以利用[2]。 2 Ethercat技术介绍 2.1 Ethercat的系统组成及运行原理 Ethercat采用了主从介质访问方式,在基于Ethercat的通信系统中,主站控制从站发送或接收数据。主站发送数据帧,从站在数据帧经过从站时读取相应报文中的输出数据。同时,从站的输入数据插入到同一数据帧的相
[单片机]
关于<font color='red'>S3C2440</font>的Ethercat实时
S3C2440 测试程序(三) ADC实验
该实验比较简单,就是使用了S3C2440上的ADC硬件接口AIN2。 下面看下设置。 根据Datasheet,A/D转换的频率为50MHz/(prescaler+1) eg. A/D converter freq. = 50MHz/(49+1) = 1MHz Conversion time = 1/(1MHz / 5cycles) = 1/200KHz = 5 us 看下程序,我们使用了2.5MHz,所有prescaler=19 代码如下: prescaler=19; ADCCON=(1 14)|(prescaler 6)|(2 3); 注: bit :Read only, 0--A/D conversion in
[单片机]
S3C2440 Timer初始化方法
s3c2410提供了5个16位的Timer(Timer0~Timer4),其中Timer0~Timer3支持Pulse Width Modulation—— PWM(脉宽调制 )。Timer4是一个内部定时器(internal timer), PCLK是Timer的信号源,我们通过设置每个Timer相应的Prescaler和Clock Divider把PCLK转换成输入时钟信号传送给各个Timer的逻辑控制单元(Control Logic),事实上每个Timer都有一个称为输入时钟频率(Timer input clock Frequency)的参数,这个频率就是通过PCLK,Prescaler和Clock Divider确定下来的
[单片机]
<font color='red'>S3C2440</font> Timer初始化方法
s3c2440移植openharmony
s3c2440移植openharmony。OpenHarmony是开放原子开源基金会的一个孵化项目,OpenHarmony完全开源开放,OpenHarmony轻量和小型系统比较适合内存小的IOT设备。 OpenHarmony同时提供许多可选的系统组件,设备开发者能够按需配置。系统能够把这些能够选择的组件合成一个系列的系统能力让设备开发者更好的理解和开发。 想对OpenHarmony进行开发、编译、烧录、调测能够使用DevEco Device Tool。 现在的openharmony轻量和小型系统搭建系统环境Windows版本不支持在Windows平台编译,Hi3861除外,其它的只能在Ubuntu平台下编译。
[单片机]
【2440裸机】虚拟地址MMU
head.s文件 @************************************************************************* @ File:head.S @ 功能:设置SDRAM,将第二部分代码复制到SDRAM,设置页表,启动MMU, @ 然后跳到SDRAM继续执行 @************************************************************************* .text .global _start _start: ldr sp, =4096 @ 设置栈指针,以下都是C函数,调用前需要设好
[单片机]
S3c2440裸机-spi编程-3.gpio模拟spi驱动OLED
操作OLED,通过三条线(SCK、DO、CS)与OLED相连,这里没有DI是因为2440只会向OLED传数据而不用接收数据。 gpio_spi.c来实现gpio模拟spi,负责spi通讯。对于OLED,有专门的指令和数据格式,要传输的数据内容,在oled.c这一层来实现,负责组织数据。 因此,我们需要实现以上两个文件。 1.SPI初始化 新建一个gpio_spi.c文件,实现SPI初始化SPIInt() 1.1 GPIO init(pinmux管脚等配置) 上图J3为板子pin2pin到OLED的底座。 GPF1作为OLED片选引脚,设置为输出; GPG4作为OLED的数据(Data)/命令(Command)选择引脚,设置
[单片机]
<font color='red'>S3c2440</font><font color='red'>裸机</font>-spi编程-3.gpio模拟spi驱动OLED
二、2440 裸机 中断原理分析
二、中断原理分析 本文主要框架为: 1)中断概述 2)中断优先级 3)中断的打开和屏蔽 4)中断使用步骤及编程实例 CPU和外设构成了计算机系统,CPU和外设之间通过总线进行连接,用于数据通信和控制,CPU管理监视计算机系统中所有硬件,通常以两种方式来对硬件进行管理监视:  查询方式:CPU不停的去查询每一个硬件的当前状态,根据硬件的状态决定处理与否。  中断方式:当某个硬件产生需要CPU处理的事件时,主动通过一根信号线“告知”CPU,同时设置某个寄存器里对应的位,CPU一旦发现这根信号线上的电平有变化,就会中断当前程序,然后去处理发出该中断请求。 中断是嵌入式硬件实时地处理内部或外部事件的
[单片机]
二、2440 <font color='red'>裸机</font> 中断原理分析
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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