Поведение пер8воначального (нестираемого) загрузчика определяется состоянием двух пинов (Boo0 и Boot1) на момен после сброса/включения питания. В контексте платы актуальны два режима:
1) запуск приложения из внутренней flash (Boot0=0 Boot1=0)
2) остаться в загрузчике для последующей взаимосвязи через UART0 (Boot0=1 Boot1=0)
Аналогичный механизм действует и у LPC ...
Для реализации 2-го режима я ввел цепь из VT2,VT3,J5 и их обвязка, по замыслу, когда на линии RTS ничего нет или неактивный уровень (до -15В), транзистор VT3 открыт и Boot0=0, если RTS активен (до +15В), то Boot0=1.
Сброс контроллера управляется аналогично DTR (только идет через RS232 преобразователь) сигналом.
Т.е. чтобы контроллер остался в загрузчике, нужно активизировать DTR и RTS, после деактивизировать DTR, а потом и RTS.
STMicroelectronics предоставляет UM0462 Flash loader demonstrator - утилиту для программирования внутренней флешки через UART, причем в исходниках!!!
Собранный GUI вариант этой утилиты не подразумевает управление DTR/RTS, а вот консольный подразумевает возможность манипулирования сигналами DTR/RTS через командную строку, причем совершая последовательность действий, например, аргумент запуска:позволяет последовательно активировать DTR, затем RTS, затем деактивировать DTR, а потом деактивировать RTS (что и требуется для того чтобы контроллер остался в загрузчике), это можно понять из последовательности сообщений самой утилиты.
"Печаль" в том что в реальности эта утилита не управляет сигналами DTR и RTS (хотя и говорит об этом), я не стал разбираться в чем причина, может она "криво" общается с портом под вистой, может от того что у меня порт не COM1, хотя номер порта и передается через аргументы, она явно больше не возвращается к манипуляции DTR/RTS после открытия порта ...
Вобщем, кому очень нужно программировать флешку через UART, пока придется самостоятельно устанавливать RTS (напрмер через терминалку), сбрасывать контроллер кнопкой сброса, а после запускать утилиту.
Интересное заявление ...
Мне добавить к первому посту больше нечего.
Может сделаете над собой усилие и попробуете воспользоваться тем что Вам любезно предоставил vooon.
usage: /usr/local/bin/st-boot.py <command> [options]
commands:
erase Erase flash (GLOBAL!)
help Show help for a given help topic or a help overview
info Get information program Program flash
read Read memory
ну судя по строчке usage: /usr/local/bin/st-boot.py вероятно это линукс..
давайте рассуждать логически - вы купили некий товар, в данном случае "кит". видимо имея определенные цели. например запустить на нем линукс, смею предположить, что для этого надо знать собственно линукс, ну хоть чуть-чуть. в случае желания запускать WinCE, тоже необходимо иметь определенные навыки :)
в случае отладки на целевой плате линукса вам придется иметь линукс на "большом брате" в любом удобном для работы виде - можно нативно или из под VMWare или Cygwin.