STM32F030F4: создание простейшего проекта

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
gauss
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Сб янв 16, 2010 15:34:57
Откуда: Sevsk/Moscow

Re: STM32F030F4: создание простейшего проекта

Сообщение gauss »

Уфф, наконец-то лапы дошли до форума :)
Прочитал все ваши посты, спасибо, многое проясняется потихоньку.
А насчет стиля... вот уже несколько лет програмирую на плюсах, на асме и яве и того больше.
Год назад пришлось учить PHP, это вообще жесть :))

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

Кстати, за время ковыряния проца, возникла проблема с интерфейсом SPI.
Сначала настраиваю интерфейс:

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

    RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
    
    GPIOA->MODER |= GPIO_MODER_MODER4_0;            //port in output mode
    GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR4;       //high speed
    GPIOA->OTYPER &= ~(GPIO_OTYPER_OT_4);           //push-pull
    GPIOA->BSRR = GPIO_BSRR_BS_4;                   //set one to self
    
    GPIOA->MODER |= GPIO_MODER_MODER5_1;            //alternate
    GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR5;       //high speed
    GPIOA->OTYPER &= ~(GPIO_OTYPER_OT_5);           //push-pull
    
    GPIOA->MODER &= ~(GPIO_MODER_MODER6);           //input mode
    GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR6;       //high speed   
    GPIOA->PUPDR |= GPIO_PUPDR_PUPDR6_0;            //pull-up
    //GPIOA->BSRR = GPIO_BSRR_BS_6;
    
    GPIOA->MODER |= GPIO_MODER_MODER7_1;            //alternate
    GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR7;       //high speed
    GPIOA->OTYPER &= ~(GPIO_OTYPER_OT_7);           //push-pull
    
    RCC->APB2ENR |= RCC_APB2ENR_SPI1EN;
    
    SPI1->CR1 |= SPI_CR1_MSTR;
    SPI1->CR1 |= SPI_CR1_SSI;
    SPI1->CR1 |= SPI_CR1_SSM;
    SPI1->CR1 |= SPI_CR1_BR;

    SPI1->CR2 = SPI_CR2_DS;
    
    SPI1->CR1 |= SPI_CR1_SPE;  
Затем пробую отправить данные:

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

if ((SPI1->SR & SPI_SR_TXE) == SPI_SR_TXE) /* Test Tx empty */
    //{
        SPI1->DR = 0xFF;
        GPIOB->BSRR = GPIO_BSRR_BS_1;
   // }
Ткнул осциллографом - на SCK импульсы есть, а вот на MOSI в это время ничего.
Причем светодиод загорается, то есть условие выполняется.

Скажите, пожалуйста, что и где я делаю не так? :o
:idea:
Реклама
Аватара пользователя
gauss
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Сб янв 16, 2010 15:34:57
Откуда: Sevsk/Moscow

Re: STM32F030F4: создание простейшего проекта

Сообщение gauss »

Доброго времени суток. Поковырявшись с SPI и SD-картой, после чтения зачастую противоречивых статей и анализа
имеющихся в Сети проектов, наконец-то смог не только проинициализировать карту, но и наконец-то читать/писать нужные блоки данных.
Единственное, что огорчает - нельзя записать конкретный байт, можно только по 512 байт читать/писать (в моем случае).

Осталась одна проблема. Инициализирую карту, пишу блок данных, смотрю в WinHex -все норм.
Чуть меняю код: инициализирую карту, читаю блок данных, мигаю диодом если совпадает значение - работает.

