|
发表于 2011-2-23 22:53:49
|
显示全部楼层
iar ewarm : EWARM_DevelopmentGuide.ENU.pdf
__ramfunc void function_exec_in_ram(void)
{
static char str[] = "exec in ram";
print_msg( str );
}
keil arm :
http://www.keil.com/support/man/docs/ca/ca_le_ram.htm
#define M16(adr) (*((volatile unsigned short *) (adr)))
void my_prog_func (unsigned short val, unsigned short *adr) __ram
{
M16(base_adr + 0xAAA) = 0xAA; // enter programming mode
M16(base_adr + 0x554) = 0x55;
M16(base_adr + 0xAAA) = 0xA0;
M16(adr) = val; // program value
while (M16(adr) != val); // wait until programmed
}
gcc arm:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3909593&bbs_page_no=1&search_mode=3&search_text=cnjenkins&bbs_id=9999 |
|