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

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18673
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

COKPOWEHEU писал(а):Вот например как можно организовать порты для ATmega8
а если добавить одну звездочку, то можно вместо -> использовать точку :)))

Код: Выделить всё

#define GPIOB (*(volatile GPIO*)(0x0036))
#define GPIOC (*(volatile GPIO*)(0x0033))
#define GPIOD (*(volatile GPIO*)(0x0030))

int main(){
  GPIOB.DDR = 1;
  GPIOB.PORT = 2;
  GPIOB.PIN = 3;
}
многим точечки удобнее стрелочек :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

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

Сообщение COKPOWEHEU »

В stm32 используются стрелочки, я на него похожим делал чтобы СКАЗОЧНИК'у проще было понять принцип.
А для практического применения в AVR это просто не нужно, да и не всегда возможно. Вон UART распилили на несколько частей с дыркой посередине.
Реклама
Fahrenheite
Родился
Сообщения: 2
Зарегистрирован: Чт июн 17, 2021 19:04:29

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

Сообщение Fahrenheite »

[uquote="Fahrenheite",url="/forum/viewtopic.php?p=4048939#p4048939"]Кто может помочь?
Купил девбоард STM32MP157A-DK1.
Как правильно подключить LRCLK и MCLK на I2S к STM32MP157?
Всем спасибо, кто откликнется.[/uquote]

Ребята, кто может помочь?
Аватара пользователя
do-vitas
Потрогал лапой паяльник
Сообщения: 363
Зарегистрирован: Вс мар 03, 2019 08:18:34
Откуда: Волгоград

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

Сообщение do-vitas »

Валяется у меня один блюпил прошитый под stlink!(прошил когда-то т.к. китайский свисток сгорел а надо было чем-то шить) времена тяжёлые пришли хотел его стереть а хрен там залочен! даже просто стереть не дает пробовал много чем... кто знает как стереть?
Fahrenheite, https://narodstream.ru/programmirovanie-mk-stm32/ есть много инфы или тут http://we.easyelectronics.ru/STM32/stm3 ... tenko.html
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

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

Сообщение COKPOWEHEU »

Снять защиту на запись. Я несколько раз лочил контроллеры, потом восстанавливал.
stm32flash -k /dev/ttyUSB0
Реклама
Аватара пользователя
do-vitas
Потрогал лапой паяльник
Сообщения: 363
Зарегистрирован: Вс мар 03, 2019 08:18:34
Откуда: Волгоград

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

Сообщение do-vitas »

Спасибо родил уже в STM32 ST-LINK Utility в меню Option Bytes но тока через swd а я то через uart терзал...
Реклама
a797945
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

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

Сообщение a797945 »

do-vitas, у него игрушка не для начинающих, начинающим на ней разве что готовые продукты юзать. что залил, от того описание и курить.
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

Мужики, а подскажите мне еще чуток. )

Есть вот такие объявления струкур в сандартном заголовочном файле:

Код: Выделить всё

typedef struct
{
  __IO uint16_t CRH;
  uint16_t  RESERVED0;
  __IO uint16_t CRL;
  uint16_t  RESERVED1;
  __IO uint16_t PRLH;
  uint16_t  RESERVED2;
  __IO uint16_t PRLL;
  uint16_t  RESERVED3;
  __IO uint16_t DIVH;
  uint16_t  RESERVED4;
  __IO uint16_t DIVL;
  uint16_t  RESERVED5;
  __IO uint16_t CNTH;
  uint16_t  RESERVED6;
  __IO uint16_t CNTL;
  uint16_t  RESERVED7;
  __IO uint16_t ALRH;
  uint16_t  RESERVED8;
  __IO uint16_t ALRL;
  uint16_t  RESERVED9;
} RTC_TypeDef;
Правильно я понимаю, чо uint16_t RESERVED7; это заглушки? Есть и 32 битные такие. Или это не правильно?
Станислав
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

СКАЗОЧНИК, правильно. В RM есть картинка распределения этих регистров в памяти. И вместо того, чтобы сделать их 32-битными, ST использовали только младшие 2 байта, а старшие типа на будущее зарезервировали, поэтому и нужны заглушки, чтобы не обращаться к регистру как к 32-битному. Хотя, сдается мне, что пока если не писать в старшую половину, легко можно переделать это так:

Код: Выделить всё

ypedef struct
{
  __IO uint32_t CRH;
  __IO uint32_t CRL;
...
Кстати, у F103 в CRH используется лишь 3 младших бита, а в CRL - 5! В общем, правильней было бы эту структуру под F103 несколько иначе расписать (еще и с битовыми полями)...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

Спасибо. )
Станислав
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

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

Сообщение a5021 »

