Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 10:57:25

у этого f100 что, тим1 и тим15 имеют общий вектор прерываний? и в обработчике надо разбираться, кто его вызвал?

Там еще интереснее: у TIM1 не один вектор прерываний, а 4 на разные случаи, и конфликтует он соответственно с разными таймерами: TIM15, TIM16, TIM17. А вот прерывание по сравнению у него вроде бы персональное.
ARV писал(а):я наивно полагал, что кодогенератор у меня просто спросит имя функции обработчика и сделает пустышку...
Даже в AVR имена обработчиков прерываний заданы жестко. Впрочем, что там чудит кодогенератор в ST понятия не имею. Пару раз я его пытался тыкать, натыкал какие-то странные баги и плюнул: на регистрах проще.
Тем более когда возникает желание пощупать контроллеры не от ST, пусть и с похожей периферией. Вот, например, что у меня получилось для RISC-V контроллера gd32vf103.
КРАМ писал(а):Стартап, инициализация осциллятора, таблица векторов прерываний.
...занимают около килобайта, а то и меньше.
КРАМ писал(а):Да, контроллер прерываний в любом STM32 имеет сгруппированые вектора прерываний.
Только обычно вектора объединяются по общей периферии. Скажем, все прерывания, относящиеся к USART1, или все, относящиеся к I2C2.
А объединение разных таймеров выглядит просто как костыль.

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 12:18:59

вопрос остался открытым: где искать (и по каким признакам) коллбэки или что там автоматически генерирует куб, если задействованы прерывания периферии?

Добавлено after 3 minutes 17 seconds:
что прерываний больше одного, это и так понятно, да и ковыряния в кубе и хале позволили мне это понять. но вот манера именования сущностей пока не усвоена, и не очень понятно, что из нагенерированного нужно, а что нет, и где своё дописывать. догадки есть, но лучше конкретно для начала, дальше буду углубляться

Добавлено after 3 minutes 6 seconds:
что касается "на регистрах проще", то я пока намерен следовать собственным представлениям о том, зачем мне нужен ARM. и пока я формулирую это так: избыток ресурсов позволит мне меньше напрягать голову. поэтому, если я не вижу регистров, то на данном этапе считаю это плюсом.

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 13:29:24

А объединение разных таймеров выглядит просто как костыль.

:facepalm:
Что же это такое?
Что за привычка оценивать чужой труд, НЕ ИМЕЯ ПРЕДСТАВЛЕНИЯ О ЧУЖИХ РЕЗОНАХ, да и просто не являясь специалистом в вычислительных архитектурах...
А как вам простой такой, лежащий прямо на поверхности аргумент? Первый таймер, являясь more advanced, вполне целесообразно имеет РАЗДЕЛЬНЫЕ для своих разных флагов вектора. Что дает очевидное преимущество выравнивания латентности обработчиков по разным флагам. И это дает возможность создавать сигналы с более высокой когерентностью, нежели у других таймеров.
И уж точно, аргумент о группировании векторов по типу периферии выглядит как тупая вкусовщина. И эта вкусовщина имеет место быть, когда кончаются иные аргументы. То есть в последнюю очередь.

Добавлено after 2 minutes 18 seconds:
вопрос остался открытым: где искать?
Очевидно по имени колбэка и очевидно в обработчике. Обнаружив имя в обработчике, легко найти и само тело колбэка.

Добавлено after 3 minutes 15 seconds:
избыток ресурсов позволит мне меньше напрягать голову. поэтому, если я не вижу регистров, то на данном этапе считаю это плюсом.

Извращенный вкус и банальная лень обычно удивительно кумулятивно грузят ноги...
Любители HAL традиционно учат не только HAL, но и регистры. Или просто танцуют на граблях разные народные танцы.

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 13:32:11

видимо, я слишком примитивно формирую вопросы, что профессионалы меня не понимают...

еще раз: логику построения имен сущностей в коде я пока не усвоил, и мне надо конкретно указать, где (в каком из файлов) и что (конкретное имя функции) надо искать для прерываний тим1?

я могу надеяться получить конкретный ответ на этот вопрос? чтобы не пришлось в третий раз его задавать?

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 13:43:56

