RAM中运行程序
1、可使用COMSIC中的函数_fctcpy将FLASH中的代码拷贝到RAM中,并运行。
2、需要在程序中应用int_fctcpy(charname);(无需加头文件,只需声明下函数就可以了) (char _fctcpy(charname);)
3、定义函数代码如下
#pragmasection(CODE_IN_RAM)//将下面定义的未初始化变量定义到段CODE_IN_RAM中
voidDelayUs(uchart)
{
while(t--);
}
#pragmasection()//返回到正常的section.
“CODE_IN_RAM”为自己的取的一个名字可以是其他名字之后在菜单栏选择Project->Settings弹出下面菜单选项
之后选择Linker选项,在Linker选项下
Category中选择Input此项后
在Ram中参建一个“.CODE_IN_RAM”段。并在Option中填入“-ic”下面是一份完整的代码
#include<iostm8s103.h>//stm8s系列的头文件#defineucharunsignedcharint_fctcpy(charname);
#pragmasection(CODE_IN_RAM)//将下面定义的未初始化变量定义到.namesection中
voidDelayUs(uchart)
{
while(t--);
}
#pragmasection()//返回到正常的section.@tinyunsignedchartemp_C;
main()
{
_fctcpy('C');//将pragmasection(CODE_IN_RAM)中的函数赋值到RAM中//参数‘C’是CODE_IN_RAM的第一个字母
DelayUs(20);
while(1)
{
}
} |