Это два фрагмента stm32f103xb.h
Что вы тут видите?

Код: Выделить всё

typedef struct
{
  __IO uint32_t CRL;
  __IO uint32_t CRH;
  __IO uint32_t IDR;
  __IO uint32_t ODR;
  __IO uint32_t BSRR;
  __IO uint32_t BRR;
  __IO uint32_t LCKR;
} GPIO_TypeDef;
...
typedef struct
{
  __IO uint32_t CRH;
  __IO uint32_t CRL;
  __IO uint32_t PRLH;
  __IO uint32_t PRLL;
  __IO uint32_t DIVH;
  __IO uint32_t DIVL;
  __IO uint32_t CNTH;
  __IO uint32_t CNTL;
  __IO uint32_t ALRH;
  __IO uint32_t ALRL;
} RTC_TypeDef;

Если не знать, что это на одном устройстве, то можно было бы сказать, что один блок с тупоконечной, а другой с остроконечной платформы. Как и с какого перепугу они в таком виде на одном устройстве оказались? Дичь какая-то.
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

Не понимаю вопроса... Тут же вроде указаны две разные структуры, относящиеся к разным блоком контроллера. И что означает тупоконечная и остроконечная платформа?
Станислав
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

СКАЗОЧНИК, тупоконечная - big endian (многие армы, кстати, умеют "в оба конца"), остроконечная - "little endian" (подавляющее большинство процессоров и МК). Та же структура для тупоконечных выглядела бы так:

Код: Выделить всё

typedef struct
{
  uint16_t  RESERVED0;
  __IO uint16_t CRH;
  uint16_t  RESERVED1;
  __IO uint16_t CRL;
...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
СКАЗОЧНИК
Идёт направо - песнь заводит, Налево - сказку говорит.
Сообщения: 5000
Зарегистрирован: Чт апр 21, 2011 17:55:50
Откуда: Иркутск

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

Сообщение СКАЗОЧНИК »

Вы в частности про эти строки говорите?

Код: Выделить всё


typedef struct
{
  __IO uint32_t CRL;
  __IO uint32_t CRH;
.....
} GPIO_TypeDef;
...
typedef struct
{
  __IO uint32_t CRH;
  __IO uint32_t CRL;
 __IO uint32_t PRLH;
  __IO uint32_t PRLL;
  __IO uint32_t DIVH;
  __IO uint32_t DIVL;
  __IO uint32_t CNTH;
  __IO uint32_t CNTL;
  __IO uint32_t ALRH;
  __IO uint32_t ALRL;
} RTC_TypeDef;


То что перевернуты старшие и младшие регистры?
Станислав
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

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

Сообщение a5021 »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4053788#p4053788"]СКАЗОЧНИК, тупоконечная - big endian (многие армы, кстати, умеют "в оба конца"), остроконечная - "little endian" (подавляющее большинство процессоров и МК). Та же структура для тупоконечных выглядела бы так:

Код: Выделить всё

typedef struct
{
  uint16_t  RESERVED0;
  __IO uint16_t CRH;
  uint16_t  RESERVED1;
  __IO uint16_t CRL;
...
[/uquote]

Ну и да. Странно видеть в 32-разрядном МК 32-рарядный счетчик, где 16-битные его половинки не лежат вместе. Вообще оно-малия -- шестнадцатибитная периферия неродной оконечности.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

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

Сообщение VladislavS »

В 32-битном МК могут быть не 32-битные шины к периферии. По разным причинам.
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

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

Сообщение COKPOWEHEU »

[uquote="a5021",url="/forum/viewtopic.php?p=4054368#p4054368"]Ну и да. Странно видеть в 32-разрядном МК 32-рарядный счетчик, где 16-битные его половинки не лежат вместе.[/uquote]
А как вам буферы для USB, где ВЕСЬ буфер 16-битный, но доступ из кода как будто 32-битный. То есть с точки зрения кода там постоянно чередуются 16-битные данные - 16-битная дырка.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

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

Сообщение Eddy_Em »

COKPOWEHEU, никак, разработчики МК принимали жестокую дурь!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
COKPOWEHEU
Говорящий с текстолитом
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

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

Сообщение COKPOWEHEU »

Eddy_Em, Да вы-то знаете, конечно. И про наркоманский EPnR тоже.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

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

Сообщение a5021 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4054370#p4054370"]В 32-битном МК могут быть не 32-битные шины к периферии. По разным причинам.[/uquote]
В жизни все может быть, но где тут "не 32-битные шины к периферии" я не вижу.

Изображение
Вложения
2021-07-01_183754.jpg
(88.81 КБ) 470 скачиваний
Ответить

Вернуться в «ARM»