Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Arduino для RTL8710.

Тема в разделе "Realtek - описание, документация и обсуждение", создана пользователем pvvx, 5 ноя 2016.

  1. Pilnikov

    Pilnikov Активный участник сообщества

    Сообщения:
    300
    Симпатии:
    26
    А енто чего такое?
     
  2. Neov

    Neov Читатель

    Сообщения:
    209
    Симпатии:
    7
    хелло ворлд на моей сборке waf с сдк от ЗОРГА^w pvvx
     
  3. Pilnikov

    Pilnikov Активный участник сообщества

    Сообщения:
    300
    Симпатии:
    26
    @Neov помогите забодать

    C:\Program Files (x86)\Arduino\hardware\development\rtl87xx\cores\arduino/Arduino.h:66:17: error: 'class LOGUARTClass' has no member named 'rtl_printf'

    #define printf rtl_printf

    ^
    Z:\ardu\sketch\Main\wc_rt1\d_msg.ino:70:20: note: in expansion of macro 'printf'


    ругается на DBG_OUT_PORT.printf("Invalid display type %u\n",disp);

    Как присобачить внешний макрос к классу?

    Я тут уже читал про printf для ртл - ов - мол проблемный он, а где читал - не помню
     
  4. Neov

    Neov Читатель

    Сообщения:
    209
    Симпатии:
    7
    лучше зорга спросите, я ардуину ковырял давно, еще на аврке, и понял что дурина мне не нравится.
    но подозреваю, что вызываемый метод printf подменяется препроцессором на rtl_printf. Осторожней с define :)
    ну либо добавьте в класс метод-клон rtl_printf :)
     
  5. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.135
    Симпатии:
    1.347
    Он не проблемный, а частью реализован в ROM-BIOS, используя назначенные при сборке ROM-BIOS области SRAM под буфера в фиксированных адресах.
    Но у вас С++ и вообще другая версия компилятора и библиотеки GCC при сборке используют другие буфера для вашего кода, тем самым увеличивая потребление RAM (двойные области для процедур ROM-BIOS и проекта). Вот если совмещать эти области для уменьшения потребления RAM, то и возникают некоторые преодолимые сложности, что не совсем просто - в этом и вся проблемность для тех кто плохо это понимает.
    Переключение на rtl_printf и есть переключение на использование части процедур в ROM-BIOS.
    А зачем (?) - эта система то не нужна и вписывается в самоуничтожение :) Для C++ на RTL-ы есть mbed. Там и библиотек поболее...
    А Visual Studio и так прекрасно собирает проекты Arduino, но вот только записать в чип не может (надо вручную ковырять заливку и прошивку в установках Visual Studio).
     
    Последнее редактирование: 8 июн 2017
  6. Pilnikov

    Pilnikov Активный участник сообщества

    Сообщения:
    300
    Симпатии:
    26
    в чем тогда разница между
    Код (C):
    1. printf ("Hello");
    и
    Код (C):
    1. Serial.printf ("Hello");
    ?
     
  7. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.135
    Симпатии:
    1.347
    В Ameba Arduino и rtlDuino - ни в чем, кроме необходимости инициализации объекта Serial и Дурино подхода использования перегруженных функций и большего объема кода.
     
  8. Pilnikov

    Pilnikov Активный участник сообщества

    Сообщения:
    300
    Симпатии:
    26
    Т.е. так
    Код (C):
    1. int LOGUARTClass::rtl_printf(const char *fmt, ...)
    2. {
    3. rtl_printf(fmt);
    4. }
    5.  
    можно делать?
     
  9. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.135
    Симпатии:
    1.347
    А цель? Увеличить объем кода на переходник класса?
     
  10. Pilnikov

    Pilnikov Активный участник сообщества

    Сообщения:
    300
    Симпатии:
    26
    Зато не ругается
     
  11. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.135
    Симпатии:
    1.347
    Странные у вас желания –испортить всё. Для каждого применения всегда есть оптимальный подход. “На все случаи жизни” ничего не бывает.

    Не забывайте, что есть ещё DiagPrintf – это прямо в ROM-BIOS, без заголовков в RAM.

    Вообще в RTOS так не делают. Printf, rtl_printf, Serial.print[f] и прочие не имеют атомарности исполнения - это дело пользователя, окружить его семафорами или типа… Иначе, в многозадачке, в одной строке будут перемешаны разные буквы от разных потоков :) Но вам то всё равно – Arduino.
     
  12. Pilnikov

    Pilnikov Активный участник сообщества

    Сообщения:
    300
    Симпатии:
    26
    немного цитат с ардуино.ру

    Взять вот так и целую Thread тормознуть.
    На самом деле я уже говорил о своей позиции и точке зрения на все это, как на игрушку. Нет реальных задач под многопоточность.
    В "больших" ПК до сих пор немного приложений в полной мере использующих многоядерность современных процессоров. А ОС тоже не способна сделать это за ПО
     
  13. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.135
    Симпатии:
    1.347
    А у меня есть. По этому Arduino мне не нуно.
    Многоядерность и многопотчность вещи разные. Если вы используете WiFi не по предназначению, то и получается "игрушка". Но это не у всех так... если не считать, что "вся жизнь - игра" :)
    Причины вам уже описаны – WiFi SoC – это устройство, используемое когда нужен трафик более 100 килобайт в сек. UART это не прокачивает. Задачи Arduino ограничены десятком байт коммуникации в минуту и там вполне хватает BT и подобных беспроводных протоколов.
     
    Последнее редактирование: 8 июн 2017
  14. Pilnikov

    Pilnikov Активный участник сообщества

    Сообщения:
    300
    Симпатии:
    26
    Тема "Ардуино для....." вообще то
     
  15. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.135
    Симпатии:
    1.347
    Угу - вот и ограничена область применения. Светодиодом мигает?
    Какие у вас ещё претензии? :)
     
  16. Pilnikov

    Pilnikov Активный участник сообщества

    Сообщения:
    300
    Симпатии:
    26
    Одна задачка у меня есть - я слукавил немного, не диодом поморгать, а пищалкой попищать "бумера" в фоне
     
  17. Pilnikov

    Pilnikov Активный участник сообщества

    Сообщения:
    300
    Симпатии:
    26
    @pvvx, у вас отношения к СОКам как будто к чипам из роутеров и задачи почему-то вы видите в основном те-же что и решают роутеры (утрировано все конечно, но по простому) но тут еще и ножки, гпио которые, есть - т.е. диодиком поморгать сам бог велел.
     
  18. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.135
    Симпатии:
    1.347
    Дык мигает же. Проблем то нет.
    А роутеры и есть первый эшелон, где были затребованы WiFi SoC в быту.
    Хотите что-то большее, например задействовать ресурсы данного WiFi SoC на более 5% - отказывайтесь от Arduino или ждите когда на вашу задачу кто даст готовое решение "без шагу в сторону".

    В rtlDuino вложены примеры и либы. Они работают - пользуйтесь. Зачем тогда лезете в printf/rtl_printf ? Вы же явно указали, что у вас позиция пользователя, а тут разбирают и вопросы разработки самой Arduino. Вам то зачем они и что хотите от них (?) - всё равно какого-либо решения от вас не видно в этом плане.
    Или вы пытаетесь описать стандарт для Arduino для разработчиков? Но тогда вам надо освоить среды, в которых пишутся либы и ядро для Arduino, чтобы потом вышел пример скетча “делай как я” повторяя его пользователями с видео на ютубе и ни шагу в сторону, т.к. это принесет неоднозначности и кучи вопросов у пользователей Arduino. И кто их будет решать, разбираться в том, что каждый пользователь нагородил и писать ему личный пример “скетча” для решения его вопроса?
     
    Последнее редактирование: 8 июн 2017
  19. Pilnikov

    Pilnikov Активный участник сообщества

    Сообщения:
    300
    Симпатии:
    26
    Скетч использует 349348 байт (93%) памяти устройства. Всего доступно 372736 байт.
    А вы говорите
    ;)
    На самом деле есть ресурсоемкие задачи - тот же мп3 или прорисовка цветного экрана, но для них существуют специализированные чипы, которые гораздо дешевле CPU (SoC) общего применения с теми же возможностями, по крайней мере в производстве.
     
  20. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    10.135
    Симпатии:
    1.347
    Именно - 5% от аппаратных возможностей. Остальное занято никчемным кодом для упрощения и привода в рамки Arduino.
    А кто вам сказал, что надо MP3 делать на данном чипе?
    Тут, на основе MP3 создан тест производительности чипа для сравнения с ESP8266. Код то взят от ESP8266 и дополнен, что и показало большие возможности внутренних специализированных встроенных контролеров данного WiFi SoC... Т.е. в отличии от мигания светодиодом, получили использование уже двух встроенных специализированных контроллеров в данных SoC (wifi + i2s + DMA).

    Для пользователя-кухонного игрунчика в Arduino с потребностями на али-экспрес данное решение просто дешевле, чем припаивать внешний чип, а показатели итого – одинаковы.

    Прорисовка цветного экрана на RTL тоже делается с помощью внутренних специализированных встроенных контролеров в данный чип. Посмотрите примеры - они уже готовы и работают. Если надо больший экран - берете RTL8711AM.
    SoC и есть сборка специализированных встроенных контролеров в один чип, а вы тянете к MCU c тупым CPU и их подходам. Это время давно прошло, а производители выпускают разнообразные SoC для частных решений нестандартных задач, когда итого с разработкой выходит дешевле, чем оптовый заказ тысяч чипов специализированного назначения.
    По этому споры, какой тип CPU круче, давно канули в лето и остались уделом только старых-пер..ов, неспособных освоить другой… А решающее значение в SoC имеет встроенные контроллеры, а не "ногодрыг" и обучение в нем никому не нужно на современном этапе :)
     
    Последнее редактирование: 8 июн 2017
    Simon нравится это.

Поделиться этой страницей