资源简介
SJF2440源码 源代码 (官方发布VC++完整工程源码)用于三星S3C2440A Jtag 升级工具。PC并口下载。
包括SJF2440.exe及其完整源代码工程。
完整包含giveio驱动及其源代码。

代码片段和文件信息
/****************************************************************
NAME: am29f800.c
DESC: am29lv800 Flash Programming code through 2410 JTAG
HISTORY:
Nov.14.2002:purnnamu: ported for 2410 JTAG version.
It‘s really undesirable source code for me. but...
****************************************************************/
#include
#include
#include “def.h“
#include “pin2440.h“
#include “Jtag.h“
#include “sjf2440.h“
#include “mem_rdwr.h“
#define TARGET_ADDR_29LV800 0x0 // nGCS0 128MB area
static int AM29F800_ProgFlash(U32 realAddrU16 data);
static void AM29F800_EraseSector(int targetAddr);
static int AM29F800_CheckId(void);
static int BlankCheck(int targetAddrint targetSize);
static int _WAIT(void);
static void InputTargetOffset(void);
static void GetSectorSize(void);
// Because KS32C41000_A1 is connected to AM29LV800_A0
// the addr parameter has to be a WORD address so called in AMD specification.
#define _WR(addrdata) MRW_Wr16QQ(addr<<1data00x3)
#define _RD(addr) MRW_Rd16Q(addr<<100x3)
#define _RESET() _WR(0x00xf0f0)
#define BADDR2WADDR(addr) (addr>>1)
//If you want to access a real address use BADDR2WADDR macro.
//For example MRW_Wr16Q(BADDR2WADDR(realAddr)data00x3)....
static U32 srcAddress;
static U32 srcOffset;
static U32 targetAddress;
static U32 targetOffset;
static U32 targetSize;
static U32 sectorOffset;
static U32 sectorSize;
static U32 totalSize;
void ProgramAM29F800(void)
{
int i;
printf(“\n[AM29F800 Writing Program]\n“);
printf(“NOTE: AM29LV800BB needs 4 step sequences for 1 half-word data.\n“);
printf(“ Sothe program time is twice of Starata flash(2 step sequences).\n“);
MRW_JtagInit();
printf(“[Check AM29LV800]\n“);
if(!AM29F800_CheckId())
{
printf(“ID Check Error!!!\n“);
return;
}
targetSize=imageSize;
srcAddress=(U32)malloc(targetSize+4);
if(srcAddress==0)return;
LoadImageFile((U8 *)srcAddresstargetSize);
srcOffset=0;
targetAddress=TARGET_ADDR_29LV800;
InputTargetOffset();
totalSize=0;
sectorOffset=targetOffset;
printf(“\n“);
while(totalSize {
GetSectorSize(); //sectorSize is updated.
printf(“Erase the sector:0x%x.\n“targetAddress+sectorOffset);
AM29F800_EraseSector(targetAddress+sectorOffset);
printf(“Start of the sector data writing.\n“);
for(i=0x0;i {
AM29F800_ProgFlash(targetAddress+sectorOffset+i*( (U16 *)(srcAddress+srcOffset+i) ) );
if((i%0x100)==0)printf(“%x “i);
totalSize+=2;
if(totalSize>=targetSize)break;
}
printf(“\nEnd of the sector data writing!!!\n\n“);
_RESET();
sectorOffset+=sectorSize;
srcOffset+=sectorSize;
}
/*
printf(“\nVerifying Start.\n“);
for(i=0x0;i {
if(*( (U16 *)(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3872 2003-09-16 19:10 2440loader.bin
目录 0 2003-09-16 19:15 GIVEIO\
目录 0 2003-09-16 19:15 GIVEIO\Giveio\
目录 0 2003-09-16 19:15 GIVEIO\Giveio\GIVEIO\
文件 5754 1996-04-03 21:30 GIVEIO\Giveio\GIVEIO\GIVEIO.C
目录 0 2003-09-16 15:31 GIVEIO\Giveio\GIVEIO\I386\
目录 0 2003-09-16 15:31 GIVEIO\Giveio\GIVEIO\I386\FREE\
文件 267 1994-09-04 08:07 GIVEIO\Giveio\GIVEIO\MAKEFILE
目录 0 2003-09-16 15:31 GIVEIO\Giveio\GIVEIO\OBJ\
目录 0 2003-09-16 15:31 GIVEIO\Giveio\GIVEIO\OBJ\I386\
文件 95 1996-04-03 21:32 GIVEIO\Giveio\GIVEIO\SOURCES
文件 2441 1996-04-03 22:19 GIVEIO\Giveio\POKEIO.C
文件 652 1995-09-12 00:10 GIVEIO\Giveio\POKEPROC.C
文件 4633 1996-04-03 22:26 GIVEIO\Giveio\README.TXT
目录 0 2003-09-16 19:15 GIVEIO\Giveio\TOTALIO\
目录 0 2003-09-16 15:31 GIVEIO\Giveio\TOTALIO\I386\
目录 0 2003-09-16 19:15 GIVEIO\Giveio\TOTALIO\I386\FREE\
文件 1760 1996-04-03 22:04 GIVEIO\Giveio\TOTALIO\I386\FREE\TOTALIO.SYS
文件 267 1994-09-04 08:07 GIVEIO\Giveio\TOTALIO\MAKEFILE
目录 0 2003-09-16 19:15 GIVEIO\Giveio\TOTALIO\OBJ\
目录 0 2003-09-16 19:15 GIVEIO\Giveio\TOTALIO\OBJ\I386\
文件 1227 1996-04-03 22:04 GIVEIO\Giveio\TOTALIO\OBJ\I386\TOTALIO.OBJ
文件 254 1996-04-03 22:01 GIVEIO\Giveio\TOTALIO\OBJ\_ob
文件 97 1996-04-03 22:00 GIVEIO\Giveio\TOTALIO\SOURCES
文件 4040 1996-04-03 22:03 GIVEIO\Giveio\TOTALIO\TOTALIO.C
目录 0 2003-09-16 19:15 GIVEIO\Giveio\TSTIO\
文件 2377 1995-09-11 17:46 GIVEIO\Giveio\TSTIO\TSTIO.C
文件 33792 1996-04-03 22:00 GIVEIO\Giveio\TSTIO\TSTIO.EXE
文件 34118 1997-08-07 16:50 GIVEIO\Giveio\TSTIO\TSTIO.OBJ
文件 1654 2000-05-14 23:23 GIVEIO\giveio.inf
文件 195 2000-05-16 01:19 GIVEIO\giveio.INI
............此处省略44个文件信息
相关资源
- Scratch源码
- bp神经网络源代码,可直接运行
- E4A无障碍跨程序操作类库(带源码、
- 设备管理系统源码
- 安卓wifi直连app源码
- 我的世界源码(易语言版)
- labview编程软件滤波器以及编写程序设
- 我的界面(visual foxpro)源码
- 易语言:一键cf基址源码
- 仿知乎界面小程序源代码
- The Secret Path 3D 3D魔方迷宫[源码][scra
- scratch垃圾分类源码(最终版本).sb
- 贪吃蛇源代码.fla
- 安卓QQ6.71协议源码易语言,qq协议源码
- 编译原理实验工具及参考源码(lex&
- E盾偷后台工具源码
- UNIX/LINUX编程实践教程的源码
- dotnet 写字板 实验 源代码 不好请要不
- 图像二维小波变换的实现源代码
- 八三编码器设计 VHDL代码 简单,包附
- 十以内加减法练习 powerbuilder源码
- linux应用层的华容道游戏源代码
- 农场开发项目
- 网上拍卖系统完整源代码
- OCR源码
- CSMA/CD等动画演示加源代码
- PLC上位机编程软件
- 用foobar2000听google音乐[更新一下]
- silicon lab公司的收音IC SI47XX全套开发工
- 学生信息管理系统源码
评论
共有 条评论