Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Изучаем ARMы

Сообщений 91 страница 120 из 185

91

да, поставьте в браузер просто аддон для использования прокси
если сложно то юзайте другой браузер: https://www.torproject.org/projects/torbrowser.html.en
движек фаерфокса, но скрещен с технологией пир-ту-пир

0

92

RDW написал(а):

да, поставьте в браузер просто аддон для использования проксиесли сложно то юзайте другой браузер

Спасибо, нашел другими путями... ;)

0

93

Nord написал(а):

Спасибо, нашел другими путями...

Здравствуйте!
Направление ветра подскажите пожалуйста!

0

94

simulator75 написал(а):

Nord написал(а):Спасибо, нашел другими путями...Здравствуйте!Направление ветра подскажите пожалуйста!

Скачано с оффсайта, патч найден (не мной) на просторах инета.

0

95

На коте кое-что есть http://sunduk.radiokot.ru/loadfile/?load_id=1463573643
И заодно нашел еще книжку по теме http://sunduk.radiokot.ru/loadfile/?load_id=1485682005

0

96

Пётр написал(а):

На коте кое-что есть http://sunduk.radiokot.ru/loadfile/?load_id=1463573643И заодно нашел еще книжку по теме http://sunduk.radiokot.ru/loadfile/?load_id=1485682005

В ходе поисков накопал перевод хелпа MikroBasic, правда для PIC, хотя был анонсирован для ARM.
Интересно, есть ли великая разница ?
Ссылку сейчас уже вряд ли вспомню, а вот выложить куда-то смогу.

Тяните: http://www.fayloobmennik.net/6852022

Отредактировано Nord (2017-02-11 23:10:17)

0

97

Пётр написал(а):

Как выяснилось STM32 сильно боятся статического электричества. За последние несколько дней уже второй ST-Link перестал работать. МК вообще ни на что не реагирует и программу не выполняет. Хотя до этого отладчик нормально работал несколько месяцев.

Перепаял МК и отладчик заработал... :)

PS.
Перепаивать микросхемы в корпусе LQFP (шаг выводов 0.5 мм), паяльником времен СССР, то еще "веселье". :D

+1

98

Agbka написал(а):

тоже себе такую недавно взял, + программатор ST-link v2, и платку на stm8s003f3
http://s9.uploads.ru/t/onrbK.jpg
решил изучить stm-ки, вот только после BASCOMа, очень сложно, на stm32 получилось только светодиодом поморгать, поэтому чтоб не понижать свою самооценку :) , пока что изучаю stm8 там вроде проще (больше уроков нашел на IAR), на stm32 уроки в основном на stm32f4-discovery, а здесь stm32f103.

Тоже попробовал STM8...
Впечатления не столь хорошие как в случае STM32. :dontknow:  Для STM8 очень небольшой выбор сред программирования. Их всего 4, они все платные и компиляторы только для С/С++. :disappointed:
STM8 по производительности и по объемам памяти похожи на ATmega, правда в них периферия более функциональная и доступна отладка, чего нет во многих ATmega. Отладчик долго искать не нужно - это ST-Link который также применяется для прошивки/отладки STM32. :)

На мой взгляд для новых разработок нет смысла их использовать. STM32 гораздо эффективнее. Разве что перепрограммировать их в готовых конструкциях.

0

99

Сейчас из Китая приходят платы с STM32F103C8T6 у которого 128 КБ флеша (по документации 64 КБ).

Выглядит плата так

http://s8.uploads.ru/t/opYAz.jpg

Скрин из отзыва, датированного 12 января 2018 года отсюда. https://ru.aliexpress.com/item/Free-Shi … 08361.html

Свернутый текст

https://ae01.alicdn.com/kf/UTB8VpiesCnEXKJk43Ubq6zLppXam.jpg

Видно что размер флеша - 128 КБ.
Такое впечатление что перемаркировка, только какой смысл это делать ухудшая характеристики МК? Непонятно.

0

100

С чего бы это вдруг так? C8 или CB ???

0

101

Написано C8, но размер памяти как у CB.
Понятно что у них в реальности одинаковый объем памяти (вообще у 101C8, 101CB, 102C8, 103CB, 103C8 и 103CB один и тот же кристалл), но размер памяти как и серийный номер записывается в МК при производстве.

0

102

Опять непонятно. Почему и откуда столько памяти вдруг?
Канешно я по STM ещё очень слаб, но за Atmel могу сказать, что попадальсь Китайские AVRки, у которых можно было писать "вникуда" Например, с адреса 00C0h по 00D0h. Понятно, что это адреса системных регистров и некоторые их них заняты, но это всего-лишь в качестве примера. Так вот, воспользовался я этой "дыркой" и всё у меня прекрасно работало, пока я не купил следующую партию процов.
Это я к тому, что может бракованная какая партия этих STM или откуда там в ДВА раза больше памяти???

