Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ищу порт Tn-Kernel для CM0
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
megajohn
собственно может кто делал но стесняется выложить ?!

Сам то могу написать, но хочется таки проверенный и отлаженный код
megajohn
уф, сделал. за основу брал для CM3 от Кошкина Сергея и пример порта FreeRTOS для CM0

Если кому интересно, могу выложить ИАРовский проект для CM0 + TnKernel для быстрого освоения основ RTOS
haker_fox
QUOTE (megajohn @ Oct 1 2013, 18:44) *
Если кому интересно, могу выложить ИАРовский проект для CM0 + TnKernel для быстрого освоения основ RTOS

Будьте любезны a14.gif
А какой у Вас конкретно кортекс-м0? Понимаю, что не так важно, но всё же.
Axel
У меня есть авторский вариант. Тестировался на LPC11.
megajohn
Цитата(Axel @ Oct 4 2013, 10:12) *
У меня есть авторский вариант. Тестировался на LPC11.


хм. По сути тоже самое но вот есть команда сброса конвеейера. Интересно как она влияет
megajohn
Цитата(haker_fox @ Oct 3 2013, 14:13) *
Будьте любезны a14.gif
А какой у Вас конкретно кортекс-м0? Понимаю, что не так важно, но всё же.


Пример исходников для Cortex-M0 + LPC1114 + IAR ARM 6.3 + RTOS TnKernel2.7

// должен быть внешний кварц на 12МГц
// по включению питания дрыгает ногой P2.0 и пишет в UART на 115200 8N1 строку "hello !(счетчик)"
// реализовано:
// настройка PLL, WDT, UART, dprintf
// управление GPIO ( светодиодом ) с помощью макросов Аскольда Волкова
// можно подключится терминалкой 115200 8N1 И отправлять строку *LED:ON=100,OFF=200# для управления миганием
// динамическое выделение памяти MALLOC реализовано на TN-пулах, также добавлен контроль MALLOC_TEST чтобы детектить нарушения пулов и учет какой кусок кода откуда выделял память
// в случае ASSERT-ошибок вызывается app_assert_func
// Tnkernel неоффициальная. Часть изменений указана в файле _lib\rtos\tn_kernel\необходимые доработки.txt
// в общем так, накидал всякого для быстрого стартапа
// если нет Jlink то прошивка тут mcu\Release\Exe\mj_example.hex
//
// в случае выявленных недочетов, прошу писать на megajohn@inbox.ru ( чтобы пофиксил и обновил файлы )


megajohn
нашел про ISB

When changing the stack pointer, software must use an ISB instruction immediately
after the MSR instruction. This ensures that instructions after the ISB execute using the
new stack pointer. See ISB on page 3-53.

прошу пост от Oct 1 2013, 13:44 удалить, так как является разносчиком возможных неприятностей

Самое интересное, что в порте FreeRTOS для CM0 тоже не юзают ISB. Хотя там CM0+, сжет и не надо - не смотрел
megajohn
Цитата(megajohn @ Oct 22 2013, 15:59) *
Пример исходников для Cortex-M0 + LPC1114 + IAR ARM 6.3 + RTOS TnKernel2.7


замечены траблы:
маловато выделил стека в Handler mode. Поправил

Исправлен UART - теперь при записи работает с полноценным FIFO

Так же добавлена поддержка pin2pin-совместимого LPC11E36 ( c EEPROM через IAP )


ссылка
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.