watercici 发表于 2018-2-27 16:52:27

IAR中怎样将复位后执行的函数有main()改成自己定义的呢?

IAR中怎样将复位后执行的函数有main()改成自己定义的呢?

玄德 发表于 2018-2-27 23:25:20


option选项,把“run to main”前面的勾撤掉。

wenyangzeng 发表于 2018-2-27 17:38:31

main()是复位后必须运行的函数,楼主把要运行的自定义函数让由main()调用即可。

nyszx 发表于 2018-2-27 21:03:17

楼上说的没错,如果你是想复位之后和main前执行函数,你也可以在启动文件“LDR   R0, =__iar_program_start”跳转main之前加入自己函数的跳转语句来实现
Reset_Handler
      LDR   R0, =SystemInit
      BLX   R0
      LDR   R0, =__iar_program_start
      BX      R0

toofree 发表于 2018-2-27 22:12:44

被楼上的抢先了:lol,我要说的跟他一样。

也可以弄个汇编中调用C函数,这样可以不要main,用51尝试过。

す疯Ⅱ恒す 发表于 2018-2-28 09:09:59

改下S文件的跳转就可以了。

tyhjrwx2011 发表于 2018-2-28 09:52:37

修改跳转入口,楼上都讲了

watercici 发表于 2018-2-28 13:40:33

tyhjrwx2011 发表于 2018-2-28 09:52
修改跳转入口,楼上都讲了

谢谢,我知道了

watercici 发表于 2018-2-28 13:40:58

nyszx 发表于 2018-2-27 21:03
楼上说的没错,如果你是想复位之后和main前执行函数,你也可以在启动文件“LDR   R0, =__iar_program_sta ...

谢谢,我知道了。

watercici 发表于 2018-2-28 13:41:19

toofree 发表于 2018-2-27 22:12
被楼上的抢先了,我要说的跟他一样。

也可以弄个汇编中调用C函数,这样可以不要main,用51尝试过。


谢谢您的帮助
页: [1] 2
查看完整版本: IAR中怎样将复位后执行的函数有main()改成自己定义的呢?