0

103

-NMi- написал(а):

откуда там в ДВА раза больше памяти

Пётр написал(а):

Понятно что у них в реальности одинаковый объем памяти (вообще у 101C8, 101CB, 102C8, 103CB, 103C8 и 103CB один и тот же кристалл)

У перечисленных МК одинаковые кристаллы. Видимо производителю это дешевле обходится чем перестраивать производство под каждый МК в отдельности.
Размер флеша хранится в регистре с адресом 0x1FFFF7E0.

Свернутый текст

http://s9.uploads.ru/2bFwM.png

В тех МК что купил сейчас, в нем 0x80 (128 КБ). В тех что покупал раньше, в регистре 0x40 (64 КБ).
Серийные номера (Unique device ID) в МК отличаются, т. е. отпадает вариант что забыли при производстве указать правильный размер флеша.

О том что в C8 в действительности 128 КБ флеша писал раньше, но в регистре "Flash size register" было число 0x40, т. е. как в даташите.

-NMi- написал(а):

Это я к тому, что может бракованная какая партия этих STM

Партия должна быть очень большой, потому что у многих продавцов в отзывах видел что писали о 128 КБ флеша.
МК работают нормально. Каких-либо сбоев или неправильного выполнения программы не замечал.

0

104

Я очень рад, что китайсы продают такие чудные микросхемы.
Вопрос, как считать ID проца???

0

105

-NMi- написал(а):

Вопрос, как считать ID проца???

Unique device ID?
Регистры располагаются начиная с адреса 0x1FFFF7E8 (почти рядом с "Flash size register").

Свернутый текст

http://s5.uploads.ru/cRfwC.png

Прочитать идентификатор можно программной "ST-LINK Utility" если задать адрес 0x1FFFF7E8 и размер 0x0C.
Или из программы (код из файла hw_config.c библиотеки USB-FS-Device 4).

Код:
  #define         ID1          (0x1FFFF7E8)
  #define         ID2          (0x1FFFF7EC)
  #define         ID3          (0x1FFFF7F0)

  uint32_t Device_Serial0, Device_Serial1, Device_Serial2;

  Device_Serial0 = *(uint32_t*)ID1;
  Device_Serial1 = *(uint32_t*)ID2;
  Device_Serial2 = *(uint32_t*)ID3;

0

106

Это справедливо только для 1хх линейки или это будет так-же по тем-же адресам, например, в линейке 4хх    ???

0

107

Это для F101, F102 и F103. Для 4хх нужно скачать Reference manual и найти в нем "Unique device ID register" или "Device electronic signature".

Из файла platform_config.h библиотеки STM32 USB-FS Device.

Код:
/*Unique Devices IDs register set*/

#if defined(STM32L1XX_MD) || defined(STM32L1XX_HD) || defined(STM32L1XX_MD_PLUS)

#define         ID1          (0x1FF80050)
#define         ID2          (0x1FF80054)
#define         ID3          (0x1FF80064)

#elif defined (STM32F37X) || defined(STM32F30X)

#define         ID1          (0x1FFFF7AC)
#define         ID2          (0x1FFFF7B0)
#define         ID3          (0x1FFFF7B4)

#else /*STM32F1x*/

#define         ID1          (0x1FFFF7E8)
#define         ID2          (0x1FFFF7EC)
#define         ID3          (0x1FFFF7F0)

#endif

0

108

Отт жеЖ сволочи, не могли всё сделать в одном месте...
НучО, пойду почитаю мануал...  :canthearyou:

0

109

Ответ на сообщение. CNC Лазер-Лут

Не знаю где RDW нашел информацию о низкой скорости портов в STM32, но на практике это не подтверждается. Для теста был взят этот проект и в него внесены небольшие изменения. В цикле вызов функций заменен на запись в регистры.

Код:
    while(1)
    {
        GPIOC->ODR = GPIO_Pin_13;
        GPIOC->ODR = ~GPIO_Pin_13;
    }

Кроме этого в файле system_stm32f10x.c закомментирована константа SYSCLK_FREQ_72MHz и раскомментирована SYSCLK_FREQ_HSE для того чтобы МК работал от 8 МГц. Связанно с тем что у логического анализатора частота дискретизации 24 МГц и чем выше частота тем больше вероятности ошибки измерения, а нормального частотомера под руками нет. На изменение состояния вывода порта тратится 0.25 мкс, или два такта системной частоты. Это медленно и состояние вывода должно меняться за такт? :D

Свернутый текст

http://s3.uploads.ru/tDJmv.png

При частоте 72 МГц, состояние вывода будет меняться 36 миллионов раз в секунду и частота составит, 18 МГц. :)

Файлы. http://rgho.st/7sFYqlcRp

0

110

Чел ответил:

