|
libopencm3, Неплохая либа для кортексов... |
|
|
|
 |
Ответов
(150 - 160)
|
Nov 27 2016, 15:52
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Есть пара минусов, из-за которых я проголосую против libopencm3: меньшая распространенность по сравнению с spl и hal, и отсутствие поддержки ее со стороны ST (да впрочем со стороны NXP та же ситуация). Очень много исходников уже написано на базе spl и очень много будет написано на hal. Так, например FreeRTOS+TCP, FreeRTOS+FAT приводит пример порта именно под hal, в файловой системе yaffs порт под spl, под lwip по первым ссылкам в гугле найдете массу примеров и под spl и под hal. А если просто заглянуть в исходники местных разработчиков, какая частота появления там spl, hal, и какая частота libopencm3. Относительная распространенность spl и hal облегчает миграцию исходников между различными разработчиками и проектами. Это, кривая конечно, но унификация. Какой смысл переписывать то, что уже написано на spl и hal под libopencm3? Ошибки и неоптимальности в spl и hal? Ну так не лучше ли бороться с ними?
|
|
|
|
|
Nov 27 2016, 21:57
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Правильней было бы так сказать: ни в коем случае не использовать ни неподдерживаемый спл, ни "калокуб", ни даже opencm3. Все они ужасны! Есть CMSIS. Его и использовать. Часть вещей можно на макросах оформить. Но ни в коем случае не пихать жирные функции. Я ужасался, когда читал исходники spl, не меньше был в шоке, читая исходники opencm3: там, где элементарно на трех-четырех 32-битных записях регистров можно настроить конфигурацию, в библиотеке выполняется чуть ли не на полтора порядка больше операций! Какой смысл платить жирнотой и убожеством кода за скорость разработки? Это уже ардуйня какая-то получается, когда основной целью является во что бы то ни стало заставить некий датчик работать. Пусть даже десятикратным "запасом" вычислительных мощностей, стократным раздуванием размера прошивки и превращением простой задачи в тормознутый конвейер из-за того, что все, что должно было работать аппаратно, выполняется ногодрыгом — ведь так "проще", чем даташит почитать! Для файловых систем я бы поискал реализацию ext2: какой смысл пихать на флешку жирный vfat, который при этом жутко ограничен? Для lwip никаких калокубов не нужно. Насчет ртоси поспорил бы. Не вижу смысла в использовании фриртоси в подавляющем большинстве проектов. 99.9% прошивок влегкую обойдутся без ртоси — на простом КА.
|
|
|
|
|
Nov 29 2016, 09:45
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(Эдди @ Nov 28 2016, 00:57)  Правильней было бы так сказать: ни в коем случае не использовать ни неподдерживаемый спл, ни "калокуб", ни даже opencm3. Все они ужасны! [кусь] ...стократным раздуванием размера прошивки и превращением простой задачи в тормознутый конвейер из-за того, что все, что должно было работать аппаратно, выполняется ногодрыгом — ведь так "проще", чем даташит почитать! А я и говорю, что проще HAL портировать на комповую платформу, чтобы текст записи в регистры выдавал
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|