s3c2440裸机开发调试环境(MDK4.72,Jlink v8,mini2440)

发布者:温暖微笑最新更新时间:2024-08-09 来源: cnblogs关键字:s3c2440  裸机开发  调试环境 手机看文章 扫描二维码
随时随地手机看文章

我的开发环境:windows 7 32位,J-linkv8,mini2440开发板一块。最后选择了:MDK4.72版本,J-ink v8的当前最新版本J-linkARM v4.94。

 

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

 

2)新建一个目录用于存放我们的工程文件,这样我用新建一个test目录:并且取工程名为test并保存:

 

 3)接下来选择CUP database:我们选择samsung的S3C2440A,点击OK;之后会出现第二个图问你是否拷贝'S3C2440.s'到工程文件夹并加入到工程里,S3C2440.s是启动代码我们选择YES

 

 

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

 

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

 

测试程序

  1. #include   

  2. void delay()  

  3. {  

  4.     int i,j;  

  5.     for(i=0;i<10000;i++)  

  6.     {  

  7.         for(j=0;j<50;j++);  

  8.     }  

  9. }  

  10. int main()  

  11. {  

  12.     GPBCON = 0x155555;  

  13.     while(1)  

  14.     {  

  15.         GPBDAT |= 0x1E0;  

  16.         GPBDAT &= 0x1C0;  

  17.         delay();  

  18.           

  19.         GPBDAT |= 0x1E0;  

  20.         GPBDAT &= 0x1A0;  

  21.         delay();  

  22.         GPBDAT |= 0x1E0;  

  23.         delay();  

  24.     }  

 

 

 

 

 

 6)把所有c源文件加进工程之后,再选择Target 1的Optionsfor Target ' Target 1'进行相应的配置

 

 

 

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

 

 


如下图Asm配置

 

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

 

 

 

 

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

 

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

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

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

在工程目录下建立一个文本文档,复制下面代码,名字改成Ext_RAM.ini 将文中test改成自己的工程名称。

Ext_RAM.ini 

  1. FUNC void SetupForStart (void) {  

  2.   

  3. //  Program Entry Point  

  4.   PC = 0x30000000;  

  5. }  

  6.   

  7.   

  8. FUNC void Init (void) {  

  9.   

  10.   _WDWORD(0x4A000008, 0xFFFFFFFF);      // Disable All Interrupts  

  11.   

  12.   _WDWORD(0x53000000, 0x00000000);      // Disable Watchdog Timer  

  13.     

  14.                                         // Clock Setup   

  15.                                         // FCLK = 300 MHz, HCLK = 100 MHz, PCLK = 50 MHz  

  16.   _WDWORD(0x4C000000, 0x0FFF0FFF);      // LOCKTIME  

  17.   _WDWORD(0x4C000014, 0x0000000F);      // CLKDIVN  

  18.   _WDWORD(0x4C000004, 0x00043011);      // MPLLCON  

  19.   _WDWORD(0x4C000008, 0x00038021);      // UPLLCON  

  20.   _WDWORD(0x4C00000C, 0x001FFFF0);      // CLKCON  

  21.   

  22.                                         // Memory Controller Setup for SDRAM  

  23.   _WDWORD(0x48000000, 0x22000000);      // BWSCON  

  24.   _WDWORD(0x4800001C, 0x00018005);      // BANKCON6  

  25.   _WDWORD(0x48000020, 0x00018005);      // BANKCON7  

  26.   _WDWORD(0x48000024, 0x008404F3);      // REFRESH  

  27.   _WDWORD(0x48000028, 0x00000032);      // BANKSIZE  

  28.   _WDWORD(0x4800002C, 0x00000020);      // MRSRB6  

  29.   _WDWORD(0x48000030, 0x00000020);      // MRSRB7  

  30.   

  31.   _WDWORD(0x56000000, 0x000003FF);      // GPACON: Enable Address lines for SDRAM  

  32. }  

  33.   

  34.   

  35. // Reset chip with watchdog, because nRST line is routed on hardware in a way   

  36. // that it can not be pulled low with ULINK  

  37.   

  38. _WDWORD(0x40000000, 0xEAFFFFFE);        // Load RAM addr 0 with branch to itself  

  39. CPSR = 0x000000D3;                      // Disable interrupts  

  40. PC   = 0x40000000;                      // Position PC to start of RAM  

  41. _WDWORD(0x53000000, 0x00000021);        // Enable Watchdog  

  42. g, 0                                    // Wait for Watchdog to reset chip  

  43.   

  44. Init();                                 // Initialize memory  

  45. LOAD 

    Objectstest.axf INCREMENTAL         // Download program  

  46. SetupForStart();                        // Setup for Running  

  47. g, main                                 // Goto Main 

 

 

 点击Settings按钮,设置JTAG Speed为Auto Selection,如下图

 

 

 Utilities选项

 

 

 之后就算配置好了,现在rebuild一下,就可以在工程目录里生成bin文件跟axf文件了,连好Jlink和开发板,点击debug按照开始调试,不出以外,就可以开始调试了,如下所示:

 

