iar 如何将函数放在指定的地址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iar 如何将函数放在指定的地址相关的知识,希望对你有一定的参考价值。

参考技术A 在函数名后面加@+地址 如: viod fun@0x50000(int a)本回答被提问者和网友采纳

iar 怎么将flash的固定地址用固定变量占住

可以!前提是写入的位置是空白没有代码的部分,调用库函数:
FLASH_Unlock(); //1、解锁Flash
FLASH_SetLatency(FLASH_Latency_2); //2、72MHz系统时钟下设置两个时钟延时
FLASH_ErasePage(addr); //3、擦除指定的页,addr是页的起始地址,一次擦除2KB
FLASH_ProgramHalfWord(WriteAddr,UsrCode) ; //4、指定地址写入数据,UsrCode是unsigned int类型,STM32的Flash是双字节(半字)写入。
FLASH_Lock(); //5、Flash上锁。

注意3、4步,这两个函数是有返回值,调用时候最好看返回值以确定操作是否成功,库函数在stm32f10x_flash.c中。
参考技术A __root const unsigned int ver@0x08010400 = 0x4086;
编译,dowmload之後。利用IAR查看(view -> memory),地址 0x08010400 连续4个字节 00 00 86 40 (顺序有可能是反的)

以上是关于iar 如何将函数放在指定的地址的主要内容,如果未能解决你的问题,请参考以下文章

IAR 可以将程序烧写到特定的Flash地址吗

keil arm汇编如何指定一个绝对地址的代码区?

inline函数在IAR中的使用

IAR for msp430 生成txt文件时开头@1100 和@E000

在main之前,IAR都做了什么

无法使用 IAR ARM 编译器将函数表强制到特定地址