-
Постов
1 459 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Сообщения, опубликованные esaulenka
-
-
15 hours ago, jcxz said:
IAR для ARM
Если бы у рыб была шерсть, то там обязательно были бы блохи.
15 hours ago, uni said:В первой pdf выдаёт три одинаковых, во второй что-то сам сомневаюсь уже.
Не сомневайтесь :-)
код из сообщения "Вот теперь больше на правду похоже. Переписал немного" выдаёт следующее:
GetCrc16Table = D641 GetCrc16Cycle = 4B37 GetCrc16Simple = 4B37
-
Скажите, а код в пдф-ке выдаёт три одинаковых результата?
Я не умею в уме "переворачивать" полином, но какое-то подозрение, что код-таки разный.
Спасибо за идею.
Надо б допилить до макроса автовычисления констант, и можно смело применять там, где цикл по битам делать долго, а места под таблицу - жалко.
-
1 minute ago, AHTOXA said:
собрать свой собственный armclang
Конкретно про этот случай мне Рабинович напел, но у арма на сайте написано, что они совместили замечательный компилятор шланг и их супер-оптимизированные библиотеки.
Так что, может быть, не сильно-то он и отличается.
Но, повторюсь, сам я не проверял - ни платную версию, ни бесплатную (я даже не знаю, умеют ли prebuilt версии с https://clang.llvm.org/ собирать под мелко-армы).
-
2 hours ago, Forger said:
что там внутри, не знаю, но коли платный, то действительно получается что это их компилятор с нуля, но совместимый с GCC
Я понимаю, что мы в России живём, и знание лицензионных тонкостей тут э-э... не востребовано, но, всё-таки, бесплатный и свободный - вещи разные.
Например, микрочип вполне легально берёт деньги за свой XC32, который, по сути, GCC (но при этом не сильно препятствует желающим собрать свой собственный XC32 забесплатно).
И, разумеется, компилятор с нуля сейчас никто не пишет. Даже АРМ. Это clang. Допиленный-улучшенный-сертифицированный, но...
-
14 hours ago, megajohn said:
так что обязательно
Под фразой "руками нажать BOOT" я имел в виду именно P2.10=LOW. Вручную, перед сбросом (сброс - тоже вручную).
Ну и симптомы автора (в загрузчик попасть можно, но потом всё отваливается) говорят о нестабильности связи, а не о невозможности входа в загрузчик.
Если это не какой-то хитрый загрузчик, мимикрирующий под штатный.
-
On 1/13/2020 at 8:29 AM, megajohn said:
Для FlashMagic нужно вывести P2.10 и Reset и завести на ноги DTR и RTS
Необязательно, насколько я помню. Это несколько облегчает задачу (не надо руками нажимать BOOT и RESET), но работает и так. Проверял миллион лет назад на LPC2378.
25 minutes ago, skripach said:Может жирные "поддяжки" на интерефейсе в боевой плате или ещё что-то.
Вот-вот. Осциллографом на RX/TX сигнал посмотрите.
-
21 minutes ago, xvr said:
Про билдер речь вообще не шла.
Тут уже который день идёт разговор про VCL. Использовать VCL без компилятора от борланда/эмбаркадеро, мне кажется, ещё бОльшее безумие, чем собирать ими Qt ;-)
-
1 hour ago, xvr said:
Тогда вам подойдут (наверное) контейнерные типы из Qt. QMap или QHash
Это вы предлагаете Qt билдером собрать? Интересное занятие, конечно: в теории, можно значительно расширить познания потрохов как Qt, так и билдера.
1 hour ago, AlexandrY said:Т.е. в QMap однозначно нельзя передать объект VCL реализованный с использование ARC.
То, что несовместимость VCL со всем остальным миром - это неоспоримое преимущество, мы уже поняли.
-
On 12/30/2019 at 3:34 PM, masturbant said:
OpenCellID дает ограниченное количество запросов - только 50 в сутки
Там вроде бы по другому сейчас считается - чем больше данных загрузил, тем больше запросов к API можешь сделать. Впрочем, скачать базу и поднять подобный сервис у себя можно бесплатно.
On 12/30/2019 at 3:34 PM, masturbant said:можно ... получить тот же результат как от Google
Ну только своих приборов у вас будет тыщща. Или целых десять тысяч.
А в гугл миллиард андроидов данные сливает...
-
11 hours ago, AlexandrY said:
Мне помогать не надо. Вопрос был пятиминутный.
"STL за пять минут" - это покруче будет, чем "C++ за 21 день"! :-)
11 hours ago, AlexandrY said:Потому что VCL
... г-но мамонта, криво-косо спортированное из дельфей в C++ builder. Имхо.
11 hours ago, AlexandrY said:VCL поддерживает ARC, а STL нет
Не являюсь экспертом по билдеру, но что-то мне кажется, что этот automatic reference counting - этакий std::shared_ptr, прибитый к TObject. Соответственно, std::vector из указателей на производные от TObject будет так же считать эти ссылки.
11 hours ago, AlexandrY said:контейнеры все время копируют элементы
Если это критично, пользуйтесь контейнерами из указателей. Впрочем, лично у меня программы почему-то не "всё время копируют", а ещё и модифицируют данные. Там и копия как-то к месту смотрится.
11 hours ago, AlexandrY said:И эти вещи конечно не сравнимые.
Искренне рад за вас, я за пять минут вещи подобной сложности полностью освоить не могу... Да что уж там, за несколько лет не могу...
-
On 12/30/2019 at 9:00 PM, AlexandrY said:
Одновременно ищу способ заменить классы коллекций Delphi, на которых раньше все было сделано.
Мне кажется, конкретно вам помочь не получится. Потому что вам надо сначала перестроить мышление и перестать сравнивать богоподобный дельфи и жалкую поделку Страуструпа, а только потом задумываться над конкретикой про контейнеры из STL.
А всем остальным может помочь вот такая шпаргалка: https://habr.com/ru/company/infopulse/blog/194726/
-
1 minute ago, DASM said:
а там есть какой плагин для этого или визуально?
Самый низкий уровень оно умеет: показывает PID-адрес-данные-контролька. А дальше - беда, пришлось USB in Nutshell вспоминать.
Правда, у меня этот самый низкий уровень и глючил...
-
5 hours ago, DASM said:
буду сниффер делать
Я, кстати, искал косяк в USB с помощью Saleae. Для фулл-спид его вполне хватает.
-
2 hours ago, DASM said:
Пока что на FS ставлю только дескрипторы, мороку с HS оставлю на потом
Оригинал-то HS-ный?
-
Я, конечно, понимаю желание отстоять свою точку зрения, но мне почему-то кажется, что написать исходное выражение в две строчки (прочитать во временную переменную a, вычесть бэ) сильно проще, чем писать прагмы.
Я уж не говорю о переносимости этих прагм...
-
2 minutes ago, razrab83 said:
Что с того что указатели буфера в макросе будут считаны в произвольном порядке?
Тут - очевидно, ничего. Осталось только объяснить этот конкретный случай компилятору.
Вопрос, на самом деле, интересный. Я никогда активно не пользовался IAR'ом (только какие-то чужие проекты собрать), но с варнингом "два volatile'а в одном выражении" сталкивался. Вот только где, блин?..
-
2 hours ago, razrab83 said:
в случае int c = a - b (см выше) - криминала нет, даже если есть ворнинг. (при условии, что int 4 байта и это 32-х битный проц). Какая разница в каком порядке а и бэ? Ну обратится сначала к "а", потом к "b" - или наоборот?
Если эти а и бэ - не просто переменные, а какие-нибудь регистры (о чём, в общем случае, компилятору неведомо), то от перестановки слагаемых можно поиметь оооочень интересные грабли в случае "для сброса флага считать регистр статуса, потом регистр данных".
-
2 hours ago, Forger said:
Нужно всего лишь подписаться на новости.
Скажите, а как такого добиться? Мне предлагают только выбрать из обычных "больших" фреймворков.
У меня подозрение, что установщик не в курсе моего (триального) аккаунта. Куда логин-пароль вводить, я так и не понял...
2 hours ago, AlexandrY said:PS. Кто не рекламирует - тот помалкивает.
Золотые слова. Жаль только, брёвна в своих глазах плохо видно...
-
43 minutes ago, Polaris said:
в ATSAMC21 нельзя использовать PLL
Мда. Пока не наступишь на эти грабли, и не догадаешься...
А проблема документирована, на самом деле: http://ww1.microchip.com/downloads/en/DeviceDoc/80000740D.pdf
"The FDPLL96M exhibits high period jitter and is not suitable for accurate clocking."В новых ревизиях поправлено.
Но насколько этот PLL inaccurate, ни атмел, ни микрочип не сознались...
-
3 hours ago, Eddy_Em said:
Конечно.
Конечно же, это не так.
Правильный ответ "можно в некоторых сериях камней". Например, в F0, L0, L4, F3, F7. Ключевое слово для поиска в референс мануале - "Character match flag".
-
Здравствуйте!
Кто-нибудь пользуется сеггеровской отладочной консолью RTT ?
Штука весьма удобная, но я никак не придумаю, как её нормально интегрировать в эклипс.
Сеггеровская софтина при старте отладки запускает телнет-сервер, куда сыпятся все сообщения из контроллера. К этому серверу надо прицепиться телнет-клиентом. В принципе, телнет-клиент в эклипсе есть, но каждый раз соединяться после запуска отладки мне надоело.
Про Segger RTT Viewer я в курсе (собственно, им и пользуюсь), но лишнее окно мешается...
-
On 12/13/2019 at 8:09 PM, Polaris said:
Как видно из скриншотов, выброс связан с искажение бита ACK
Я правильно понимаю, что величина этого выброса - заметно больше 5 вольт? Проверьте ещё разик, что земли у всех участников соединены.
On 12/13/2019 at 8:09 PM, Polaris said:но кто это может делать
Попробуйте ткнуть осциллографом в TXD между контроллером и трансивером.
-
1 hour ago, Mysteo said:
в регистре FLASH->SR в данный момент 0x00000A0 а это соответствует PGSERR и PGAERROR
почитал, что это значит, но почему возникает только после прошивки единожды пока не понял
Подозреваю, это отладчик у вас недостаточно корректно работает. При старте программы эти ошибки есть?
Самый простой способ - чистить эти ошибки перед инициализацией.
А вообще - ST'шники могли бы чистить ошибки перед началом записи...
-
Ну, очевидно, что эта ошибка может возвращаться только из PageErase().
А тот, в свою очередь, зависит только от HAL_FLASHEx_Erase().
Вот тут и надо гулять отладчиком (если можно) или обвешивать всё printf'ами.
timer task
в scmRTOS
Опубликовано · Пожаловаться
Здравствуйте.
Скажите, ни у кого не возникало задачи сделать софт-таймеры?
Уже не первый раз делаю что-то подобное в очередном проекте, хочется сделать унифицировано.
Я это вижу по аналогии с FreeRTOS: отдельная задача, которая хранит в себе массив из n-цати структур. Структура состоит из таймера и коллбэка - по истечению таймера (один раз или периодически) вызывается коллбэк.
Заполнение этого списка, перенастройка таймеров и т.д. - динамически, из остальных задач.
По сравнению с FreeRTOS надо подумать и применить шаблонную магию, чтобы коллбэком мог быть метод произвольного класса.
PS в mbed используют другой вариант API. Выглядит симпатичнее, но не совсем понятно, как оно внутри устроено: https://github.com/ARMmbed/mbed-os/blob/c12b433026beae5b3b769c27941bc6d7fe5d4b27/rtos/RtosTimer.h#L58