连接上Jlink 开发板Nand Flash启动 点Debug

 单步调试

 


关键字:s3c2440  裸机开发  调试环境 引用地址:s3c2440裸机开发调试环境(MDK4.72,Jlink v8,mini2440)

上一篇:s3c2440硬件学习----内存管理单元MMU
下一篇:AD电阻转换---那些年我们一起玩mini2440(arm9)裸机

推荐阅读最新更新时间:2026-03-20 10:49

从0开始学Keil下的S3C2440裸机开发-3使用外部NORFLASH+内部RAM
关于S3C2440启动方式: 程序下载到NORFLASH中后,选择从NORFLASH启动,自动执行,NORFLASH中执行代码,内部RAM分配变量;NORFLASH本身地址映射为0X0000000,内存选用内部RAM。 程序下载到NANDFLASH中后,选择从NANDFLASH启动,会自动搬运4K到RAM中运行。 1、新增工程配置组. 2设置分散加载组 3使用命令生成.bin文件。 4更改S3C2440.S文件: (1)均为: IMPORT ||Image ERROM1ERROM1 RO Length||IMPORT||ImageLength||IMPORT||Image RW_IR
[单片机]
从0开始学Keil下的<font color='red'>S3C2440</font><font color='red'>裸机</font><font color='red'>开发</font>-3使用外部NORFLASH+内部RAM
S3C2440开发裸机程序系列06—LCD控制器
1.概述 S3C2440对LCD的支持还是很强大的,有广度有深度,这里只简单学一种,后续有精力再实践各种模式。 本篇从显示模式、显示时序、硬件连接、控制器寄存器设置等几个方面进行展开。 2.LCD显示模式 如前面所述,S3C2440支持多种灰度和彩色显示模式。这里只介绍16BPP(bit per pixel),即每个像素点用16bit,即占用2个字节。16BPP又有2种显示格式:5:6:5格式和5:5:5:1格式。 这里只以565格式为例。从上图可清楚的明白RGB三色对应的各位的对应关系。 3.LCD显示时序 LCD采用”之”字扫描,从左上角开始,将显示像素数据一行一行的显示到屏幕上,对于4.3
[单片机]
<font color='red'>S3C2440</font><font color='red'>开发</font>板<font color='red'>裸机</font>程序系列06—LCD控制器
S3C2440开发裸机程序系列03--定时器
1. S3C244时钟系统 与时钟有关的关键词: Fin – 外部输入的晶振频率,TQ2440外接晶振是12MHz; FCLK – 用于CPU核,即CPU核的频率; HCLK – 用于AHB(Advanced High Performance Bus)总线上的设备,包括存储控制器,LCD控制器,DMA等; PCLK – 用于APB(Advanced Peripheral Bus)总线上的低速设备,包括定时器,UART,ADC等 模式控制引脚OM3和OM2的组合关系决定了S3C2440的时钟源。 S3C2440有2个锁相环(PLL): MPLL提供给FCLK、HCLK、PCLK,UPLL专用于USB模块。 设置FCL
[单片机]
<font color='red'>S3C2440</font><font color='red'>开发</font>板<font color='red'>裸机</font>程序系列03--定时器
S3C2440—1.熟悉裸机开发
一.板载资源介绍 开发板使用了三星的JZ2440V3(基于S3C2440改进的版本),网上有丰富的资源,有助于学习,板载资源如图所示: 需要特别注意以下几点: 一般使用JTAG烧写口来烧写程序,用eop即可 有俩个USB接口,其中USB-SERIAL可以连接开发板与上位机,通过串口进行调试 另外一个USB口,可以用来下载程序 板载2M的 Nor FLASH,可将程序直接烧写在此 板载256M的 Nand FLASH,作为主要的数据存储中心,可以将程序烧写在此 启动方式可以选择:Nor 或 Nand 启动,一般用Nand 二.安装驱动及上位机 入门开始要安装以下这几个: 1.要安装USB串口的驱动以及上位机 2.要安装
[单片机]
<font color='red'>S3C2440</font>—1.熟悉<font color='red'>裸机</font><font color='red'>开发</font>板
s3c2440环境搭建与通过JTAG调试
JTAG JTAG作用 芯片检测 实现ISP-在线调试 对Flash等器件进行编程,即在线烧录Flash,目前JTAG发展成广泛采用的IC调试接口 安装Keil 我个人觉得可以安装keil4.72,之前装了keil5有一些MCU找不到。MDK4.72自行百度。 安装好后,要先进行破解,不然编译会出错哦,具体破解教程自行查找。
[单片机]
<font color='red'>s3c2440</font><font color='red'>环境</font>搭建与通过JTAG<font color='red'>调试</font>
win10下搭建jz2440v3(arm s3c2440开发及gdb调试环境
本来打算完全在Ubuntu下开发的,但是水平有限,没有在Ubuntu下找到合适的阅读大型代码的工具,所以不得不在windows搭建开发环境。 一、主要内容: 1、在windows10下搭建arm(s3c2440)开发环境 在win10下使用vmware workstation12 pro建立Ubuntu主机,而后在Ubuntu中配置arm交叉编译链。在win10下编写代码,在Ubuntu中编译。 2、在windows10下搭建arm(s3c2440)调试环境 eclipse+openocd(GUI版)+gdb 二、软硬件环境 1、硬件环境 i7 6700hq+8gRAM+韦东山jz2440v3开发板+easyopenjta
[单片机]
​意法半导体扩大STM32Cube开发环境,简化单核MPU裸机软件开发
2023 年 12 月 2 0 日, 中国 - 意法半导体新软件帮助工程师把STM32微控制器应用代码移植到性能更强大的STM32MP1微处理器上,将嵌入式系统设计性能提高到一个新的水平。 随着终端用户不断要求日常生活工作设备具有更多的功能和更快的响应速度,设备厂商需要使用有效的解决方案来提高产品性能。工业实时应用是一个典型的例子。 越来越多的加工设备、工厂自动化系统、物流零售技术、物联网设备和数字标牌要求主控制器具有更高的性能,而微控制器(MCU)无法满足性能要求。 意法半导体的STM32MP1微处理器(MPU)专注这些发展趋势,整合性能更强大的ARM®Cortex®-A7应用级体系架构与更高的处理能力
[单片机]
​意法半导体扩大STM32Cube<font color='red'>开发</font><font color='red'>环境</font>,简化单核MPU<font color='red'>裸机</font>软件<font color='red'>开发</font>
三星6410裸机程序开发2:建立eclipse裸机程序工程
网上关于S3C6410裸机程序开发都是基于RealView RVDS。也有一些是基于eclipse的,但都没有详细介绍在eclipse中如何建立S3C6410裸机程序工程。 尽管友善之臂提供的6410裸机程序示例使用了eclipse工程,然程序的编译却还是基于makefile的。那怎样建立6410的eclipse裸机程序工程呢?本文就此进行详细介绍。有了这个工程,可以简化裸机程序的开发过程,把精力专注于功能实现。 设置eclipse字体 因为友善之臂提供的裸机程序示例使用的是UTF-8编码,为正常使用这些源码,把eclipse的字体编码设为UTF-8格式。Windows— Preferences中,选择General— W
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved