Pull to refresh
2

User

Send message

Здорово.
Вот бы еще HidReport байты обернуть в классы чтоб можно было по человечески редактировать.

Да, bitbang USB это развлечение не для слабонервных. Снимаю шляпу. :-)

Спасибо, не знал. На lpc17хх ДМА тактируется от CCLK — те же 100/120MHz что и core, если память не изменяет.

Для таких дел DMA хорошо подходит. Делаешь в памяти данные для записи в GPIO порты и потом по таймеру ДМА сам дергает ножками в весьма хорошей скоростью и точностью. Так же и принимать можно — ДМА читает порт поу таймеру и складывает в память. Делаешь оверсампл в 3-4 раза и потом легко восстанавливаешь входные данные. Я так софт-uart делал на lpc1769.

Про гугл в принципе описано адекватно.


Есть грейды и выше: 7, 8, 9, 10 и 11. Но они уже практически директорские — со стороны сюда нанимают очень редко. Рядовые разработчики с сотрудниками этих грейдов обычно даже не взаимодействуют.

Это зависит. Л-7 бывают вполне обычными разработчиками занимающимися чем-то сильно полезным для всех.

Вы упомянули о clang static analyzer а это не санитайзер. А в "динамические valgrind и sanitizer" не совсем очевидно, что речь именно о -fsanitize в clang/gcc. Будем считать что упомянули. :-)


Для вашего примера санитайзер не нужен. Clang такое ловит сам с -Wall -Werror во врямя компиляции:
https://godbolt.org/z/Edc4rq


source:5:7: error: variable 'b' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
  if (a != 5) b = 5;
      ^~~~~~
source:6:16: note: uninitialized use occurs here
  std::cout << b << '\n';  // b is still uninit if a == 5, UB
               ^
source:5:3: note: remove the 'if' if its condition is always true
  if (a != 5) b = 5;
  ^~~~~~~~~~~~
source:3:11: note: initialize the variable 'b' to silence this warning
  int a, b;  // b is uninit
          ^
           = 0
1 error generated.
На всякий случай — кажите, а вы в курсе о существовании clang.llvm.org/docs/UndefinedBehaviorSanitizer.html?

Вроде как он уже все вышеописанное (и много чего еще) делает.
RX 6900 XT: 2015Mhz базовая частота, 2250Mhz в бусте, 23.04 терафлопс, 80 вычислительных блоков, потребление не указано.

По официальным данным — 300 Ватт: www.amd.com/en/products/graphics/amd-radeon-rx-6900-xt
github.com/llvm/llvm-project/blob/master/llvm/tools/llvm-stress/llvm-stress.cpp
Это тул для тестирования а не сам компилятор.
2

Information

Rating
Does not participate
Registered
Activity