где (в каком из файлов) и что (конкретное имя функции) надо искать для прерываний тим1?

Поразительно... :facepalm:
А найти где в Кубе поиск по проекту не судьба?
Но могу подсказать где находится компактно размещенный список имен векторов. В стартап файле. И он традиционно написан на АСМе.
Могу точно сказать какие кнопки и в какой последовательности давить на клаве для Кейла. Для Куба - не знаю. Но почему то уверен, что найду за одну минуту....

Код:
; Dummy Exception Handlers (infinite loops which can be modified)

NMI_Handler     PROC
                EXPORT  NMI_Handler                    [WEAK]
                B       .
                ENDP
HardFault_Handler\
                PROC
                EXPORT  HardFault_Handler              [WEAK]
                B       .
                ENDP
SVC_Handler     PROC
                EXPORT  SVC_Handler                    [WEAK]
                B       .
                ENDP
PendSV_Handler  PROC
                EXPORT  PendSV_Handler                 [WEAK]
                B       .
                ENDP
SysTick_Handler PROC
                EXPORT  SysTick_Handler                [WEAK]
                B       .
                ENDP

Default_Handler PROC

                EXPORT  WWDG_IRQHandler                [WEAK]
                EXPORT  RTC_IRQHandler                 [WEAK]
                EXPORT  FLASH_IRQHandler               [WEAK]
                EXPORT  RCC_IRQHandler                 [WEAK]
                EXPORT  EXTI0_1_IRQHandler             [WEAK]
                EXPORT  EXTI2_3_IRQHandler             [WEAK]
                EXPORT  EXTI4_15_IRQHandler            [WEAK]
                EXPORT  DMA1_Channel1_IRQHandler       [WEAK]
                EXPORT  DMA1_Channel2_3_IRQHandler     [WEAK]
                EXPORT  DMA1_Channel4_5_IRQHandler     [WEAK]
                EXPORT  ADC1_IRQHandler                [WEAK]
                EXPORT  TIM1_BRK_UP_TRG_COM_IRQHandler [WEAK]
                EXPORT  TIM1_CC_IRQHandler             [WEAK]
                EXPORT  TIM3_IRQHandler                [WEAK]
                EXPORT  TIM14_IRQHandler               [WEAK]
                EXPORT  TIM16_IRQHandler               [WEAK]
                EXPORT  TIM17_IRQHandler               [WEAK]
                EXPORT  I2C1_IRQHandler                [WEAK]
                EXPORT  SPI1_IRQHandler                [WEAK]
                EXPORT  USART1_IRQHandler              [WEAK]
 

WWDG_IRQHandler
RTC_IRQHandler
FLASH_IRQHandler
RCC_IRQHandler
EXTI0_1_IRQHandler
EXTI2_3_IRQHandler
EXTI4_15_IRQHandler
DMA1_Channel1_IRQHandler
DMA1_Channel2_3_IRQHandler
DMA1_Channel4_5_IRQHandler
ADC1_IRQHandler
TIM1_BRK_UP_TRG_COM_IRQHandler
TIM1_CC_IRQHandler
TIM3_IRQHandler
TIM14_IRQHandler
TIM16_IRQHandler
TIM17_IRQHandler
I2C1_IRQHandler
SPI1_IRQHandler
USART1_IRQHandler

                B       .

                ENDP

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 13:54:39

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

А что, открыть документацию и посмотреть таблицу кажется настолько страшным?!
КРАМ писал(а):Что за привычка оценивать чужой труд

Та самая привычка, которая возникает, когда понимаешь, что ту же задачу можно было решить куда проще. И понимаешь, почему разработчики сделали именно так.
КРАМ писал(а):Первый таймер, являясь more advanced, вполне целесообразно имеет РАЗДЕЛЬНЫЕ для своих разных флагов вектора.

Вы с чем вообще спорите? Что-то я не увидел ни одного оправдания зачем нужно было вешать на прерывания TIM1 еще и другие таймеры.
КРАМ писал(а):И уж точно, аргумент о группировании векторов по типу периферии выглядит как тупая вкусовщина.

