FireProoF писал(а):Теперь вопрос: как записать и выполнять программу в FLASH?
Если "на столе", то с помощью отладчика. Отладчик подключается через JTAG (в основном) и имеет доступ в том числе к внутренней SRAM. В нее он загружает маленький загрузчик, запускает его, а уже загрузчик получает от отладчика прошивку и записывает ее во внутреннюю FLASH.
Если в промышленных масштабах, то используется встроенный загрузчик, который есть у многих микроконтроллеров. Он находится в отдельной области памяти ROM (зашит на заводе изготовителя чипа). Обычно, с помощью специальной ножки контроллера можно выбрать будет ли контроллер загружаться из FLASH или из ROM (то есть запустит загрузчик). После запуска, с загрузчиком можно связаться по UART или другим интерфейсам (которые он поддерживает) и с помощью ПО, предоставленного изготовителем чипа, залить прошивку во внутреннюю FLASH.
Есть и контроллеры без внутренней FLASH, при этом придется использовать внешнюю FLASH. Чтобы отлаживаться обычно заливают ПО во внутреннюю (если есть) или во внешнюю SRAM. А вот чтобы загрузить прошивку во внешнюю FLASH может понадобиться попотеть. Мы вот, например, загружаем через отладчик во внутреннюю SRAM свой самопальный загрузчик, запускаем его, и он уже прошивает внешнюю FLASH. Чтобы заливать прошивку в промышленных масштабах у нас используется отдельная платка с FLASH, в которую записан этот же загрузчик. Когда платка вставляется в основное устройство, она перемыкает пару ножек контроллера и заставляет его грузиться с неё. Он запускает наш загрузчик, и мы программируем внешнюю FLASH.
FireProoF писал(а):в RAM он бесполезен после первого же выключения питания.
Некоторые программы, после запуска, грузят сами себя из FLASH в SRAM. Это делается в целях увеличения производительности. Так же в SRAM можно грузить при отладке, когда питание выключать не нужно.
FireProoF писал(а):Возник еще один. Более важный вопрос. Вот есть примеры из ControlSUITE. Например ePWM. В коде видно как настраивается периферия, но ни строчки про конфигурацию портов IO. Это надо делать вручную, или при включении периферии само всё настраивается (в чём сомневаюсь).
Я тоже сомневаюсь. Чтобы сказать точно нужно читать даташиты и на ePWM и на GPIO. Можно зайти в раздел Technical Documents на страничке данного контроллера. Там внизу есть раздел User Guides, вот это оно самое. Boot ROM Reference Guide - это как раз про внутренний загрузчик, Optimizing C/C++ Compiler - про компилятор; DSP CPU and Instruction Set - про ядро микроконтроллера; System Control and Interrupts Reference Guide - про настройку PLL, прерываний и GPIO; Enhanced Pulse Width Modulator (ePWM) Module - про тот самый ePWM; ну и так далее.