Easyelectronics.ru

Электроника для всех
Текущее время: 20 июн 2018, 20:20

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 56 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 12:46 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1681
cheblin писал(а):
Цитата:
китайские исходники, у вас никогда не возникало желания

возникает желание поставить, если ещё не стоит, в хром плагин

Вопрос не в том, что проблему можно как-то решить, а в том, что бы ее вообще не создавать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 12:58 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1825
evsi писал(а):
. Но если код (хотя бы потенциально) будет читать кто-либо еще,.

Ну, с высоты своей колокольни - я в этом плане эгоист :) "проблемы индейцев" меня не беспокоят. Я не пишу кода для кого-либо за пределами своего круга, я делаю готовые железки. И даже если слить с чипа прошивку, комменты, как вы знаете, в прошивке не сохраняются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 13:17 
Только пришел

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 11
Oxford От ARR тоже нужно отнимать единицу.

Писать только на регистрах, а то у них был вначале SPL, потом HAL, а теперь LL API. Учитывая что вебинары у них ведут непонятные индусы, то и эти либы явно они же и писали, у китаез код лучше...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 13:21 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2456
Откуда: КЧР, поселок Нижний Архыз
evsi писал(а):
на другом компе или устройстве вместо текста будут крокозябры.

Для этого случая есть enconv. И насрать!
А хрюникодофилы — это вообще какие-то нелюди…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 13:25 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1681
Eddy_Em писал(а):
Для этого случая есть enconv. И насрать!

Удачи в поиске enconv на каком-нибудь айпаде.
Eddy_Em писал(а):
А хрюникодофилы — это вообще какие-то нелюди…

"Хрюникодофилы" это любители кои-8 и прочих нестандартных извращений вроде CP1251? Да, это точно нелюди.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 13:33 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2456
Откуда: КЧР, поселок Нижний Архыз
evsi писал(а):
Удачи в поиске enconv на каком-нибудь айпаде.

Гомосекам он не нужен: они должны страдать.
Eddy_Em писал(а):
"Хрюникодофилы" это любители кои-8 и прочих нестандартных извращений вроде CP1251?

С логикой у вас, батенька, совсем плохо...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 13:50 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1681
Eddy_Em писал(а):
Гомосекам он не нужен: они должны страдать.

Так вы же и будете страдать в этой ситуации. Вам, конечно, виднее насчет вашей ориентации...
Eddy_Em писал(а):
С логикой у вас, батенька, совсем плохо...

Может и так, но не вам судить - у вас с логикой куда хуже, чем у меня :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 14:28 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 3367
Откуда: Кемеровская область, Киселевск
MasterElectric писал(а):
Oxford От ARR тоже нужно отнимать единицу.


Это где такое написано?

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 14:40 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4476
Цитата:
что там гуглотранслейт напереводил, или сделать реверс…

У меня было ещё веселее.
Имея source BIOS AWARD (полноценный, компилируемый), я потратил уйму времени. А кончилось тем, что я разобрал прошивку и разбирал бинарник sourcer 'ом. Иды тогда ещё небыло.
Так что, не в комментах счастье.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 16:07 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 3367
Откуда: Кемеровская область, Киселевск
Комменты больше для начинающих наших Русских так бы вообще не писал.

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 16:26 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 24 июл 2016, 00:07
Сообщения: 101
Oxford писал(а):
Это где такое написано?

Под рукой рефман на F030. ARR = 0x36(54 в dec). Как видите, переполнение произойдёт уже после интервала тика, то есть всего 55 раз. Так что -1.


Вложения:
F030.png
F030.png [ 20.96 Кб | Просмотров: 382 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 16:55 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 3367
Откуда: Кемеровская область, Киселевск
0 не работает, так как Герц это два полупериода.
Чтобы вывести частоту кратную нужно записать
TIM3->PSC = 1000 - 1;
TIM3->ARR = 1;
TIM3->CCR4 = 1;
Ровно 24 кгц выведит, при тактовой 48мгц

Докажите обратное.

_________________
RADIOWOLF.RU


Последний раз редактировалось Oxford 07 июн 2018, 17:16, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 16:59 
Старожил
Аватара пользователя

Зарегистрирован: 26 окт 2013, 07:58
Сообщения: 1795
Все таки запомнить "наизусть" все названия регистров и флагов достаточно сложно.
Чем плох
Show ll driver?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 17:20 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 3367
Откуда: Кемеровская область, Киселевск
Pingvin писал(а):
Все таки запомнить "наизусть" все названия регистров и флагов достаточно сложно.
Чем плох

Харош уже эти портянки из говнолиб постить. )))

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 17:23 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1681
Pingvin писал(а):
Все таки запомнить "наизусть" все названия регистров и флагов достаточно сложно.
Чем плох

На вскидку: структура занимает место в памяти (хотя она, по сути, не нужна). Вместо const (как в приведеном коде) лучше использовать constexpr.

P.S. на досуге советую посмотреть libstm32pp и modm, там это иначе решено.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 17:27 
Старожил
Аватара пользователя

