реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Перешел на STM, какой инструментарий?
Эдди
сообщение Mar 9 2016, 20:48
Сообщение #16


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата
нет ли бесплатного софта для STM32 без макросов с самым очевидным вариантом доступа к регистрам и портам мк, например

gcc. Голый. Вообще без библиотек.
Go to the top of the page
 
+Quote Post
m.c.t.Maks
сообщение Mar 10 2016, 03:56
Сообщение #17





Группа: Участник
Сообщений: 7
Регистрация: 10-09-13
Пользователь №: 78 254



Цитата(arhiv6 @ Feb 25 2016, 15:42) *
m.c.t.Maks, а Em.Bitz под Linux есть или оно Windows-only?


к сожалению нет, пробовал запускать под WINE. код писать можно, компилить тоже, но не запускается отладка (не запускается gdb сервер).
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Mar 10 2016, 04:40
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(addi II @ Mar 9 2016, 23:18) *
с самым очевидным вариантом доступа к регистрам и портам мк, например
DDRA = 0x01020304 , PORTA = 0x01020304
Заранее благодарен!


У STM32 в разы больше регистров порта чем было у AVR. Что бы всё помнить, ума нужно больше. Поэтому ПО и снабжается дополнительными оболочками в виде библиотек с макросами.

"раньше у меня были волокуши, и для их ремонта мне хватало молотка и гвоздодёра. Теперь решил купить машину, но обнаружил, что инструментов для её обслуживания нужно на много больше. Подскажите такую марку машины, для обслуживания которой будет хватать тех инструментов, к которым я привык"


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
uriy
сообщение Mar 10 2016, 05:08
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
Подскажите пож-та нет ли бесплатного софта для STM32 без макросов с самым очевидным вариантом доступа к регистрам и портам мк, например
DDRA = 0x01020304 , PORTA = 0x01020304
А что вам мешает в кококс писать прямо в регистры без макросов?
Go to the top of the page
 
+Quote Post
x893
сообщение Mar 10 2016, 10:14
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Команд таких нет у процессора Cortex что бы по адресу записывать.
Через регистры это делается.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Mar 10 2016, 10:49
Сообщение #21


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(addi II @ Feb 25 2016, 00:37) *
а родного от стм нет?, или гнутого для стм?

Есть Ac6, ака OpenSTM32 на сайте STM.
Eclipse+GCC+GDB
Практически все работает "искаропки", за небольшими исключениями

Кстати, есть версия для Linux и Mac

Времена меняются, корпорации поворачиваются к разработчикам лицом (а не чем было до этого)


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
addi II
сообщение Mar 14 2016, 05:57
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 277
Регистрация: 1-02-16
Пользователь №: 90 294



Цитата(MrYuran @ Mar 10 2016, 11:49) *
Есть Ac6, ака OpenSTM32 на сайте STM.
Eclipse+GCC+GDB
Практически все работает "искаропки", за небольшими исключениями

Кстати, есть версия для Linux и Mac

Времена меняются, корпорации поворачиваются к разработчикам лицом (а не чем было до этого)


Спасибо большое!