То есть вы считаете логичным смешивать в одном векторе UART1_TX, SPI3 и ADC1, во втором UART2_RX, I2C1 и DMA1?
Учитывая, сколько бесполезного текста вы написали вместо ответа на вопрос о совмещении разных таймеров, даже не буду спрашивать, ради чьего удобства предлагаете вот это извращение.
ARV писал(а):что касается "на регистрах проще", то я пока намерен следовать собственным представлениям о том, зачем мне нужен ARM. и пока я формулирую это так: избыток ресурсов позволит мне меньше напрягать голову. поэтому, если я не вижу регистров, то на данном этапе считаю это плюсом.

Ваше право.
Могу только напомнить, что с появлением более мощного камня захочется и более сложные задачи ему поручать, для которых у AVR физически не хватало мощности. А переучиваться с графических конфигурялок на человеческое программирование зачастую оказывается сложнее, чем учиться с нуля.
КРАМ писал(а):
КРАМ писал(а):Очевидно по имени колбэка и очевидно в обработчике. Обнаружив имя в обработчике, легко найти и само тело колбэка.

Но могу подсказать где находится компактно размещенный список имен векторов. В стартап файле.

То есть вы предлагаете ардуинщику копаться в стартап-файлах?
"Пользуйтесь нашей мега-конфигурялкой, и вам все равно придется изучать ассемблер даже для такой банальности, как прерывания!"

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 14:00:59

оказывается, как просто растить своё ЧСВ, не помогая начинающему ничем! а в ЛС мне пишут нормальные люди, и от их двух предложений у меня уменьшается вдвое число вопросов, а от многобуквенных постов наоборот...

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 14:24:44

Что-то я не увидел ни одного оправдания зачем нужно было вешать на прерывания TIM1 еще и другие таймеры.

Абисняю. Чтобы не увеличивать общее количество векторов (IVT). Компромисс, так сказать...
То есть вы считаете логичным смешивать в одном векторе UART1_TX, SPI3 и ADC1, во втором UART2_RX, I2C1 и DMA1?

В каком STM32 сие наблюдается? Мне лично ни разу не попадалось.
Но я догадываюсь с чем вы спутали... :wink:
То есть вы предлагаете ардуинщику копаться в стартап-файлах?

Размер стартапа столь мал, а содержимое в части имен обработчиков столь очевидно, что не требуется знать АСМ от слова совсем.
Учитывая, сколько бесполезного текста вы написали вместо ответа на вопрос о совмещении разных таймеров, даже не буду спрашивать, ради чьего удобства предлагаете вот это извращение.

Не вашего - точно. Но вы можете себе представить, что ваши "удобства" маргинальны? Или вы даже мысли такой не допускаете? :wink: :roll: :tea:

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 14:49:57

КРАМ писал(а):Абисняю. Чтобы не увеличивать общее количество векторов (IVT). Компромисс, так сказать...

А в документацию посмотреть перед "абиснением"? Векторов там 60 штук, причем сам NVIC поддерживает куда больше. Плюс еще 7 помечены как reserved.
Перевожу специально для вас: технических возможностей сделать не по-костыльному было предостаточно.
КРАМ писал(а):В каком STM32 сие наблюдается? Мне лично ни разу не попадалось.

Вы спрашиваете в каком stm32 наблюдается следование вашим противоестественным фантазиям? Мне-то откуда знать, это же ваши фантазии смешивать в одном векторе разную периферию.
КРАМ писал(а):Размер стартапа столь мал, а содержимое в части имен обработчиков столь очевидно, что не требуется знать АСМ от слова совсем.

Да понятно-понятно. Великий и всезнающий КРАМ сам не знает где в ST-HAL посмотреть базовую информацию, и потому предлагает чуть ли не результирующий файл дизассемблировать. Вот это я понимаю, антиреклама HAL! Сначала назваться профессионалом, втереться в доверие, а потом утверждать, что нормального решения простейшей задачи не существует, и надо обязательно извращаться.
КРАМ писал(а):
Учитывая, сколько бесполезного текста вы написали вместо ответа на вопрос о совмещении разных таймеров, даже не буду спрашивать, ради чьего удобства предлагаете вот это извращение.

Не вашего - точно.
То есть ответа так и не будет...

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 15:01:44

Векторов там 60 штук, причем сам NVIC поддерживает куда больше. Плюс еще 7 помечены как reserved.

Это вы серьезно???!!!!1111 :))) :))) :)))
Уже даже и не очень то смешно. Это примерно тоже, что утверждать, что размер ОЗУ ограничен только разрядностью шины адреса...
То есть вы всерьез уверены, что куча разных вендоров тупа до безобразия против COKPOWEHEU&Co и не понимает, что лучше всего и побольше? У кого тут надут ЧСВ, милейший?
КРАМ писал(а):В каком STM32 сие наблюдается? Мне лично ни разу не попадалось.

Вы спрашиваете в каком stm32 наблюдается следование вашим противоестественным фантазиям? Мне-то откуда знать, это же ваши фантазии смешивать в одном векторе разную периферию.

Ну то есть с ответа тихо съехали, обнаружив, что бездарно перепутали реквесты ДМА с векторами прерываний... Нучобывает... :)))
Да понятно-понятно. Великий и всезнающий КРАМ сам не знает где в ST-HAL посмотреть базовую информацию

То есть стартапа в проекте с HAL не существует? :dont_know: Или просто нужно поболтать ерундой?
То есть ответа так и не будет...

Так я уже ответил. Причем с самого начала. Повторю для непонятливых. Первый таймер дает возможность выровнять латентность обработчиков по разным флагам для приложений с критически важными временными диаграммами.
Или у вас нет сигнальных проектов? :dont_know:

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 15:09:48

COKPOWEHEU писал(а):открыть документацию и посмотреть таблицу кажется настолько страшным?!
не столько страшным, сколько представляется не обязательным, если надеяться на помощь тех, кто уже знает.
COKPOWEHEU писал(а):с появлением более мощного камня захочется и более сложные задачи ему поручать
в одной из других тем я озвучивал своё мнение о том, откуда берутся большие камни и для чего. мнение это пока не поколеблено ничем и никем. учитывая, насколько просто сегодня можно решать сложные вещи на компьютере, я ожидаю близкого подобия и для больших камней - задачи мои, как были примитивными, так и останутся наверняка. но, если для отправки почтового сообщения на AVR мне требуется огромная куча усилий, то на ARM я ожидаю чего-то близкого к такому:
1. подключили какой-то модуль
2. вызываем функцию, которой передаем адрес "кому", тему письма и указатель на буфер с письмом
3. всё.
если это не реализовано на уровне "встроенных в IDE" (утрирую, не ругайтесь) возможностей - нафига мне тот ARM сдался?! гемороя я могу поиметь и с AVR, да и вообще по жизни хватает.
COKPOWEHEU писал(а):А переучиваться с графических конфигурялок на человеческое программирование зачастую оказывается сложнее, чем учиться с нуля.
это вряд ли, учитывая дружелюбие профессионалов, которые всегда готовы прийти на помощь :))) пока я ковыряюсь с тем, где там этот злосчастный обработчик прерывания ТИМ1 в HAL-е запрятан, я попутно узнаю много интересного о регистрах, функциях и т.п. так что если вдруг приспичит лезть в регистры, я к тому времени уже буду не совсем нулем, и справлюсь как-нибудь. хотя манера разделять документацию на стопицот файлов меня не воодушевляет, но уж более-менее читать по аглицки я умею...

Добавлено after 5 minutes 59 seconds:
и вообще, я тут подумал, что знаю ответ на вопрос почему у нас самые крутые программисты, а 99% программного обеспечения сделано не ими? потому, что у нас 99% желающих научиться чему-либо сразу бьют в лоб заявлениями "пока не научишься в голове из семиричной системы переводить в девятеричную, программистом не станешь, и даже не приставай", а у них каждому желающему сразу говорят "ты это можешь! вот прямо сейчас и можешь - бери вот это и это, соединяй так и этак, и получишь результат". и пофиг, что "это" и "это" - графические системы с нулем кода, написанного вручную - все мышкой наделано.
те, кто стал программистом на таких условиях, на форумах даёт конкретные ответы, а не объясняет, почему автор вопроса мудак. ну и программы такими людьми создаются проще и быстрее, чем из-под кровавых слез российских программистов...

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 15:15:59

