Board logo

标题: 关于程序下载的问题 [打印本页]

作者: 碧落星空    时间: 2006-1-16 11:18     标题: 关于程序下载的问题

最近在用MC9S12NE64,公司买了开发板,代码是用codewarrior的debug下载到开发开发板的,我想知道怎么指定我擦除和写入代码的起始地址?
作者: strongchen    时间: 2006-1-16 15:04

用CodeWarrior下载程序时,一般会将整个芯片擦空,然后再将S19文件写入芯片。
作者: 碧落星空    时间: 2006-1-16 15:40

那我用什么方法可以烧入两段代码呢?
我需要这两段代码通过条线选择分别来运行,互不干扰
作者: seuafu2005    时间: 2006-1-17 10:17

把你的两段代码放置在不同的存储位置,这个可以通过prm文件中,memory的分配来做的。

在上电复位运行的时候,通过读取设置的状态把代码跳到你需要的代码段
作者: 碧落星空    时间: 2006-1-17 10:43

恩~谢谢大家~
还有个问题,就是在擦写flash的时候,是不能对flash进行读取的,也就是说擦写时是不能执行存储在flash中的代码的?需要读到ram中来执行?
作者: strongchen    时间: 2006-1-17 14:02

对于只有一个FLASH BLOCK的MCU,如NE64来说是这样,对FLASH进行擦或写的程序需放到RAM中执行;但对于那些大于64K的,有多个BLOCK的MCU来说,就不必如此了。可以在一个BLOCK中执行程序,对另一个BLOCK进行擦写操作。
作者: strongchen    时间: 2006-1-17 16:05

RAM的具体位置可以通过INITRM寄存器的设置来改变。请仔细阅读数据手册。
作者: 碧落星空    时间: 2006-1-17 17:29

还有个问题我很奇怪,新建工程后在P&E_ICD_linker.prm中看到RAM = READ_WRITE 0x0400 TO 0x1FFF;
在Monitor_linker.prm中则是RAM = READ_WRITE 0x2400 TO 0x3FFF;为什么位置不一样?

[此贴子已经被作者于2006-1-17 17:29:57编辑过]


作者: 碧落星空    时间: 2006-1-17 17:34

谢谢版主~
用C怎么写程序跳转指令?还是必须用汇编
作者: strongchen    时间: 2006-1-18 09:59

可以直接用C语言的GO TO指令,也可以在C语言中加ASM前缀,然后用汇编指令。
作者: reedzzy    时间: 2006-4-22 22:27

我正是通过这样调试串口更新代码,后来发现连部上去了,有没有解决的办法啊!




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