Ну 2 такта на 24 мгц стм - это меньше чем 1 такт на 16 мгц авр :)
Потом непонятно как он 3 инструкции выполняет за 2 такта. Он там не на арм9 тесты проводит? :)

Петр написал(а):

Регистр позволяет выборочно устанавливать и сбрасывать биты порта, т. е. за одну запись в регистр (2 такта), можно изменить логический уровень на нескольких выводах порта, а не по одному как у AVR.

Кому нужен весь порт при дрыгании одной ногой? Управлять всем портом - моветон, надо хранить регистр масок и очень аккуратно это делать, когда на этом порту естьеще периферия. Отсутствие битовых команд в stm было признано ошибкой и в команды arm был добавлен Bit Banding.
Но этим нужно еще уметь пользоваться :)
http://we.easyelectronics.ru/STM32/stm3 … nding.html

0

111

RDW написал(а):

Ну 2 такта на 24 мгц стм - это меньше чем 1 такт на 16 мгц авр

Каких 24 МГц? Проект под STM32F103 у которого номинальная частота 72 МГц. А ведь есть еще STM32H работающие на частоте 400 МГц. :)

RDW написал(а):

Потом непонятно как он 3 инструкции выполняет за 2 такта.

Скриншот выше. Видно что вывод порта переключается каждые 0.25 мкс, при частоте тактирования 8 МГц. Разве не 2 такта выходит? Почему так получается при трех инструкциях? Точно не скажу насчет ARM Cortex-M3, но ARM поддерживает выполнение нескольких инструкций за такт. Этим может объяснятся.

RDW написал(а):

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

Для этого есть регистр BSRR. Я о нем писал. :)  CNC Лазер-Лут

0

112

Измерил потребление в разных режимах работы STM32F030F4P6.

48 МГц

8МГц

1 МГц

Рабочий режим

8.8 мА

1.62 мА

0.73 мА

Sleep (отключено ядро)

4.3 мА

0.88 мА

0.64 мА

В Stop и Standby режимах потребление составило 16 мкА. Для режима Stop это нормально, а для Standby много. Видимо что-то не отключил при переходе в спящий режим.

Таблица потребления в спящем режиме.

http://c.radikal.ru/c27/1810/d8/6eb8373c7f12.png

0

113

Пётр написал(а):

В Stop и Standby режимах потребление составило 16 мкА. Для режима Stop это нормально, а для Standby много. Видимо что-то не отключил при переходе в спящий режим.

Надо пробовать серию L5. Они в даташите обещают 0,02 мка в спячке и 96/мгц в активном режиме.

0

114

L серия МК предназначена на работы с минимальным потреблением и у них больше режимов экономии энергии. Но у меня сейчас нет ни одного в наличии их этой серии чтобы протестировать.

sva-don написал(а):

Они в даташите обещают 0,02 мка в спячке

20 нА? Саморазряд источника питания будет во много раз больше.

sva-don написал(а):

96/мгц в активном режиме.

Только ядро или вместе со всей включенной периферией?

0

115

Пётр написал(а):

Только ядро или вместе со всей включенной периферией?

Там не указано. Наверное только ядро

0

116

Пётр, а в какой среде сейчас пишешь?

0

117

Пишу в EmBitz. Я по началу много чего пробовал. CooCox, Keil, IAR, VisualGDB и другие. EmBitz оказался самым простым и понятным.
Кстати, EmBitz поддерживает в том числе ARMы от Atmel. В списке около 100 моделей МК.

http://a.radikal.ru/a16/1810/23/a98d383108df.png

http://d.radikal.ru/d43/1810/f2/5d6207050053.png

0

118

Кто нибудь знает, хотя бы на уровне слухов, в баскоме поддержка ARM когда планируется?

0

119

На уровне слухов, Марк писал примерно в 2010 году что планируется ARM версия. https://www.mcselec.com/index2.php?opti … 2168#42168
https://www.mcselec.com/index2.php?opti … hlight=arm

Для ARM лучше использовать Си (не так все сложно как может показаться) или в крайнем случае mikroBasic. Других альтернатив на данный момент нет.

0

120

EdGull написал(а):

хотя бы на уровне слухов, в баскоме поддержка ARM когда планируется?

На сколько я помню, Марк описывал данную реализацию как-то пространственно. Что-то типа: мне нужна мотивация (в виде: народа, финансовая, железа).

Пётр написал(а):

Си (не так все сложно как может показаться) или в крайнем случае mikroBasic

Эта тема уже много раз обсуждалась, оно вовсе не так. Плюс конфигурирование АРМов ещё та Жжжж, даже для этого есть готовые утилиты (с генерацией кода)...
В общем это всё, так никто не смог реализовать в легкой форме использования. Даже дунь толком нет на них, только готовые решения (типа: питоны, js..).
Много волокиты, надо нарабатывать опыт, входная точка в направление весьма большая.

0