Цитата(spf @ Apr 6 2007, 20:40)

3 - в комплекте scmRTOS для SAM совершенно рабочий пример 1-EventFlag, вставить вывод и запустить не должно составить труда.
Цитата(spf @ Apr 6 2007, 20:40)

Вот именно...

1 - Есть инфа на сайте, на самой первой странице.
2 - Та же инфа в форуме, в обсуждении первых вариантов порта
scmRTOS под АРМ.
Какие основания не доверять этим значениям?
3 - в комплекте
scmRTOS для SAM совершенно рабочий пример
1-EventFlag, вставить вывод и запустить не должно составить труда.
Не знаю, не знаю - для меня запуск scm оказался самым трудоемким из uC/OS и TNKernel.
scm тут совершенно не при чем, просто у меня стиль работы оказался с ним трудно совместим

.
Хроника событий:
- C++ я никогда в embedded не использовал, в существующую программную платформу scm-ные файлы быстро прицепить не удалось (на uC/OS и TNK было потрачено примерно по полдня на разборку и прикручивание). Ладно забиваем на все наработки, в комплекте с scm идут примеры - прекрасно, стартуем с них.
- выясняем что примеры идут исключительно под IAR IDE. "Ну нет у меня гармошки" - процессоры меняются относительно часто (через месяц светит проект на PowerPC e300, во втором полугодии - MIPS-IV), если я буду изучать всякие IDE - крыша уедет окончательно. Поэтому nmake/gmake - это наш выбор

.
- ставим (с кривой ухмылкой

) IDE, лечимся, решаем конфликты в path
- запускаем IDE, билдаем
- к чести авторов scm - билдается беспроблемно. Дайте две
- берем старую плату с SAM7S64
- пытаемся прошить (у меня свой программатор/отладчик - byteblaster называется

- шьет/отлаживает через ICE), превед - формат файла не тот
- читаем хелп на предмет опций
- билдаем
- не работает, превед - конфигурация SRAM (а откуда я знаю что это и где это)
- билдаем FLASH
- шьем, превед - в intelhex файле запись с левым типом 05 (пока не выяснил, что это, уточню)
- имеем некоторы безопасный хекс с файлом - патчим его руками, шьем
- превед, на моих платах штатный кварц 12.0
- патчим low_level_init (наконец-то я узнал кто это такой

)
- запустились наконец
Что показал осциллограф? Ага, там вам все сразу и расскажи.

scm - очень симпатичный проект, имеет довольно стильные исходники и вышеперечисленные проблемы не имеют к нему никакого отношения. Просто стартовая точка для меня оказалась немного не та.
А осциллограф, ну что осциллограф - 6.5uS. Ну я взял бубен и немного побегал вокруг. Типа - это лучший результат из опробованных осей. Потом бубен выбросил и стал рыдать над исходниками. Ну где, где !!!? Да как так получается !!!? А-а-а, вот они - последствия IDE-разврата - надо галочку ARM в свойствах проекта поставить, interwork пока нахрен снимаем. Билдаем - 4.5uS. ПРЕВЕД? Как бы не так - кто регистр MC_FMR прописывать для 48МГц будет? Потирая руки пишем туда единичку, и... получаем "законные" 6.9uS.
Возможно, я где-то еще накосячил, но пока, хит-парад "по чистой скорости":
1. scmRTOS - 6.9uS
2. TNKernel - 7.2-13uS
3. uC/OS 2.80 - 13-13.5uS
И не забываем, что TNKernel имеет дополнительный round-robin scheduler и благодаря этому возможна реализация протоколов коррекции приоритетов при использовании мутексов.