на ARM я ожидаю чего-то близкого к такому:
1. подключили какой-то модуль
2. вызываем функцию, которой передаем адрес "кому", тему письма и указатель на буфер с письмом
3. всё....

Это формулировка задачи для ОС общего назначения, а не для контроллера реального времени.
Передача такого письма в Кортексе потребует бОльших усилий хотя бы по причине бОльших возможностей периферии и более сложной архитектуры.
Вы неверно сделали выбор.

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 15:52:04

ну что, господа профессиональные гуру, от вас ровно 0% пользы для начинающего, ибо вы все хором и соло твердили мне, что невозможно использовать отладку в кубе с моим устаревшим st-link... а я таки запустил отладку!
Изображение
если кому-то из начинающих будет интересно, как я это сделал, не спрашивайте здесь - пишите мне в ЛС.

понятное дело, это не очень разумное решение, просто от безысходности - чтобы не простаивать тот месяц, пока с алика придет "нормальный" ST-Link V2.

кстати, для любителей отлаживать в командной строке: посмотрите на скриншот - это я просто навел курсор на переменную в коде во время остановки на брейкпоинте. повторяю: просто навел, даже не нажимал!
Вложения
arm-dbg.png
(81.68 KiB) Скачиваний: 233

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 15:53:42

КРАМ, размер ОЗУ ограничен исключительно шиной данных и карманом заказчика. Как и количество векторов прерывания ограничено карманом заказчика. Хотим дешевые микроконтроллеры — приходится экономить на мультиплексорах. То-то G0 значительно дороже, чем F0, т.к. много лишних мультиплексоров появилось. А фактически лично для меня плюс лишь в том, что те несчастные 7 каналов DMA, что есть в G070 (а в G030 их вообще 5 всего) можно переключить между периферией (когда каналы жестко привязаны, бывает так, что тебе приходится выбирать: либо на SPI DMA повесить, либо на USART). В остальном - ну, скажем, аппаратный модбас, но это говнище вообще нужно каленым железом изгонять и чмырить всех дебилов, которые в новые разработки модбас суют! Короче, прямо таких супер-пупер преимуществ у G над F нет. А, учитывая разницу в цене, ну их вообще нафиг (G с USB стоят, как F407 или F303)!!!

P.S. Вчера бился с записью в I2C через DMA, пока не получилось. Сегодня попробую чтение из I2C посредством DMA. Странно, что счетчик CNDTR уходит в нуль, однако, прерывание по окончанию передачи не вызывается (что-то насчет этого я в мануале читал). И, судя по отсутствию реакции "той" стороны, не генерируется сигнал STOP, хотя про это ничего в мануале нет (у F103 хоть явно писали, что по окончанию передачи нужно явно STOP забульбенить в прерывании DMA TC).

Добавлено after 45 seconds:
ARV, хреновый ты начинающий: начинающий начинает с чтения даташита и мануала! А путь абдуринщика — это не про нас!

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 16:09:05

Eddy_Em писал(а):хреновый ты начинающий
ну, что на наших форумах всем, кто задаёт вопросы, объясняют, что он мудак, это я давно знал. алаверды: хреновый ты гуру, раз начинающему помочь не можешь!

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 16:19:26

размер ОЗУ ограничен исключительно шиной данных и карманом заказчика. Как и количество векторов прерывания ограничено карманом заказчика.

Не важно чем что ограничено. Разговор был не о причинах, а о факте. Можно предположить, что купленные у сторонних разработчиков IP-блоки не позволяют реализовать все формальные ресурсы адресного пространства. Это касается и IVT, и ОЗУ. и флеша, и реквестов ДМА...
А другие IP-блоки не влазят в код чипа...
Устраивает такое предположение?
Меня удивляет другое, как вполне грамотные люди начинают рассуждать о том, какие тупые разработчики той элементной базы, которой они пользуются...? Гомерически смешно.