Зарегистрирован: 26 окт 2013, 07:58
Сообщения: 1795
evsi писал(а):
Pingvin писал(а):
Все таки запомнить "наизусть" все названия регистров и флагов достаточно сложно.
Чем плох

На вскидку: структура занимает место в памяти (хотя она, по сути, не нужна). Вместо const (как в приведеном коде) лучше использовать constexpr.

P.S. на досуге советую посмотреть libstm32pp и modm, там это иначе решено.



А где тут структуры?
LL - как раз обёртка на уровне "дерни бит".
И скорее всего через макросы разворачивается в те же самые регистры.

P.S. За ссылочки - спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 17:35 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1825
Опять вы спорите о фломастерах


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 17:48 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1681
Pingvin писал(а):
А где тут структуры?


class LEDDriver это структура. А по стандарту она занимает минимум 1 байт. Вроде gcc умеет делать структуры нулевого размера, но это не стандартно, следовательно полагаться на это не стоит.

Pingvin писал(а):
LL - как раз обёртка на уровне "дерни бит".
И скорее всего через макросы разворачивается в те же самые регистры.

Там не все разворачивается в макросы, насколько я помню. К тому же пользоваться плюсами и не пользоваться его возможностями заворачивая в класс вызовы LL - не самый рациональный подход.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 17:53 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 539
Pingvin писал(а):
Чем плох ll driver?

Во-первых, __HAL_RCC_GPIOC_IS_CLK_ENABLED(), как следует из названия, ничего не включает, а проверяет. Во-вторых, один из недостатков подобных классов состоит в том, что если методы явно не объявлены как alwais_inline, то в дебаге инлайнинга не будет и даже самые мелкие функции будут вызываться, что может существенно увеличивать размер бинарника. Т.е. будет вызов конструктора внутри которого три вызова LL функций каждой из которых передается по 3 параметра. А еще LL_GPIO_TogglePin написан криво и не всегда работает, была недавно тема с глюком вызванным именно этой функцией.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 17:58 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 3367
Откуда: Кемеровская область, Киселевск
оптимизация им не нужна.

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 17:58 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 1681
Reflector писал(а):
Во-вторых, один из недостатков подобных классов состоит в том, что если методы явно не объявлены как alwais_inline, то в дебаге инлайнинга не будет и даже самые мелкие функции будут вызываться, что может существенно увеличивать размер бинарника.

Зависит от того, что короче - вызов метода или код внутри самих методов. Если второе, то код буде раздуваться, если первое - уменьшаться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 18:01 
Старожил
Аватара пользователя

Зарегистрирован: 26 окт 2013, 07:58
Сообщения: 1795
evsi писал(а):
Pingvin писал(а):
А где тут структуры?


class LEDDriver это структура. А по стандарту она занимает минимум 1 байт. Вроде gcc умеет делать структуры нулевого размера, но это не стандартно, следовательно полагаться на это не стоит.

Pingvin писал(а):
LL - как раз обёртка на уровне "дерни бит".
И скорее всего через макросы разворачивается в те же самые регистры.

Там не все разворачивается в макросы, насколько я помню. К тому же пользоваться плюсами и не пользоваться его возможностями заворачивая в класс вызовы LL - не самый рациональный подход.


Я пример привел для LL (его использования), а не класса.
LL в данном примере не использует структуры.

Про плюсы я ничего не говорил плохого - как раз смотрю libstm32pp - как там все организовано.


Последний раз редактировалось Pingvin 07 июн 2018, 18:06, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 18:06 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 539
evsi писал(а):
Зависит от того, что короче - вызов метода или код внутри самих методов. Если второе, то код буде раздуваться, если первое - уменьшаться.

Все LL функции из того класса пишут в один регистр, естественно инлайнить эффективнее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 18:12 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2456
Откуда: КЧР, поселок Нижний Архыз
Pingvin писал(а):
Все таки запомнить "наизусть" все названия регистров и флагов достаточно сложно.

А кто их наизусть запоминает? Даташит же с RM есть!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что посоветуете почитать о программировании на регистрах?
СообщениеДобавлено: 07 июн 2018, 18:56 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 539
Oxford писал(а):
0 не работает, так как Герц это два полупериода.
Чтобы вывести частоту кратную нужно записать
TIM3->PSC = 1000 - 1;
TIM3->ARR = 1;
TIM3->CCR4 = 1;
Ровно 24 кгц выведит, при тактовой 48мгц

Докажите обратное.

Это плохой пример, нужно брать значения побольше:
Код:
Timer2 tim;
tim.init(1000 - 1, 10 - 1); // PSC, ARR

PerfCounter pc;
pc.start();

tim.enable();
while(!tim.isInterruptReady<TimItf::Update>()) {}

auto elapsed = pc.getElapsedTime();
rtt.printf("%i\n", elapsed);

и получаем 10032.

Для совсем неверующих:
Show


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 56 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: goreprogrammist


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB