首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于程序下载的问题

关于程序下载的问题

最近在用MC9S12NE64,公司买了开发板,代码是用codewarrior的debug下载到开发开发板的,我想知道怎么指定我擦除和写入代码的起始地址?
正在进行NE64的研究学习,欢迎和我讨论~ saga0807@hotmail.com
用CodeWarrior下载程序时,一般会将整个芯片擦空,然后再将S19文件写入芯片。
海纳百川  有容乃大
那我用什么方法可以烧入两段代码呢?
我需要这两段代码通过条线选择分别来运行,互不干扰
正在进行NE64的研究学习,欢迎和我讨论~ saga0807@hotmail.com
把你的两段代码放置在不同的存储位置,这个可以通过prm文件中,memory的分配来做的。

在上电复位运行的时候,通过读取设置的状态把代码跳到你需要的代码段
恩~谢谢大家~
还有个问题,就是在擦写flash的时候,是不能对flash进行读取的,也就是说擦写时是不能执行存储在flash中的代码的?需要读到ram中来执行?
正在进行NE64的研究学习,欢迎和我讨论~ saga0807@hotmail.com
对于只有一个FLASH BLOCK的MCU,如NE64来说是这样,对FLASH进行擦或写的程序需放到RAM中执行;但对于那些大于64K的,有多个BLOCK的MCU来说,就不必如此了。可以在一个BLOCK中执行程序,对另一个BLOCK进行擦写操作。
海纳百川  有容乃大
RAM的具体位置可以通过INITRM寄存器的设置来改变。请仔细阅读数据手册。
海纳百川  有容乃大
还有个问题我很奇怪,新建工程后在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编辑过]

正在进行NE64的研究学习,欢迎和我讨论~ saga0807@hotmail.com
谢谢版主~
用C怎么写程序跳转指令?还是必须用汇编
正在进行NE64的研究学习,欢迎和我讨论~ saga0807@hotmail.com
可以直接用C语言的GO TO指令,也可以在C语言中加ASM前缀,然后用汇编指令。
海纳百川  有容乃大
我正是通过这样调试串口更新代码,后来发现连部上去了,有没有解决的办法啊!
知我者谓我心忧 不知我者谓我何求 悠悠苍天,此何人哉!
返回列表