Jump to content

    
Sign in to follow this  
Golikov

Потребления ресурсов пустой системой

Recommended Posts

да кто ее знает в каком.

Из коробки имеется ввиду взял файлики, воткнул и поехали...

У FreeRTOS есть релизы под кортекс м3, это позволяет надеяться что ассемблерный код переключения задач будет уже готов, а так же будет использован системный таймер и так далее что ей нужно для жизни... То есть я надеюсь что это позволит брать файлы, включать в проект кортекса м3 (любого) и запускаться.

 

Или это очень наивно? И для порта на конкретный проц надо будет много чего полопатить?

 

С вашим опытом чтобы запустить MQX на произвольном проце, что надо сделать?

 

О, сегодня за час удалось портировать FreeRTOS на свою платформу на Kinetis K70.

Немного удивился сколько же задач создает сразу эта FreeRTOS - сразу 37. Правда с uIP стеком.

post-2050-1428494036_thumb.png

 

Ну и убожество эта FreeRTOS.

Хотя поддержка FreeRTOS есть в IAR, но выглядит очень бедно. Вот что на скриншоте это практически и все. Ну еще листинг очередей есть.

Стек эта RTOS ест не то слово.

 

Портирование конечно не полное. Т.е. ядро RTOS заработало, но и только.

Периферийные дела пишутся в таких портах какими-то студентами на скверном уровне. Сплошная лапша и баги.

По сути эта ось идет без периферийного уровня , даже без HAL.

 

Кстати лицензия у FreeRTOS довольно суровая. Суровей чем у MQX в плане обязательного раскрытия и обязательного упоминания.

 

Характерно, что под Kinetis есть порт FreeRTOS только для одной единственной платформы.

Т.е. тот кто использует Freescale не нуждаются во FreeRTOS поскольку имеют лучшую альтернативу.

Share this post


Link to post
Share on other sites
Немного удивился сколько же задач создает сразу эта FreeRTOS - сразу 37. Правда с uIP стеком.

Значит, это freertos эти задачи создаёт, а не пользователь?

 

Ну и убожество эта FreeRTOS.

Хотя поддержка FreeRTOS есть в IAR, но выглядит очень бедно.

А поддержка линукса например в иаре есть?

 

Стек эта RTOS ест не то слово.

А это где посмотреть и с чем сравнить?

 

Периферийные дела пишутся в таких портах какими-то студентами на скверном уровне. Сплошная лапша и баги.

Что значит "в таких портах"? И где посмотреть на примеры сплошных багов в официальном репозитории?

 

По сути эта ось идет без периферийного уровня , даже без HAL.

Попробуйте chibios, там, говорят, с hal всё хорошо. Только вот кроме операционки придётся портировать и драйверы.

 

Share this post


Link to post
Share on other sites
Значит, это freertos эти задачи создаёт, а не пользователь?

 

Метко замечено.

Действительно, эт я на такую демку нарвался. :biggrin:

На самом деле создаются автоматом только две задачи: таймера и IDLE.

uIP стеку не надо было столько задач.

 

Но скажем в MQX все задачи создаются юзером только явно.

 

А официальный репозиторй знаете ли содержит все кроме точной версии IDE в которой проект создавался и точной схемы и спецификации платы на которой запускался.

Так что баги там 100%. У меня ни инициализация MAC не пошла ни инициализация портов.

 

 

Если б в IAR была бы поддержка линукса, я бы только о линуксе и писал бы.

Share this post


Link to post
Share on other sites
Но скажем в MQX все задачи создаются юзером только явно.

Вы хвалите процессоры от Freescale и MQX. А с какими конкретно процессорами Вы используете эту ОС? Спасибо

Share this post


Link to post
Share on other sites

И все же, подскажите пожалуйста.

 

1. Вот я хочу на LPC1768 запустить MQX

2. Вот я хочу на LPC1768 запустить FreeRTOS

 

какие действия (схемотично) меня ждут в первом и втором случае?

Share this post


Link to post
Share on other sites
1. Вот я хочу на LPC1768 запустить MQX

2. Вот я хочу на LPC1768 запустить FreeRTOS

Если в Keil работаете, то лучше

3. Захотите и запустите на LPC1768 CMSIS RTOS RTX - она маленькая, простая, красивая, если хотите, и уже в комплекте. Документация тоже уже на вашем компе.

Share this post


Link to post
Share on other sites
разве MQX портирована под этот мк?

наверняка нет, потому и хочу схему что меня ждет при портировании, чтобы оценить стоит ли вообще игра свеч

 

Если в Keil работаете, то лучше

Лучше, но очень хочется остаться в провавом поле с LwIP и какими то фри ос. Мне очень нравятся продукты кейла вида ТСР стека, но все же за него надо платить....

 

А АРМ кейловую ОС выбрал как флагмана, да?

Share this post


Link to post
Share on other sites
Лучше, но очень хочется остаться в провавом поле с LwIP и какими то фри ос. Мне очень нравятся продукты кейла вида ТСР стека, но все же за него надо платить....

 

А АРМ кейловую ОС выбрал как флагмана, да?

В нагрузку. :-)

