MDK4 如何生成bin文件

1、首先打开keil4的Options for Target ‘Target1’

2、按照下图进行配置

配置有3种方法:

1、直接添加:  fromelf.exe –bin -o “$L@L.bin” “#L”,就不用纠结路径了

2、绝对路径:D:MDK4ARMARMCCinfromelf.exe –bin -o D:MainBoardFLASHMainBoard.bin D:MainBoardFLASHMainBoard.axf,注意其中的空格

3、相对路径:D:MDK4ARMARMCCinfromelf.exe –bin -o .FLASHMainBoard.bin .FLASHMainBoard.axf,注意其中的空格

注意:如果定义了IROM1的起始地址,即IROM1的起始地址不为0x0,则会生成.bin文件夹,而不是.bin文件

具体解决方法为添加bincombined

1)、若IROM1的地址小于0x2fc,以0x200举例

  1、直接添加:  fromelf.exe –bincombined –bincombined_base=0x200 –output= “$L@L.bin” “#L”

  2、绝对路径:D:MDK4ARMARMCCinfromelf.exe –bincombined –bincombined_base=0x200 –output=D:MainBoardFLASHMainBoard.bin D:MainBoardFLASHMainBoard.axf,注意其中的空格

  3、相对路径:D:MDK4ARMARMCCinfromelf.exe –bincombined –bincombined_base=0x200 –output=.FLASHMainBoard.bin .FLASHMainBoard.axf,注意其中的空格

2)、若IROM1的地址大于0x2fc,以0x2000举例

  1、直接添加:  fromelf.exe –bincombined –bincombined_base=0x0 –bincombined_padding=1,0 –output=”$L@L.bin” “#L”

  2、绝对路径:D:MDK4ARMARMCCinfromelf.exe –bincombined –bincombined_base=0x0 –bincombined_padding=1,0 –output=D:MainBoardFLASHMainBoard.bin D:MainBoardFLASHMainBoard.axf,注意其中的空格

  3、相对路径:D:MDK4ARMARMCCinfromelf.exe –bincombined –bincombined_base=0x0 –bincombined_padding=1,0 –output=.FLASHMainBoard.bin .FLASHMainBoard.axf,注意其中的空格

在MDK中的Option for Target中的Asm里的Define填上:NO_CRP,是忽略IROM1的起始地址块,使代码从0x0开始

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注