Board logo

标题: 请strongchen看看我的程序为什么不能檫除flash [打印本页]

作者: shpdlizj    时间: 2006-8-8 17:25     标题: 请strongchen看看我的程序为什么不能檫除flash


作者: strongchen    时间: 2006-8-9 10:23

你现在试下来是什么现象?
作者: strongchen    时间: 2006-8-9 11:14

在FLASHSectorErase里,为什么将源地址定为0xC000?

你可以参考一下这个帖子:

http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=104074&ID=104074
作者: shpdlizj    时间: 2006-8-9 11:18

我现在试下来好象程序跑飞了一样,不能成功檫除。顺便问个问题,目标代码定位控制语句能放在函数内部吗(这样一个函数里的目标代码会放在不同的段里)。如:

#pragma CODE_SEG SEG123
unsigned char function(unsigned char x){
.............//C语句
#pragma CODE_SEG SEG456
..............//C语句

}
#pragma CODE_SEG SEG123

这里,#pragma CODE_SEG SEG456有问题吗?
作者: strongchen    时间: 2006-8-9 11:23

应该是不行的。你为什么要这样?如果这样,编译的时候出现错误还是警告?
作者: shpdlizj    时间: 2006-8-9 11:25

因为执行檫除功能的代码应该拷贝到RAM里去执行,所以我把这部分代码放在一个固定位置,这样就拷贝起来简单、方便。
作者: strongchen    时间: 2006-8-9 11:27

在FLASHSectorErase里,为什么将源地址定为0xC000?

你可以参考一下这个帖子:

http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=104074&ID=104074
作者: shpdlizj    时间: 2006-8-9 11:32

我这样的目的只有一个,把执行檫除任务的目标代码拷贝到RAM里方便,我昨天上传的例子实际上把执行拷贝功能的代码也拷贝到RAM里去了,实际只需要把执行檫除的目标代码拷贝到RAM里就可以,所以我想这样行不行。
因为用汇编要定位任何指令的位置都容易,但在C里不是很方便,好象一个函数的目标代码只能放到同一个段里。
作者: strongchen    时间: 2006-8-9 12:26

你的拷贝SIZE是0xA3。那从0xC000~0xC0A3的区间到底是什么程序?




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0