Похоже то что надо, создал проект без библиотек но в проекте не нашел никаких заголовочных файлов?(((
Рис в приложении

Цитата(uriy @ Mar 10 2016, 06:08) *
А что вам мешает в кококс писать прямо в регистры без макросов?

Вы имеете ввиду с помощью указателей на физ адрес?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
addi II
сообщение Mar 15 2016, 12:18
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 277
Регистрация: 1-02-16
Пользователь №: 90 294




pls help!
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 15 2016, 12:34
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(addi II @ Mar 14 2016, 11:57) *
Похоже то что надо, создал проект без библиотек но в проекте не нашел никаких заголовочных файлов?(((

И в чём проблема? Открываете даташит на свой МК и пишете эти самые заголовочные файлы.
Вот пример моего файла описания периферии для Tiva (фрагмент файла):
CODE
//CSL for Tiva MCU (TM4C129xxx).
#ifndef CSL_H
#define CSL_H

#ifndef ASMDEF

#define HWREG_MAP(id) __no_init __root __absolute HwRegs##id

//GPIO
typedef struct {
u32 DATA[256]; //Data
u32 DIR; //Direction
u32 IS; //Interrupt Sense
u32 IBE; //Interrupt Both Edges
u32 IEV; //Interrupt Event
u32 IM; //Interrupt Mask
u32 RIS; //Raw Interrupt Status
u32 MIS; //Masked Interrupt Status
u32 ICR; //Interrupt Clear
u32 AFSEL; //Alternate Function Select
u32 unuse0[55];
union {
struct {
u32 DR2R; //2-mA Drive Select
u32 DR4R; //4-mA Drive Select
u32 DR8R; //8-mA Drive Select
};
u32 DRxR[3];
};
u32 ODR; //Open Drain Select
u32 PUR; //Pull-Up Select
u32 PDR; //Pull-Down Select
u32 SLR; //Slew Rate Control Select
u32 DEN; //Digital Enable
u32 LOCK; //Lock
u32 CR; //Commit
u32 AMSEL; //Analog Mode Select
u32 PCTL; //Port Control
u32 ADCCTL; //ADC Control
u32 DMACTL; //DMA Control
u32 SI; //Select Interrupt
u32 DR12R; //12-mA Drive Select
u32 WAKEPEN; //Wake Pin Enable
u32 WAKELVL; //Wake Level
u32 WAKESTAT; //Wake Status
u32 unuse1[669];
u32 PP; //Peripheral Property
u32 PC; //Peripheral Configuration
u32 unuse2[2];
u32 PeriphID[8]; //Peripheral Identification (4-7, 0, 1-3)
u32 CellID0[4]; //PrimeCell Identification
} HwRegsGPIO;

...

#ifdef SHARE_C
#define EXTERN
#else
#define EXTERN extern
#endif

/*****************************************************************************
* REGISTERS MEMORY MAP
****************************************************************************/
EXTERN volatile HWREG_MAP(GPIO) GPIO[15] @ 0x40058000; //привязка к физ.адресам для линкера

...

#undef EXTERN
#endif //ASMDEF

Дальше там описать всю остальную необходимую периферию, вектора прерываний, биты регистров периферии (по желанию) и т.п. по вкусу.
Go to the top of the page
 
+Quote Post
addi II
сообщение Mar 15 2016, 12:38
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 277
Регистрация: 1-02-16
Пользователь №: 90 294



Цитата(jcxz @ Mar 15 2016, 13:34) *
И в чём проблема? Открываете даташит на свой МК и пишете эти самые заголовочные файлы.

не пойму тогда за что хвалят STM, когда как даже заголовочных файлов никакой бесплатный сапр не поставляет?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Mar 15 2016, 12:42
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(addi II @ Mar 15 2016, 18:38) *
не пойму тогда за что хвалят STM, когда как даже заголовочных файлов никакой бесплатный сапр не поставляет?

Скачайте к примеру IAR. Там полно хидеров для разных МК. Но если даташит читать не научитесь, делать в ARM-ах Вам нечего...
Готовые хидеры не освобождают от прочтения даташитов на МК, как думают некоторые недалёкие чайники. А написание своих хидеров, позволяет по ходу дела изучить необходимую периферию.
Go to the top of the page
 
+Quote Post
addi II
сообщение Mar 15 2016, 12:55
Сообщение #27


Местный
***

Группа: Участник
Сообщений: 277
Регистрация: 1-02-16
Пользователь №: 90 294



Цитата(jcxz @ Mar 15 2016, 13:42) *
Скачайте к примеру IAR. Там полно хидеров для разных МК. Но если даташит читать не научитесь, делать в ARM-ах Вам нечего...
Готовые хидеры не освобождают от прочтения даташитов на МК, как думают некоторые недалёкие чайники. А написание своих хидеров, позволяет по ходу дела изучить необходимую периферию.

интересно чем так сильно вас арм превознес, пара доп регисторов управления периферией?
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Mar 15 2016, 17:25
Сообщение #28


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Ээээ, стоп!
Чего это вы парня то так пугаете? Конечно тут все не так автоматизировано как в Atmel studio но и никто целиком все хидеры по даташитам писать не заставляет(вообще не знаю кто это делает в своих проектах)!
Во-первых, для всех ARM Cortex есть некий стандартный набор хидеров, называемый CMSIS. Продвигает это дело сам ARM!
http://www.arm.com/products/processors/cor...ce-standard.php
Т.е. существует CMSIS для STM32, который фирма ST допилила немножечко, чтобы там были все регистры.
Вот об этом на русском.
http://bovs.org/post/89/%D0%A0%D0%B0%D0%B7...%BC%D0%B5%D1%80

Но CMSIS это в основномтолько определения регистров и битов разных + простецкие макросы.

Далее дя STM32 вы можете воспользоваться, на выбор, несколькими библиотеками HAL:
HAL будет состоять из CMSIS плюс готовые драйверы. Например драйвер UART или USB. Или GPIO.. и т.д...
Вы,например, сможите не вникая в регистры открыть порт, указать его скорость и принимать отправлять данные.
Тут у вас 2 варианта(как минимум)
1. STM32Cube http://www.st.com/stm32cube-pr1
Это HAL от ST. Не очень оптимизирован, не очень качественно написан...В основном нацелен на быстрое создание чего-то работающего, без претензий на оптимальность, скорость или экономию ресурсов контроллера. Тем не менее это работает. Вполне себе работат....
Для каждого семейства процов тут предлагается CubeF1 F2 F3 F4 и т.д.
Есть также программка CubeMX, где вы тупо мышкой выбираете переферию которую хотите использовать, видете сразу пины процессора которые будут заняты, переназначаете их если надо и по нажатию кнопки у вас готовый проект с неким минимально работающим примером.
Понтяно, что там используется HAL Сube.
2. OpenSource вариант libopencm3
http://www.libopencm3.org/wiki/Main_Page
Все то-же самое но написано в немного в более толковом виде. Пока не пробовал. Говорят годно. Не знаю на сколько это хороший вариант для новичка. Все-таки под Cube примеры и все дела....

3. Ах да, был еще у ST до Cube вариант standard peripheral library(SPL)
в целом там все вроде как еще было чуть более толково, чем в Cube, но этот вариант уже устаревший и рассматривать его наверно не стоит.


Вам тут конечно насоветовали хороших вариантов разных IDE, все они выполняют свою функцию, но для совсем новичка я бы посоветовал что-нибудь с хорошей готовностью из коробки. Например KEIL 5. Да, это будет вариант "для ознакомления", придется поискать в интернете ознакомлялки ) Это будет не легально и не очень лицензионно, но для начала удобно))))))))))
Тот-же CubeMX создает в один клик проекты для KEIL, которые сразу откомпилятся и будут работать.
В комплекте с платами STM Discovery идут примеры(они кстати входят в Cube) которые в том числе имеют проекты для KEIL которые опять же просто компилятся и работют.