Добавлено after 2 minutes 59 seconds:
начинающему помочь не можешь!

Других гуру начинающему не завезли. Есть такое подозрение, что на более качественных у начинающего просто нет денег... :)

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 16:39:04

ARV, я и не собираюсь помогать тем, кто не принимает помощь.
Меня удивляет другое, как вполне грамотные люди начинают рассуждать о том, какие тупые разработчики той элементной базы, которой они пользуются...?

А что, местами там такие финты встречаются… Но в-основном, да, все более-менее грамотно. И errata с каждой новой серией все тоньше и тоньше. Вон, на том же F103 такую гору кода надо было для I2C написать… Правда, в более поздних моделях тоже немало, но поменьше. А хотелось бы вообще откинуть в один 32-битный регистр адрес регистра I2C и количество бит адреса (8 или 16), в другой — адрес устройства и количество бит адреса, указать DMA буфер с данными, да и запустить себе чтение N байт из данного регистра, не прибегая к этим адовым портянкам (ну, хоть не как в F103: там для одного байта - одно, для двух - другое, для N<255 - третье, в остальном случае - четвертое).
Блин, DMA на чтение I2C тоже чего-то работать не хочет. Читаю дальше мануал. Хотя казалось бы: ведь здесь даже без стоп-бита все равно данные в буфере должны были быть, а их нет. Эх, завтра притащу с работы осцилл. ХЗ, зачем я его туда утаскивал (там и "стационарных" пара штук есть).

на более качественных у начинающего просто нет денег

Смотря что "более качественными" называть. Калокуберов что-ли, которые убогие ролики на тытрубе выкладывают? Ну, это ж днище! А реальных гуру он слушать не будет, т.к. не хочет читать документацию.

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 16:45:15

Это примерно тоже, что утверждать, что размер ОЗУ ограничен только разрядностью шины адреса...

То есть для вас разницы в адресации ОЗУ (которое еще реализовать вообще-то надо на кристалле) и векторов прерываний (для которых достаточно выделить полторы ячейки флеша), не существует. Знаете, с каждым вашим словом я все больше и больше разочаровываюсь в вашей компетенции.
КРАМ писал(а):У кого тут надут ЧСВ, милейший?

Пока что кажется, что у вас.
КРАМ писал(а):То есть стартапа в проекте с HAL не существует?

Иначе говоря, вы не знаете где запрошенную информацию посмотреть по-человечески, но вместо того чтобы прямо об этом сказать пытаетесь с умным видом нести чушь.
КРАМ писал(а):Так я уже ответил. Причем с самого начала. Повторю для непонятливых. Первый таймер дает возможность выровнять латентность обработчиков по разным флагам для приложений с критически важными временными диаграммами.
Или у вас нет сигнальных проектов?

И еще многабукаф не по теме.
Повторяю, вопрос был не в том зачем TIM1 выделили аж 4 вектора - с этим-то все очевидно. А почему его вектора объединили с другими таймерами. А еще точнее, что я-то знаю ответ, потому и назвал такое решение костыльным. А вот для вас оно либо выглядит единственно верным (хотя учитывая ваше же предложение объединять в одном векторе различную периферию, это уже не столь удивительно).
ARV писал(а):хотя манера разделять документацию на стопицот файлов меня не воодушевляет

Всего два: даташит и рефман. Есть, конечно, более подробные описания отдельно для ядра, особенностей периферии и т.п., но это уже опционально.
ARV писал(а):в одной из других тем я озвучивал своё мнение о том, откуда берутся большие камни и для чего. мнение это пока не поколеблено ничем и никем.

Да я и не пытаюсь вас в чем-то переубедить. Собственно, недостатки своего подхода я и сам вижу. Но лично в моем случае преимущества перевешивают. А уж какой подход ближе вам, вы же и решайте.
Eddy_Em писал(а):Как и количество векторов прерывания ограничено карманом заказчика.

В том-то и дело, что увеличить количество векторов куда дешевле, чем память. Если, конечно, забыть о совместимости, о чем КРАМ, очевидно, не знает.
Eddy_Em писал(а):ARV, хреновый ты начинающий: начинающий начинает с чтения даташита и мануала!

