Может ли CSpyBat загружать прошивку программы во флеш-память микроконтроллера? И если да, то что нужно сделать для этого?
Проблема следующая: есть готовый файл для прошивки (Program.out), есть bat-файл, автоматически созданный средой IAR IDE, содержащий параметры для работы CSpyBat (batman.bat).
Содержимое файла:
"C:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\common\bin\cspybat" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\bin\armproc.dll" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\bin\armjlink.dll" %1 --plugin "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\bin\armbat.dll" --backend -B "--endian=little" "--cpu=Cortex-M3" "--fpu=None" "-p" "C:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\CONFIG\debugger\ST\iostm32f10xxb.ddf" "--drv_verify_download" "--semihosting" "--device=STM32F10xxB" "-d" "jlink" "--drv_communication=USB0" "--jlink_speed=auto" "--jlink_initial_speed=32" "--jlink_reset_strategy=0,0"
(сюда уже подставлен соответствующий плагин armbat.dll)
Происходит следующее:
1] Вводим в командную строку "batman.bat program.out".
2] Запускается CSpyBat, сыплется много ворненгов вида: " verify error at address 0x08000080, target byte: 0xB5, byte in file: 0xF9 ". Когда их становится более 200, программа как бы зависает.
3] Думая, что проблема в файле batman.bat, пытаюсь угадать, что нужно дописать/заменить. Руководствуюсь документом http://supp.iar.com/FilesPublic/UPDINFO/004167/csavr.htm.
4] Появилось подозрение, что --drv_verify_download отвечает за то, что программа не должна загружаться, а текущее содержимое flash сравнивается с содержимым файла Program.out. Этим объясняются посыпавшиеся ворненги. Удаляю эту строчку из файла. После этого ворненги не сыпятся, но программа зависает так же. Прошивка не загружается.
5] Пытаюсь подставлять другие команды наугад, но пока что успеха не добился.
Что делать? Что не так? Очень прошу помощи!