Наверное, Вы правы, и это очень грустно.
Даже такая великая фирма, как TI, вовлечена в гонку новых моделей и времени на доводку не остается.
Как Вы верно заметили, копируют бибилиотеки, не вникая в суть.
Насчет не нужно — наверное тоже верно — проще повысить частоту МК, чем привести в порядок бииблиотеки.
Но все таки по поводу части 2 — наверное когда то ограничение скорости было оправданно аппаратурой, но теперь то зачем, если современные SPI такого ограничения не требуют.
Здесь явно видно бездумное копирование, я бы даже назвал это карго-культом.
А что касается сложно сделать хорошими — да, конечно, но стремится то надо, а я не вижу такого стремления.
Более того, в одной бииблиотеке для отечественного МК (кстати, собираюсь про него написать) увидел вообще жуткую вещь — процедура, записывающая информацию в регистр внешнего устройства, то есть 2-3 такта процессора, была обернута в 4 (четыре) вызова функции ( да да именно вызова а не переопределения) и, соответственно, занимала 26 тактов, то есть кпд 10%.
С печалью я гляжу…
В то время ST (насколько я помню) имели на борту только MАС часть Eth, а у TI был интегрированный PHY.
Юмор ситуации в том, что я знакомился с архитектурой Cortex именно на ST и (почему то) решил, что раз в ST есть DMA, то он будет и в Stellarise, что оказалось совсем не так. Конечно DMA, а особенно аппаратный SDIO мне бы сильно помог. Вариант создания своего софтового SDIO я рассматривал, но он, к сожалению, получался даже чуть медленнее за счет необходимости руками генерить клоки к нибблам.
совершенно с Вами согласен.
Я рассматривал вариант достаточно продвинутого пользователя и реальных задач, для которых и давал рекомендации.
Для начального ознакомления стандартные бибилиотеки вполне приличны.
И все таки — почему их не сделать сразу хорошими?
Даже такая великая фирма, как TI, вовлечена в гонку новых моделей и времени на доводку не остается.
Как Вы верно заметили, копируют бибилиотеки, не вникая в суть.
Насчет не нужно — наверное тоже верно — проще повысить частоту МК, чем привести в порядок бииблиотеки.
Но все таки по поводу части 2 — наверное когда то ограничение скорости было оправданно аппаратурой, но теперь то зачем, если современные SPI такого ограничения не требуют.
Здесь явно видно бездумное копирование, я бы даже назвал это карго-культом.
А что касается сложно сделать хорошими — да, конечно, но стремится то надо, а я не вижу такого стремления.
Более того, в одной бииблиотеке для отечественного МК (кстати, собираюсь про него написать) увидел вообще жуткую вещь — процедура, записывающая информацию в регистр внешнего устройства, то есть 2-3 такта процессора, была обернута в 4 (четыре) вызова функции ( да да именно вызова а не переопределения) и, соответственно, занимала 26 тактов, то есть кпд 10%.
С печалью я гляжу…
Юмор ситуации в том, что я знакомился с архитектурой Cortex именно на ST и (почему то) решил, что раз в ST есть DMA, то он будет и в Stellarise, что оказалось совсем не так. Конечно DMA, а особенно аппаратный SDIO мне бы сильно помог. Вариант создания своего софтового SDIO я рассматривал, но он, к сожалению, получался даже чуть медленнее за счет необходимости руками генерить клоки к нибблам.
Я рассматривал вариант достаточно продвинутого пользователя и реальных задач, для которых и давал рекомендации.
Для начального ознакомления стандартные бибилиотеки вполне приличны.
И все таки — почему их не сделать сразу хорошими?
несмотря на
граммар наци негодует