По сути дело вот в чём: нужно загрузить в STM32F101 программу, посредством JLink.exe. При работе с IAR IDE данная программа замечательно грузится и исполняется (как я понимаю, IAR как раз использует JLink для загрузки). Теперь возникла необходимость не используя IAR IDE загрузить программу напрямую через JLink. Вместе с IAR'ом поставлялись такие вещи, как компилятор iccarm.exe, ilinkarm.exe, objcopy.exe. С их помощью мне удалось слепить некий бинарник, который, как я полагаю, должен бы без проблем грузиться в контроллер. Но вот с чем я сталкиваюсь: При запуске Jlink.exe подключение вроде как распознается. Далее никакие отладочные команды не выполняются адекватно, пока я не выполню следующие две: r - резет regs - показать содержимое регистров (пришел к этому открытию эмпирическим путем)
после этого начинают выполняться такие команды, как h - halt; g - go; s - step. Начинает читаться память из любого места, притом читается правильно - поскольку содежимое загруженной программы мне известно до бита. При всем при этом запись в память не работает - ни для отдельных байт через команды w1, w2, w4, ни через loadbin. Запись не проходит, в консоли показываются ошибки. Вопрос - в чем тут может быть дело? Может быть надо какие-то другие магические команды в JLink ввести? Есть также подозрение, что память может быть почему-то защищена от записи, хотя было бы странно. Также приветствуются любые пояснения по поводу того, как эта программа (JLink) вообще должна работать и что уметь.
В общем, я очень плохо во всем этом разбираюсь (как мне кажется) и прошу любой помощи!
|