Успехов!
В Интернете куча статей по осваиванию STM32!


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
редактор
сообщение Mar 16 2016, 08:10
Сообщение #29


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



Цитата
Это будет не легально и не очень лицензионно

Есть демоверсия - для ознакомления (со средой или МК) вполне легально.


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
addi II
сообщение Mar 16 2016, 08:57
Сообщение #30


Местный
***

Группа: Участник
Сообщений: 277
Регистрация: 1-02-16
Пользователь №: 90 294



Цитата(sigmaN @ Mar 15 2016, 18:25) *
Ээээ, стоп!
Чего это вы парня то так пугаете? Конечно тут все не так автоматизировано как в Atmel studio но и никто целиком все хидеры по даташитам писать не заставляет(вообще не знаю кто это делает в своих проектах)!
Во-первых, для всех ARM Cortex есть некий стандартный набор хидеров, называемый CMSIS. Продвигает это дело сам ARM!
http://www.arm.com/products/processors/cor...ce-standard.php
Т.е. существует CMSIS для STM32, который фирма ST допилила немножечко, чтобы там были все регистры.
Вот об этом на русском.
http://bovs.org/post/89/%D0%A0%D0%B0%D0%B7...%BC%D0%B5%D1%80

Но CMSIS это в основномтолько определения регистров и битов разных + простецкие макросы.

Далее дя STM32 вы можете воспользоваться, на выбор, несколькими библиотеками HAL:
HAL будет состоять из CMSIS плюс готовые драйверы. Например драйвер UART или USB. Или GPIO.. и т.д...
Вы,например, сможите не вникая в регистры открыть порт, указать его скорость и принимать отправлять данные.
Тут у вас 2 варианта(как минимум)
1. STM32Cube http://www.st.com/stm32cube-pr1
Это HAL от ST. Не очень оптимизирован, не очень качественно написан...В основном нацелен на быстрое создание чего-то работающего, без претензий на оптимальность, скорость или экономию ресурсов контроллера. Тем не менее это работает. Вполне себе работат....
Для каждого семейства процов тут предлагается CubeF1 F2 F3 F4 и т.д.
Есть также программка CubeMX, где вы тупо мышкой выбираете переферию которую хотите использовать, видете сразу пины процессора которые будут заняты, переназначаете их если надо и по нажатию кнопки у вас готовый проект с неким минимально работающим примером.
Понтяно, что там используется HAL Сube.
2. OpenSource вариант libopencm3
http://www.libopencm3.org/wiki/Main_Page
Все то-же самое но написано в немного в более толковом виде. Пока не пробовал. Говорят годно. Не знаю на сколько это хороший вариант для новичка. Все-таки под Cube примеры и все дела....

3. Ах да, был еще у ST до Cube вариант standard peripheral library(SPL)
в целом там все вроде как еще было чуть более толково, чем в Cube, но этот вариант уже устаревший и рассматривать его наверно не стоит.


Вам тут конечно насоветовали хороших вариантов разных IDE, все они выполняют свою функцию, но для совсем новичка я бы посоветовал что-нибудь с хорошей готовностью из коробки. Например KEIL 5. Да, это будет вариант "для ознакомления", придется поискать в интернете ознакомлялки ) Это будет не легально и не очень лицензионно, но для начала удобно))))))))))
Тот-же CubeMX создает в один клик проекты для KEIL, которые сразу откомпилятся и будут работать.
В комплекте с платами STM Discovery идут примеры(они кстати входят в Cube) которые в том числе имеют проекты для KEIL которые опять же просто компилятся и работют.



Успехов!
В Интернете куча статей по осваиванию STM32!


Большое спасибо за такую подробную полезную информацию!, в таких делях и крылся ответ на мой вопрос)
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 18:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01504 секунд с 7
ELECTRONIX ©2004-2016