<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def install_board_with_programmer(mcu, programmer, f_cpu=16000000, core='arduino', replace_existing=False, ):
 """install board with programmer."""

    bunch = AutoBunch()
    board_id = '{mcu}_{f_cpu}_{programmer}'.format(f_cpu=f_cpu,
                                             mcu=mcu,
                                             programmer=programmer,
                                             )
    bunch.name = '{mcu}@{f} Prog:{programmer}'.format(f=strfreq(f_cpu),
                                                      mcu=mcu,
                                                      programmer=programmer,
                                                      )

    bunch.upload.using = programmer

    bunch.build.mcu = mcu
    bunch.build.f_cpu = str(f_cpu) + 'L'
    bunch.build.core = core

    install_board(board_id, bunch, replace_existing=replace_existing)