28.06.2018, 22:35
|
|
Прописка
Регистрация: 18.05.2011
Адрес: Ненька Україна
Сообщений: 157
Сказал спасибо: 20
Сказали Спасибо 58 раз(а) в 25 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Исбанни, Так бы и сказал. (Джельтельмены удачи).
Почитал за индусский и китайский коды. М-да, дикость.
Последний раз редактировалось MONIKYS; 28.06.2018 в 22:40.
|
|
|
|
28.06.2018, 22:41
|
|
Прописка
Регистрация: 05.09.2012
Адрес: Россия, Пермь
Сообщений: 160
Сказал спасибо: 25
Сказали Спасибо 31 раз(а) в 27 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Исбанни
|
Ладно, для особо слепых типа prinv, дублирую свое сообщение #5267 со страницы 527
Вопрос: Чем плох HAL?
Ответ: вот эти два примера кода выполняют одно и то же действие, но с в разы отличающейся скоростью и размером
|
Я такого не спрашивал ![Весело](images/smilies/icon_laugh.gif)
Я спрашивал про ошибки в HAL, которых вы, по вашим же словам, можете привести ТОННЫ.
Разницу понимаете между "чем плох" и "ошибки"?
Про больший код и меньшую скорость я прекрасно знаю, но пока для меня это не играет никакой роли. У вас может быть другая ситуация, но для меня это пока не важно.
Последний раз редактировалось prinv; 28.06.2018 в 22:45.
|
|
|
|
29.06.2018, 00:04
|
|
Прописка
Регистрация: 21.04.2018
Сообщений: 174
Сказал спасибо: 1
Сказали Спасибо 66 раз(а) в 53 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от prinv
|
для меня это не играет никакой роли. У вас может быть другая ситуация, но для меня это пока не важно.
|
Ну вот, я же говорил. Я же русским языком написал буквально несколько сообщений назад: "отговорки, что "вам это не важно" - в рассмотрение не берутся. Есть немало задач, где это - во главе угла."
Сообщение от prinv
|
Например, что невозможно сделать используя HAL/SPL? С примерами.
|
Вы спросили: "Что невозможно сделать на HAL". Я сейчас более кратко (раз вы не в состоянии глубоко мыслить) сформулировал: "Нельзя обеспечить энергоэффективность". В том числе этим и плох HAL.
С примером КОНКРЕТНЫМ и реальным - работа с STM32L476. В минимальном состоянии микроконтроллер работает на 100 кГц, часто переходя в LP Sleep. На такой низкой частоте работа HAL становится не просто тормознутой, но даже и невозможной. КОНКРЕТНО. Однако, ведь только на такой низкой частоте можно обеспечить микроамперное потребление. По требованию, разогнаться можно аж до 80 МГц, но переключение со 100 кГц, написанное на HAL, будет непозволительно долгим, что не вписывается в требования, а значит, НЕВОЗМОЖНО.
STM32L152 имеет минимальную частоту осциллятора 65 кГц, что еще медленнее для HAL.
И вот таких примеров я могу привести "тонны".
Сообщение от prinv
|
Разницу понимаете между "чем плох" и "ошибки"?
|
А как вы понимаете слово "ошибки"? Лично я изначально говорил о состоянии HAL_OK. Ну а вкуда вы сейчас перевернули - это уж я не знаю.
Что такое "индусский код" - это уж сами посмотрите.
Я привел два разных примера в сообщении #5344. Вы ничего не поняли в них. Но это же уже ваша беда. Я об этом тоже говорил ранее. Если вы не в состоянии понять КОНКРЕТНЫЕ примеры, значит, это не ваша тема.
Последний раз редактировалось Исбанни; 29.06.2018 в 00:10.
|
|
|
|
29.06.2018, 00:19
|
|
Прописка
Регистрация: 05.09.2012
Адрес: Россия, Пермь
Сообщений: 160
Сказал спасибо: 25
Сказали Спасибо 31 раз(а) в 27 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Исбанни
|
Пример КОНКРЕТНЫЙ - работа с STM32L476. В минимальном состоянии микроконтроллер работает на 100 кГц, часто переходя в LP Sleep. На такой низкой частоте работа HAL становится не просто тормознутой, но даже и невозможной. КОНКРЕТНО. Однако, ведь только на такой низкой частоте можно обеспечить микроамперное потребление. По требованию, разогнаться можно аж до 80 МГц, но переключение со 100 кГц, написанное на HAL, будет непозволительно долгим, что не вписывается в требования, а значит, НЕВОЗМОЖНО.
STM32L152 имеет минимальную частоту осциллятора 65 кГц, что еще медленнее для HAL
|
Слава Богу! Нормальный пример. Если скорость кода с использованием HAL не устраивает - HAL отпадает.
Сообщение от Исбанни
|
как вы понимаете слово "ошибки"? Лично я изначально говорил о состоянии HAL_OK. Ну а вкуда вы сейчас перевернули - это уж я не знаю.
|
Лично вы говорили, что 99% вопросов "помогите, не работает" на форумах из-за ошибок в HAL. На что я и попросил привести пример. Я же цитировал ваше сообщение.
Ошибка для меня это когда 2+2=5. Или в коде HAL_GPIO_WritePin(GPIOD, GPIO_PIN_15, GPIO_PIN_SET), а на Pin_15 вместо 1 остался 0. Это ошибки HAL.
А как программист обработает result code или вообще забьёт на него - это никак к HAL не относится.
|
|
|
|
29.06.2018, 01:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,629
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от prinv
|
Лично вы говорили, что 99% вопросов "помогите, не работает" на форумах из-за ошибок в HAL
|
На самом деле подавляющее большинство проблем у калоедов возникает из-за того, что они не только RM с даташитом почитать не хотят, но и документацию на кал. Ведут себя как те же абдуринщики: надергали кода с просторов интернета, паззл состряпали, а он — бац, и не работает как надо! А разобраться самостоятельно, что там кал делает — слабо!
А еще бесят эти портянки кода для инициализации всяких структур, которые потом в функции передаются. Вместо того, чтобы сразу же нужные регистры выставить — код и компактней будет, и читабельней, и шустрей!
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
29.06.2018, 05:51
|
|
Прописка
Регистрация: 05.09.2012
Адрес: Россия, Пермь
Сообщений: 160
Сказал спасибо: 25
Сказали Спасибо 31 раз(а) в 27 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Да вот не пофиг ли на код для инициализации? Он один отрабатывает.
|
|
|
|
29.06.2018, 07:13
|
|
Прописка
Регистрация: 21.04.2018
Сообщений: 174
Сказал спасибо: 1
Сказали Спасибо 66 раз(а) в 53 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от prinv
|
Лично вы говорили, что 99% вопросов "помогите, не работает" на форумах из-за ошибок в HAL.
|
отвечу в вашем же стиле: "А теперь вернитесь назад и процитируйте мое сообщение, где я так говорил". Если вы слабо понимаете смысл даже обычного литературного текста, ты вы тугодум редкостный.
Исходный текст моего сообщения (стр. 526):
Цитата:
|
Четвертый пример - почти все вопросы и проблемы "помогите, не работает!!" связаны именно с написанием на HAL. Не верите? Пролистайте форумы. 99% проблем у людей - именно HAL.
|
Ну что, уважаемый, до вас хорошо доходит СМЫСЛ этой фразы? Где в этой фразе вы видите " ошибок в HAL"??
Про скорость работы HAL-а я уже -дцатый раз твержу, но только сейчас, когда уж совсем как "для младших детей" разъяснил на пальцах, до вас хоть как-то начало доходить.
Сообщение от prinv
|
А как программист обработает result code или вообще забьёт на него - это никак к HAL не относится.
|
Во-первых, понятия result code нету. Не употребляйте слов, значений которых не знаете.
Во-вторых, забить на проблемы кривых рук можно и без HAL-а. Только нахрена в HAL-е натолкано столько херни по выявлению этих кривых рук? В HAL-е же половину тормозов занимают проверки кривизны рук кодописателя.
ПРИМЕР В КОДЕ Я ПРИВОДИЛ ВЫШЕ. ИЩИТЕ!
Сообщение от prinv
|
Да вот не пофиг ли на код для инициализации?
|
вам чо-то на всё пофиг.
Инициализация может отрабатывать несколько раз даже пределах нормальной работы. ПРИМЕР Я ПРИВОДИЛ ВЫШЕ. Смена частоты и источника тактирования. Смена частоты тянет за собой повторную инициализацию всего частотнозависимого обвеса. Например, SPI. Но в том то и дело, что полная инициализация не требуется. Нужны только специальные сверхкомпактные функции по замене содержимого битов в регистрах, ответственных за делители частоты. На HAL - ЭТО НЕВОЗМОЖНО.
Второй ПРИМЕР: DMA2D перенастраивается каждый раз при новых обращениях. На HAL это выглядит ужасно.
Третий пример: один и тот же канал/поток DMA может использоваться для разной периферии и инициализуется каждый раз при смене периферии. На CubeMX это НЕВОЗМОЖНО. На HAL-е это выглядит ужасно.
Четвертый пример: работа с L-серией. Гибкое управление питанием и частотой заставляет вызывать инициализацию модулей во время нормальной работы, а не только при старте. На CubeMX это НЕВОЗМОЖНО. На HAL-е это либо невозможно, либо выглядит ужасно и опять же невозможно по энергоэффективности.
И вот таких КОНКРЕТНЫХ практических примеров я могу привести "тонны".
Последний раз редактировалось Исбанни; 29.06.2018 в 07:56.
|
|
|
|
29.06.2018, 08:49
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,037
Сказал спасибо: 2,559
Сказали Спасибо 11,882 раз(а) в 5,959 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Удивляют люди, копающие яму в разы большую, чем необходимо и достаточно. А потом бахвалятся этой придурью, выдумывают свой кашрут и пытаются всех по нему построить.
Сообщение от prinv
|
не пофиг ли на код
|
Сообщение от Исбанни
|
на всё пофиг
|
"И эти люди запрещают мне ковыряться пальцем в носу!"(с)
Цитаты - наглядный пример того, что люди не задумываются над смыслом понятий. Чего ждать от таких в более сложных случаях, если в простых (язык общения) у них каша в голове?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
29.06.2018, 13:51
|
|
Прописка
Регистрация: 21.04.2018
Сообщений: 174
Сказал спасибо: 1
Сказали Спасибо 66 раз(а) в 53 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
akegor, тогда уж приводите мою цитату полностью, а не выдергивайте из контекста, изменяя её смысл. Полностью моя фраза звучала как "вам на все пофиг", в ответ на фразу "а не пофиг ли на код?"
|
|
|
|
29.06.2018, 14:26
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,037
Сказал спасибо: 2,559
Сказали Спасибо 11,882 раз(а) в 5,959 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Исбанни
|
а не выдергивайте из контекста
|
Вот в данном случае контекст пофиг, поскольку "пофиг" это "по уровню х..., пардон, фига", "пофиг на" - абсолютно бессмысленная конструкция, причем, в любом контексте.
Жаль, что приходится объяснять амебу (ну, в смысле, простейшее)...
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:22.
|
|