Есть бесплатная ограниченная Keil IDE. Есть совсем бесплатная для STM32F0.

Пусть докажут, что пользовался не ими.

Share this post


Link to post
Share on other sites

А вы уверены что их библиотеке нельзя послать сообщение на которое она ответит свою версию и платность? Исходники то закрыты, сделать такое пять минут работы....

Да и бесплатно ограниченные сильно ограничены, в них вроде РТЛ вообще никакой не входит...

Share this post


Link to post
Share on other sites
И все же, подскажите пожалуйста.

 

1. Вот я хочу на LPC1768 запустить MQX

2. Вот я хочу на LPC1768 запустить FreeRTOS

 

какие действия (схемотично) меня ждут в первом и втором случае?

 

Поскольку NXP и Freescale слились (в смысле объединились), то наверно нет ничего криминального портировать MQX на LPC. :biggrin:

 

 

Во первых сразу надо определится какую IDE с компилятором вы будете использовать. Ибо дальше образ действий расходится.

Скажем берем IAR.

 

Потом важнейший вопрос на какой собственно платформе. Сказать LPC1768 - это не сказать ничего.

Какие кварцы и генераторы задействованы, на каких ногах, как сконфигурированы порты, какие внешние периферийные контроллеры и как подключены - вот что здесь главное.

 

Портировать вы будете с демок. Шаг влево, шаг вправо от референсных по отношению к демкам платформ и ваши демки не запустятся.

В этом смысле хоть во FreeRRTOS вы и найдете демку как раз под LPC1768 для IAR, она у вас на вашей самодельной плате не запустится.

 

И вот тут вы в равных условиях что с FreeRTOS, что с MQX.

 

Во FreeRTOS начинаете долго рыть исходники в попытках очистить их от флуда и найти где чё инициализируется. Кстати в демке FreeRTOS нет даже инициализации UART-а, о CAN-е и не мечтайте.

 

В MQX таже работа, но не надо чистить демку от какого-то там вебсервера поскольку есть примитивные демки хеловорды на консоль.

Знакомых драйверов периферии LPC в MQX не найдете. Но никто не мешает в конфиге поотключать вообще всю инициализацию периферии (user_config.h ), что и должны будете сделать.

Далее в __low_level_init вставляете инициализацию тактирования, портов и UART-а с которым будете работать на консоль.

Далее еще правите файл линкера .icf под ваш чип.

ВСЕ! Портирование MQX как ядра на этом закончено.

Share this post


Link to post
Share on other sites

Вот же блин же...

мне не нужны все эти драйверы, и периферия. От операционки мне надо чтобы она задачи переключала, а все остальное я сам напишу. Как то это все не дружелюбно для пользователя...

 

Неужели чтобы поставить ядро FreeRTOS я не могу его взять голое для кортекса М3 и поставить на свой проц, просто включив в проект... Должна же быть где то голая система, потому что иначе откуда взялась первая демка которую разодрали на все остальные демки?

 

Кортексов М и АРМ7 например по разному сделаны прерывания, и это может отличать операционку для АРМ просто от операционки для кортекса.

 

Операционка от кейла входит в лайт комплект, и вроде как там надо просто ее пожелать, и она добавиться в пустой проект, и не надо демку дербанить. Неужели FreeRTOS ставиться не также?

 

Что в ней такого что она не может использовать абстрактно от типа проца? Системный клок я могу указать, ссылку на таймер могу дать, почему надо демку дербанить? что я не знаю и не понимаю от этого, что заставляет терпеть такие сложности с добавлением операционки в проект?

Share this post


Link to post
Share on other sites
Неужели чтобы поставить ядро FreeRTOS я не могу его взять голое для кортекса М3 и поставить на свой проц, просто включив в проект... Должна же быть где то голая система, потому что иначе откуда взялась первая демка которую разодрали на все остальные демки?

Можете, конечно. Все необходимое есть в \Source, \Demo можно и не смотреть.

Share this post


Link to post
Share on other sites
что я не знаю и не понимаю от этого, что заставляет терпеть такие сложности с добавлением операционки в проект?

 

A вот этого я не знаю. ;)

 

 

Я описал стандартный экспресс метод. Позволяющий запустить RTOS за пару дней.

 

Вам разве легче будет хелп в онлайне на FreeRTOS читать и по нему восстанавливать что и как?

Так авторы FreeRTOS не запариваются объяснениями как они поступают с компиляторами, линкерами и т.д.

 

Это в MQX есть три здоровых документа в pdf : юзер мануал, референс мануал и еще мануал отдельно по HAL уровню, не говоря уже что по TCP, USB, FS и проч. у них отдельные мануалы.

И то я не рискнул просто по ним взять и запустить с нуля.

Только через ихний фирменный BSP Cloning Wizard и демки.

 

 

Кортексов М и АРМ7 например по разному сделаны прерывания, и это может отличать операционку для АРМ просто от операционки для кортекса.

 

Да кстати, может вы не в курсе, но и в FreeRTOS и в MQX есть выбор ядра от ARM7 до Cortex-Ax

 

Но только вы подите найдите где и что точно в исходниках надо подправить чтобы компилось под нужное ядро.

Только демки вам в этом помогут!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this