А вот когда хочу, допустим, записать блок, а потом прочитать - выдает ошибку :( Точнее, выдает в ответ не токен данных,
а сплошные 0xFF. :(
:idea:
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F030F4: создание простейшего проекта

Сообщение dosikus »

Здесь SD карточка на F0 с PetitFatFs http://www.microchip.su/showpost.php?p= ... tcount=184
Запись прикручивается элементарно. Если мало PetitFatFS то FatFS точно на все хватит...
Аватара пользователя
gauss
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Сб янв 16, 2010 15:34:57
Откуда: Sevsk/Moscow

Re: STM32F030F4: создание простейшего проекта

Сообщение gauss »

dosikus, Вас не затруднит выложить архив сюда? :)
А то там не форум, а закрытый клуб по приглашению какой-то, а тут еще другим может быть полезно
:idea:
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
gauss
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Сб янв 16, 2010 15:34:57
Откуда: Sevsk/Moscow

Re: STM32F030F4: создание простейшего проекта

Сообщение gauss »

Кстати,в ответ к написанному несколькими постами ранее по поводу нескольких блоков:

Вместо "=" почему-то написал "!=" и убил на это несколько дней, чего только не переделав :( :(

Теперь умею как читать, так и писать несколько блоков, причем как угодно :beer:

В планах освоить файловую систему, тогда этот шаг в моей работе можно считать завершенным!
:idea:
Реклама
Vasiliy72
Родился
Сообщения: 12
Зарегистрирован: Вс фев 28, 2010 12:08:32
Откуда: Самара

Re: STM32F030F4: создание простейшего проекта

Сообщение Vasiliy72 »

dosikus писал(а):Здесь SD карточка на F0 с PetitFatFs http://www.microchip.su/showpost.php?p= ... tcount=184
Запись прикручивается элементарно. Если мало PetitFatFS то FatFS точно на все хватит...
Иногда лучше молча жевать а не говорить, это именно ваш случай.(давать ссылку на ресурс с которого не скачать без регистрации, а регистрация ограниченная, ага, молодец)
Реклама
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F030F4: создание простейшего проекта

Сообщение dosikus »

Vasiliy72, жуй Вася дальше, я что-то ТЕБЕ должен или обещал????



http://файлообменник.рф/1kdpcyfjmjh5.html
Аватара пользователя
gauss
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Сб янв 16, 2010 15:34:57
Откуда: Sevsk/Moscow

Re: STM32F030F4: создание простейшего проекта

Сообщение gauss »

Все скачал, спасибо :beer:
:idea:
Vasiliy72
Родился
Сообщения: 12
Зарегистрирован: Вс фев 28, 2010 12:08:32
Откуда: Самара

Re: STM32F030F4: создание простейшего проекта

Сообщение Vasiliy72 »

dosikus писал(а):Vasiliy72, жуй Вася дальше, я что-то ТЕБЕ должен или обещал????
Нет, не обещал, но и тогда нечего было выкладывать в форум, есть ЛС, или для альтернативно одаренных это невдомек?
Аватара пользователя
ave101
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пт янв 02, 2015 14:45:31

Re: STM32F030F4: создание простейшего проекта

Сообщение ave101 »

dosikus писал(а):И я вам советую начать осваивать Keil, все остальные IDE сплошные глюки и танцы с бубном.
У меня никогда не было глюков с CooCox-ом. И танцы с бубном в Keil.

Был один проект под Keil, так и не смог его настроить и запустить. Пришлось переделать под CooCox.
CooCox заточен под STM32.

Так что все это на любителя.
gauss писал(а):Кстати, за время ковыряния проца, возникла проблема с интерфейсом SPI.
Исходники под CooCox:

1. http://radiokot.ru/forum/viewtopic.php?f=59&t=119263 - STM32F030 (STM32F103) и генератор до 40 МГц AD9850
2. http://radiokot.ru/forum/viewtopic.php?f=59&t=132062 - STM32 и RFID RC522 - исходник
Последний раз редактировалось ave101 Сб июн 04, 2016 09:37:23, всего редактировалось 1 раз.
Аватара пользователя
ave101
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пт янв 02, 2015 14:45:31

Re: STM32F030F4: создание простейшего проекта

Сообщение ave101 »

dosikus писал(а):Здесь SD карточка на F0 с PetitFatFs http://www.microchip.su/showpost.php?p= ... tcount=184
Запись прикручивается элементарно. Если мало PetitFatFS то FatFS точно на все хватит...
А можно еще раз сюда архив выложить?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32F030F4: создание простейшего проекта

Сообщение Мурик »

Не знаю как у кого, но у меня кокос сильно тормозит после запуска загружая по полной одно ядро процессора и нужно ждать некоторое время... Поэтому пользуюсь нативной альтернативой кокоса - IDE EmBitz, которая работает намного быстрее и запускается за две секунды.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F030F4: создание простейшего проекта

Сообщение dosikus »

ave101 писал(а): А можно еще раз сюда архив выложить?
http://rgho.st/6KGss8PlW

Мурик, в последней EmBitz отсутствуют в отладке F042x, F072x и более новые.
Да и все остальное на порядок хуже Keil...
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32F030F4: создание простейшего проекта

Сообщение Мурик »

dosikus писал(а):в последней EmBitz отсутствуют в отладке F042x, F072x и более новые.
Может быть, но я под них пока что ничего не пишу и мне это не важно. :) В новых версиях может добавят. :)
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32F030F4: создание простейшего проекта

Сообщение dosikus »

Мурик, уже год как. И что сидеть ждать? Может лучше пользовать вменяемый инструмент?
Аватара пользователя
ave101
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Пт янв 02, 2015 14:45:31

Re: STM32F030F4: создание простейшего проекта

Сообщение ave101 »

dosikus, скачал архив. Спасибо!
auric
Открыл глаза
Сообщения: 79
Зарегистрирован: Ср апр 17, 2019 12:04:23

Re: STM32F030F4: создание простейшего проекта

Сообщение auric »

[uquote="gauss",url="/forum/viewtopic.php?p=2754262#p2754262"]А вот и начались первые траблы. Через ST-Link Utility все прошивается.
В CooCox'e, после нажатия "Debug" пишет следующее:
Error: Flash driver function execute error
Program Download Failed !
В диспетчере устройств тоже странно отображается:

Изображение

И теперь новая проблема: CooCox программатор видит, к нему подключается, но код не зашивает? :o

П. С. Настройки отладки таковы:

Изображение[/uquote]

Тоже решил освоить кокос, и он таке пишет
Program: Failed
Error: Flash driver function execute error
Program Download Failed !

Посмотрел, что стоит на вкладке Configuration->Download в поле Programming algorithm, а там файл
STM32F10x_HD_512.elf, это при том, что проц стоит STM32F103RBT6, поставил STM32F10x_MD_128, что собственно соответсвует моему, проблема пропала. Видимо по дефолту стоит не совсем то, что надо, может тема и обсуждалась на родном форуме, но сайт у них "отехал" кому-то и теперь уже не прочитать, что там было за решение, может мое кому-то поможет.
Аватара пользователя
ozzy
Грызет канифоль
Сообщения: 256
Зарегистрирован: Вс янв 18, 2009 20:15:27
Откуда: UA ZT

Re: STM32F030F4: создание простейшего проекта

Сообщение ozzy »

чего вы там изучать то собрались ? кокос уже сгинул как давно
Ответить

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