我是使用的MDK4+JLINK V8调试FL2440,很简单的程序,我想法是把程序写到FL2440的MYAPP区,开始地址是OX00180000,SIZE是0X00380000;我也在MDK中使用了指令生成了BIN文件,但是通过DNW把BIN文件烧写到MYAPP区后通过设定MYAPP启动就不能启动,只看到LCD屏幕闪,响应的LED并没有显示,这种情况是APP区已经删除了,但是没有把程序写进去,或是下进去了跑飞了;当使用JLINK V8时候我设置:
ROM1 START: 0X30000000 SIZE:0X100000 RAM1 START:0X30100000 SIZE:0X100000
使用MDK FLASH选项的DOWNLOAD写程序时候出现下面的提示,是写FLASH算法出现问题,请问各位高手是怎么解决的:
Build target 'Target 1'
assembling S3C2440.s...
creating preprocessor file for led.c...
compiling led.c...
linking...
Program Size: Code=908 RO-data=16 RW-data=0 ZI-data=1256
FromELF: creating hex file...
User command #1: c:\keil\ARM\BIN40\fromelf.exe --bin -o ./led.bin ./led.axf
"led.axf" - 0 Error(s), 0 Warning(s).
Load "D:\\program\\arm\\LED\\led.AXF"
VTarget = 0.000V
***JLink Warning: No matching core found. Selecting default core (ARM7).
***JLink Error: Supply voltage too low (1 Volt is required, Measured: 0.0 Volt).
Please check target power.
***JLink Warning: No matching core found. Selecting default core (ARM7).
***JLink Error: Supply voltage too low (1 Volt is required, Measured: 0.0 Volt).
Please check target power.
DLL version V4.11i, compiled Jan 28 2010 19:55:25
Firmware: J-Link ARM V8 compiled Dec 1 2009 11:42:48
Hardware: V8.00
***JLink Warning: No matching core found. Selecting default core (ARM7).
***JLink Error: Supply voltage too low (1 Volt is required, Measured: 0.0 Volt).
Please check target power.
JTAG speed: 1000 kHz
Include "D:\\program\\arm\\LED\\Ext_RAM.ini"
/******************************************************************************/
/* Ext_RAM.INI: External RAM (SDRAM) Initialization File */
/******************************************************************************/
// <<< Use Configuration Wizard in Context Menu >>> //
/******************************************************************************/
/* This file is part of the uVision/ARM development tools. */
/* Copyright (c) 2005-2008 Keil Software. All rights reserved. */
/* This software may only be used under the terms of a valid, current, */
/* end user licence from KEIL for a compatible version of KEIL software */
/* development tools. Nothing else gives you the right to use this software. */
/******************************************************************************/
FUNC void SetupForStart (void) {
// <o> Program Entry Point
PC = 0x30000000;
}
FUNC void Init (void) {
_WDWORD(0x4A000008, 0xFFFFFFFF); // Disable All Interrupts
_WDWORD(0x53000000, 0x00000000); // Disable Watchdog Timer
// Clock Setup
// FCLK = 300 MHz, HCLK = 100 MHz, PCLK = 50 MHz
_WDWORD(0x4C000000, 0x0FFF0FFF); // LOCKTIME
_WDWORD(0x4C000014, 0x0000000F); // CLKDIVN
_WDWORD(0x4C000004, 0x00043011); // MPLLCON
_WDWORD(0x4C000008, 0x00038021); // UPLLCON
_WDWORD(0x4C00000C, 0x001FFFF0); // CLKCON
// Memory Controller Setup for SDRAM
_WDWORD(0x48000000, 0x22000000); // BWSCON
_WDWORD(0x4800001C, 0x00018005); // BANKCON6
_WDWORD(0x48000020, 0x00018005); // BANKCON7
_WDWORD(0x48000024, 0x008404F3); // REFRESH
_WDWORD(0x48000028, 0x00000032); // BANKSIZE
_WDWORD(0x4800002C, 0x00000020); // MRSRB6
_WDWORD(0x48000030, 0x00000020); // MRSRB7
_WDWORD(0x56000000, 0x000003FF); // GPACON: Enable Address lines for SDRAM
}
// Reset chip with watchdog, because nRST line is routed on hardware in a way
// that it can not be pulled low with ULINK
_WDWORD(0x40000000, 0xEAFFFFFE); // Load RAM addr 0 with branch to itself
CPSR = 0x000000D3; // Disable interrupts
PC = 0x40000000; // Position PC to start of RAM
_WDWORD(0x53000000, 0x00000021); // Enable Watchdog
g, 0 // Wait for Watchdog to reset chip
Init(); // Initialize memory
LOAD Obj\led.axf INCREMENTAL // Download program
_____^
*** error 56, line 58: cant open file
SetupForStart(); // Setup for Running
g, main // Goto Main
No Algorithm found for: 30000000H - 3000039BH
Erase skipped! |