Нет.
Минимальный стартап только на основании даташита и рефмана не собрать, тем более начинающему.
А начинать стоит с минимального стороннего примера, который точно компилируется и работает. Его разобрать, понять какая строчка зачем нужна, и собрать обратно по-своему, для проверки. А дальше уже можно либо "вширь" - не трогая инициализацию и прочее, осваивать периферию и алгоритмы, либо "вглубь" - ковырять ассемблер и недра контроллера.
Разумеется, ST-HAL для этого не годится: в нем посинеешь быстрее, чем разберешься что и зачем они накрутили и почему одни и те же байты передаются между тремя функциями без каких-либо изменений.
ARV писал(а):хреновый ты гуру, раз начинающему помочь не можешь!

То, что вы изначально не собираетесь возможной помощью от Eddy_Em или меня, вы сказали прямым текстом и повторяете при каждой попытке помочь. Чего вы еще ожидаете-то? Что мы выбросим нормальный рабочий код и кинемся изучать ST-HAL что ли?! Так это признак не гуру, а мазохиста.
КРАМ писал(а):Можно предположить, что купленные у сторонних разработчиков IP-блоки не позволяют реализовать все формальные ресурсы адресного пространства. Это касается и IVT, и ОЗУ.

Ага, не позволяют использовать больше 53 векторов. Это насколько надо упороться чтобы встроить именно такое ограничение?
КРАМ писал(а):Меня удивляет другое, как вполне грамотные люди начинают рассуждать о том, какие тупые разработчики той элементной базы, которой они пользуются...?

Еще смешнее, когда их пытается критиковать человек, даже не попытавшийся в теме разобраться.
КРАМ писал(а):Других гуру начинающему не завезли. Есть такое подозрение, что на более качественных у начинающего просто нет денег...

Хотите сказать, что на платных курсах расскажут что-то более осмысленное, чем мантры "тыкаем в ST-HAL туда, тыкаем сюда, фигак-фигак, оно работает"? Ох сомневаюсь

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 16:52:39

Eddy_Em писал(а):я и не собираюсь помогать тем, кто не принимает помощь
твоя помощь заключается в том, что всех, кто отличается от тебя, ты называешь всякими непотребными словами, инструменты, отличные от твоих - говном, операционку, отличную от твоей - убожеством?

вот как знаток gdb ты мог бы подсказать, что для отладки мне надо воспользоваться режимом удаленной отладки с "сервером", запущенным на локалхосте... но ты этого не сделал, и мне пришлось самому до этого доходить.
КРАМ писал(а):на более качественных у начинающего просто нет денег...
вы уже решили сегрегировать людей по количеству денег у них в кармане? остальные способы унижений вы исчерпали?
COKPOWEHEU писал(а):Чего вы еще ожидаете-то? Что мы выбросим нормальный рабочий код и кинемся изучать ST-HAL что ли?!
а разве я не русским языком написал свой вопрос: меня интересует HAL и CubeMX (или CubeIDE, второе включает первое)? если вы не разбираетесь в HAL, можете просто промолчать, а не начинать учить меня жизни. хотя если уж кое-кто считает допустимым прямо говном меня поливать, то вам с вашими скромными нравоучениями и подавно можно...

я ожидаю адекватной помощи: если я спрашиваю, как не разбить голову при ударе о бетонную плиту, не надо рассказывать, что нормальные люди головой о бетон не бьются, что есть отбойные молотки и т.п. специально обученные тибетские монахи - или посоветуйте каску, или пройдите мимо. вот это адекватное поведение. а все прочее - расчесывание ЧСВ.

Re: STM32 новичку в ARM что к чему

Вс янв 08, 2023 16:57:35

если кому-то из начинающих будет интересно, как я это сделал, не спрашивайте здесь - пишите мне в ЛС.
А чё так? Почувствовав себя гуру 1 lvl сразу на остальных плевать можно? Что тогда о гуру 80 lvl говорить.

И да, тоже мне секрет - GDB Server запустить.
Ответить