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

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

Вт ноя 15, 2022 21:50:09

VladislavS, и Eddy_Em, у мну не получается, не то не другое.
Что там может не получаться? Вместо стартап.s в проект добавить стартап.с. Что тут сложного то?

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

Вт ноя 15, 2022 21:53:22

У вас нет f030, f071 есть.

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

Вт ноя 15, 2022 22:02:10

Dimon456, вот под F030. Там же директории: Servo, Chiller, QuadEncoder, uart_blink, uart_blink_dma. И здесь. Я тогда еще USB не раскурил, да и как-то казалось кощунственным ради пары шаговиков F072 пихать, когда хватит и F030 (который тогда стоил 30 рублей, а F072 - 60).

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

Вт ноя 15, 2022 22:12:56

У вас нет f030, f071 есть.
Я же говорил, отличается только списком векторов прерываний.
startup_iar_gcc_keil_stm32f030xc.c
STM32F030CC_flash.lds
STM32F030CC_sram.lds

Проверить в вашей версии CMSIS в файле cmsis_gcc.h определение
Код:
#define __VECTOR_TABLE_ATTRIBUTE  __attribute__((used, section(".vectors")))
Если это не так, то либо свежий CMSIS скачать, либо в линкерскриптах поправить имя секции с векторами.

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

Вт ноя 15, 2022 22:25:30

VladislavS писал(а):Проверить в вашей версии CMSIS в файле cmsis_gcc.h
у меня этого файла нет, даже поиском не нахожу.

Вам, VladislavS, Eddy_Em, мой проект скинуть полностью?

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

Ср ноя 16, 2022 08:42:49

у меня этого файла нет, даже поиском не нахожу.
Так не бывает. Вот состав CMSIS/Core/Include/ Без этого ни один заголовочный файл от stm32 не собирается.

Вам, VladislavS, Eddy_Em, мой проект скинуть полностью?
Зачем?

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

Ср ноя 16, 2022 09:11:32

VladislavS, эти файлы (cmsis_compiler.h и cmsis_gcc.h) нужны только под F4. У меня в дереве инклюдов под F0 и F1 их даже нет за ненадобностью.
Вот когда таки решусь перейти на единые инклюды для всех моделей (в принципе, уже практически все есть, нужно лишь аккуратно собрать в одну кучу), то будут и они…

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

Ср ноя 16, 2022 09:15:17

VladislavS, вот весь список
СпойлерИзображение

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

Ср ноя 16, 2022 09:21:23

Dimon456, у тебя жесть какая-то в дереве инклюдов. Это же SPL гребаный!
Вот все, что нужно под F0:
Код:
core_cm0.h
core_cmFunc.h
core_cmInstr.h
stm32f030x6.h
stm32f030x8.h
stm32f030xc.h
stm32f0.h
stm32f0xx.h
vector.h

Ну и линкер со стартапом.
P.S. Причем, stm32f0.h является тупо оболочкой, которая в зависимости от твоих дефайнов подключает нужный stm32f030xxx.
А еще, если покопаться, можно все stm32f030xxx в один файл свести, используя ifdef'ы.

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

Ср ноя 16, 2022 09:42:37

Dimon456, Eddy_Em, вы прикалываетесь? Пользуйтесь актуальной версией CMSIS.
Изображение
Изображение

Спойлер
изображение_2022-11-16_093848624.png
(16.66 KiB) Скачиваний: 287
изображение_2022-11-16_094026533.png
(11.49 KiB) Скачиваний: 288

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

Ср ноя 16, 2022 10:00:28

VladislavS, в cmsis_gcc.h объявлены абсолютно те же самые макросы, что и в core_cmInstr.h. Так что, этот заголовочник вообще нигде не нужен!
P.S. Даже CMSIS 2002 года вполне себе актуален. Что там может быть в новых заголовочниках эдакого нужного? Абсолютно ничего!

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

Ср ноя 16, 2022 10:16:14

Что там может быть в новых заголовочниках эдакого нужного?
Я вот макрос __VECTOR_TABLE_ATTRIBUTE использую. Да мало ли что они там ещё за 10 лет исправили. Если интересено, можешь сравнить сам. У меня более интересные дела найдутся.

Абсолютно ничего!
Я больше доверяю разрабочикам ARM.

PS: А зачем ты их вообще подключаешь, если там ничего нужного? :dont_know:

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

Ср ноя 16, 2022 11:08:49

__VECTOR_TABLE_ATTRIBUTE

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

Потому что лень поковыряться и "причесать" нужные CMSIS заголовочники.
Из всей той толпы макросов у меня разве что DSB() иногда использовалось. Ну, возможно, еще иной раз можно воспользоваться "реверсом" битов, подсчетом количества первых нулевых или преобразованием little/big endian.

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

Ср ноя 16, 2022 11:14:24

Ну, мне-то это нафиг не нужно
Другого я и не ожидал. Ну а мне пофиг, что тебе пофиг! :)))

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

Ср ноя 16, 2022 11:17:37

Ну вот и поговорили =D

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

Ср ноя 16, 2022 18:16:12

VladislavS писал(а):Dimon456, Eddy_Em, вы прикалываетесь? Пользуйтесь актуальной версией CMSIS.
Добавил 3 файлика, cmsis_compiler.h cmsis_gcc.h и startup_stm32f0xx.c
Проект собирается но с 0 (нулем)
Код:
Program Size:
      text      data       bss       dec       hex   filename
         0         0         0         0         0   rnd_f030.elf
и сам бинарник bin для прошивки то же равен 0 байт.
Вот настройки компилятора и линкера
СпойлерИзображение Изображение

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

Ср ноя 16, 2022 19:06:18

Ну вот же! Идеальная прошивка! :)

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

Ср ноя 16, 2022 19:44:26

А я то думал, что идеальной прошивки не существует, оказывается вот она, есть.

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

Ср ноя 16, 2022 21:30:16

Если автору нужно получить генерацию случайных чисел на основе чтения SRAM, то "случайность" там так себе.
Мне тоже кажется идея "так себе", но пусть попробует. .

Кстати, сам решил попробовать читать. Ну как бы результат нестабильный и не всегда случайный, зачастую имеет явную периодичность даже в одном и том же алгоритме, но в разное время. Причем, эта закономерность прослеживается безотносительно алгоритма, как бы ты не извращался с преобразованиями. В общем, имеет склонность к зацикливанию при увеличении числа итераций или кол-ва генерируемых чисел.
Изображение Изображение Изображение
Для вычисления следующего адреса ОЗУ я использовал относительное смещение на величину, полученную чтением текущего адреса и взятием из него последовательных 8 бит, начиная с позиции, указанной в текущем адресе в диапазоне 0 ... 16. Таким образом, адрес следующего числа будет находиться в диапазоне +127 ... -128. И берется несколько таких итераций. Если в процессе работы будет достигнута граница разрешенной области памяти, адрес вернется к середине диапазона. Внутри ф-ции адрес объявлен статическим, то есть при следующей генерации числа он берется от предыдущего раза.

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

Чт ноя 17, 2022 08:41:38

К чему это всё? Достаточно один раз при старте где-то взять случайное число для инициализации библиотечного генератора.
Ответить