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

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

Вт июн 22, 2021 11:01:54

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;
}
многим точечки удобнее стрелочек :)))

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

Вт июн 22, 2021 11:51:22

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

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

Вт июн 22, 2021 14:57:07

Кто может помочь?
Купил девбоард STM32MP157A-DK1.
Как правильно подключить LRCLK и MCLK на I2S к STM32MP157?
Всем спасибо, кто откликнется.


Ребята, кто может помочь?

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

Ср июн 23, 2021 07:45:08

Валяется у меня один блюпил прошитый под stlink!(прошил когда-то т.к. китайский свисток сгорел а надо было чем-то шить) времена тяжёлые пришли хотел его стереть а хрен там залочен! даже просто стереть не дает пробовал много чем... кто знает как стереть?
Fahrenheite, https://narodstream.ru/programmirovanie-mk-stm32/ есть много инфы или тут http://we.easyelectronics.ru/STM32/stm3 ... tenko.html

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

Ср июн 23, 2021 08:37:30

Снять защиту на запись. Я несколько раз лочил контроллеры, потом восстанавливал.
stm32flash -k /dev/ttyUSB0

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

Ср июн 23, 2021 09:11:37

Спасибо родил уже в STM32 ST-LINK Utility в меню Option Bytes но тока через swd а я то через uart терзал...

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

Ср июн 23, 2021 16:00:51

do-vitas, у него игрушка не для начинающих, начинающим на ней разве что готовые продукты юзать. что залил, от того описание и курить.

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

Пн июн 28, 2021 16:18:00

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

Есть вот такие объявления струкур в сандартном заголовочном файле:
Код:
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 битные такие. Или это не правильно?

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

Пн июн 28, 2021 16:43:52

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

Кстати, у F103 в CRH используется лишь 3 младших бита, а в CRL - 5! В общем, правильней было бы эту структуру под F103 несколько иначе расписать (еще и с битовыми полями)...

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

Пн июн 28, 2021 16:55:07

Спасибо. )

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

Пн июн 28, 2021 22:22:36

Это два фрагмента 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;


Если не знать, что это на одном устройстве, то можно было бы сказать, что один блок с тупоконечной, а другой с остроконечной платформы. Как и с какого перепугу они в таком виде на одном устройстве оказались? Дичь какая-то.

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

Пн июн 28, 2021 23:06:39

Не понимаю вопроса... Тут же вроде указаны две разные структуры, относящиеся к разным блоком контроллера. И что означает тупоконечная и остроконечная платформа?

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

Вт июн 29, 2021 00:30:02

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

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

Вт июн 29, 2021 09:30:30

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

Код:

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;




То что перевернуты старшие и младшие регистры?

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

Ср июн 30, 2021 00:13:39

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


Ну и да. Странно видеть в 32-разрядном МК 32-рарядный счетчик, где 16-битные его половинки не лежат вместе. Вообще оно-малия -- шестнадцатибитная периферия неродной оконечности.

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

Ср июн 30, 2021 00:26:39

В 32-битном МК могут быть не 32-битные шины к периферии. По разным причинам.

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

Ср июн 30, 2021 10:46:06

Ну и да. Странно видеть в 32-разрядном МК 32-рарядный счетчик, где 16-битные его половинки не лежат вместе.

А как вам буферы для USB, где ВЕСЬ буфер 16-битный, но доступ из кода как будто 32-битный. То есть с точки зрения кода там постоянно чередуются 16-битные данные - 16-битная дырка.

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

Ср июн 30, 2021 11:36:03

COKPOWEHEU, никак, разработчики МК принимали жестокую дурь!

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

Ср июн 30, 2021 13:22:08

Eddy_Em, Да вы-то знаете, конечно. И про наркоманский EPnR тоже.

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

Чт июл 01, 2021 18:40:08

В 32-битном МК могут быть не 32-битные шины к периферии. По разным причинам.

В жизни все может быть, но где тут "не 32-битные шины к периферии" я не вижу.

Изображение
Вложения
2021-07-01_183754.jpg
(88.81 KiB) Скачиваний: 320
Ответить