Перейти к содержанию
    

STM32 – вопросы – проблемы - решения.

По поддержке Keil: пытался завести новый проект и не нашел STM32F100. Keil uVision 4.00 . Может нужен новее?

В версии 4.20 есть 19 типов STM32F100xx.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Переставил на 4.21. Да, есть то, что надо, но не могу найти в примерах. В частности не ясно какой хидер подключать. Подскажите, кто в курсе. В примерах полазил, но ничего похожего не нащел. Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При компиляции программы в Keil получаю вот такую ошибку:

STM32F100.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_ld_vl.o).

Как с этим бороться? Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При компиляции программы в Keil получаю вот такую ошибку:

STM32F100.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_ld_vl.o).

Как с этим бороться? Спасибо.

найти в каком файле лежит функция SystemInit и подключить его.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понимаю, что всю периферию ST32F100 в симуляторе Keil посмотреть не удастся?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем доброго времени суток.

 

Хочу создать проект в учебных целях. По сути - связка акселерометра + РФ-трансивер.

 

Соответственно, как только объект начинает двигаться, МК записывает к себе в память показания по осям XYZ, а раз в минуту - передает Большому Брату (второму устройству). Полагаю, при таком режиме, будет потребляться минимум энергии, т.к. питается все от "таблетки".

 

Акселерометром будет MMA7455L от Freescale, а вот над связкой MK+Радио надо подумать. Сначала выбор пал на CC2530 от TI. Но он на процессоре 8051, а хочется поработать с чем-то более современным (проект то учебный). Поэтому, взгляд переместился на STM32W108CB. Но появились вопросы.

 

1) Никогда не имел дела с программированием МК. Это будет очень "больно"? С чего начать?

 

2) СС2530 зашит в LGA корпус, а STM32W108CB - в VFQFPN. Как паять первый в домашних условиях - понятно, а вот про второй тип - слышу в первый раз. Реально его дома развести и припаять к плате? Фен и прочие радости жизни есть.

 

3) Наконец, правильный ли я сделал выбор? Может есть более подходящий SoC с радио? Но должно быть большое комьюнити, т.к. вопросов будет много :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы рекомендовал начать с LPC2103. Про них книжка есть, примеры от Keil просты и понятны. Макетку под их корпус тоже не трудно купить. Радиомодуль к нему докупите. Будет отличный набор чтобы попрактиковаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрел, спасибо за совет, но мне нужно (в перспективе) минимизировать размеры устройства. Поэтому и хочу 2-в-1, да и внешнее радио - тоже может превратится в проблему. Но если совсем туго будет, то пожертвую размерами и так и поступлю.

 

Но пока что хотелось бы выбрать именно связку МК+Радио, просто по STM32W информации почти 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что нашел небольшую подборку простых примеров по STM32W: http://www.promelec.ru/company/news/667/ . Для профи смотреть нечего, для новичков вроде меня - самое оно :) Ну и чтобы окончательно подтвердить свой статус новичка, задам простой вопрос - как мне залить программу в свой STM32W?

 

То есть, у меня есть (пока еще нет, только в планах) плата, на которой размещен элемент питания, сам ST32W и датчик температуры, подключенный к GPIO-ногам моего МК. Спаял, но теперь внутрь нужно как-то засунуть мой софт. Неужели надо выводить ноги и паять UART (он поддерживается) интерфейс? Это как-то не спортивно, учитывая, что в МК встроен РФ-чип.

 

Среди документов на сайте ST я нарыл вот такой вот: AN3262: Using the over-the-air bootloader with STM32W108 devices. В нем рассказывается о способности чипов STM32W получать бутлоадер "по воздуху".

 

Вот и вопрос - можно ли с помощью этой штуки (которая, по словам ST, заменяет USART) засунуть в чип мою программу, не используя программатор? Кто-нибудь пробовал? Ведь фитча более чем интересная!

Изменено пользователем DeniDoman

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А с I2C master кто-то возился? забустить прерывание не идет в моем случаи, нету гарантии, что обработка события пройдет раньше, чем нужно...

DMA тоже не всегда катит, скажем, если надо 1 байт принять..

I2C и I2S самые что ни есть глючные в этих камнях... http://www.st.com/internet/com/TECHNICAL_R.../CD00238166.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще ерунда какая-то с этим i2c.

Принимаю 1 байт по методу2, как написано в errata - RxNE не появляется и в DR ничего подобного на нужный байт нету.

Когда STOP не далаю, вопреки тому,что написано в errata и rm:

EV6_3: ADDR = 1, program ACK = 0, clear ADDR by reading SR1 register followed by reading SR2 register, programSTOP =1 just after ADDR is cleared.Note: The EV6_3 software sequence must complete before the current byte end of transfer.

EV7: RxNE =1, cleared by reading DR register

ES:

a) ADDR=1

B) Program ACK=0

c) Configure SCL I/O as GPIO open-drain output low

d) Clear ADDR by reading SR1 register followed by reading SR3

e) Program STOP=1

f) Configure SCL I/O as Alternate Function open drain

RxNE устанавливается, делаю STOP, читаю DR - байт приходит нормально...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сомневаюсюь, что вообще планируют. F217 уже вроде как добавили, а он позже появился. Так же как и F100 уже давно могли бы добавить, там же различий почти нет с F101.

Забавно, что кейл почему-то думает, что у них симулятор поддерживает частично F107. На сайте написано и в настройках симулятора именно F107 выставляется, если его выбрать. С F100 честно пишут, что не поддерживается и в настройках симулятора сразу прописывается симулятор ядра.

 

Появилась проблема - пишу для STM32F100, так симулятор вообще ни под каким видом работать не хочет, хоть бабой ягой девайс в таргетах обзови. Увижн 4.2. Что делать?

 

И вообще, я в даташитах описания толкового не нашел - как получается в реальных камнях так, что они на 0х08000000 перепрыгивают? И зачем? Почему не как обычно - с нуля таблица векторов прерываний, а где-нить вдалеке все бутлоадеры и прочее?

 

И еще, я правильно понимаю - в железяке процу всегда видно два куска одинаковой памяти - с 0х08000000 и ее отображение начиная с 0х00000000

Изменено пользователем wedmeed

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И еще, я правильно понимаю - в железяке процу всегда видно два куска одинаковой памяти - с 0х08000000 и ее отображение начиная с 0х00000000

Правильно. Правда, не всегда: в режиме boot from system memory на адрес 0 отображается код встроенного загрузчика.

С учётом этого знания предыдущие вопросы должны отпасть сами собой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...