Easyelectronics.ru

Электроника для всех
Текущее время: 11 авг 2020, 02:53

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 44 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 15:05 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
Добрый день всем!
Так получилось, что я ушлый железячник, и программирование - это больше хобби. Любил писать на ассемблере 8051, потом пришлось освоить stm32 серию 103, писал уже на SPL. .
Теперь вот перешел на 4 серию и столкнулся с проблемами.
Гугление по теме рассказало что stm отказалось от spl, и подсовывает везде hal и Cube. Для меня HAL неприемлем ввиду его нагроможденности и уходом от железа.
Но я так понимаю переход на HAL неизбежен в принципе?
Может я ошибаюсь конечно.
В общем попробовал я освоить 4 серию на spl, помигать светодиодом.
Поставил 2 галочки в Run Time Enviroment.
Вручную добавил файлы из SPL 4xx и не понимаю где у меня очередной затык, т.к. вываливаются ошибки. Keil 5.17. Все злачные места на скринах
Подскажите, что именно я делаю не так?

Сам код

Код:
#include "stm32f4xx.h"
#include "stm32f4xx_rcc.h"
#include "stm32f4xx_gpio.h"

GPIO_InitTypeDef GPIO_InitDef;


volatile unsigned int delay_val;        // счетчик дл¤ delay_ms()

// реализаци¤ задержки на delay_value милисекунд
void delay_ms(unsigned int delay_value)
{
   delay_val=delay_value*10;
   while (delay_val!=0);
}

void init()
{

        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);


        GPIO_InitDef.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
        GPIO_InitDef.GPIO_Mode = GPIO_Mode_OUT;
        GPIO_InitDef.GPIO_OType = GPIO_OType_PP;
        GPIO_InitDef.GPIO_PuPd = GPIO_PuPd_NOPULL;
        GPIO_InitDef.GPIO_Speed = GPIO_Speed_100MHz;
        //Initialize pins
        GPIO_Init(GPIOA, &GPIO_InitDef);
}

int main(void)
{

   init();
   GPIO_SetBits(GPIOA, GPIO_Pin_6);
   while(1)
   {
      GPIO_SetBits(GPIOA, GPIO_Pin_6);
      delay_ms(1000);
      GPIO_ResetBits(GPIOA, GPIO_Pin_6);
      delay_ms(1000);

   }

}


Ошибки:

Код:
*** Using Compiler 'V5.06 update 1 (build 61)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'Target 1'
linking...
.\STM32F407VET6.axf: Error: L6218E: Undefined symbol GPIO_Init (referred from main.o).
.\STM32F407VET6.axf: Error: L6218E: Undefined symbol GPIO_ResetBits (referred from main.o).
.\STM32F407VET6.axf: Error: L6218E: Undefined symbol GPIO_SetBits (referred from main.o).
.\STM32F407VET6.axf: Error: L6218E: Undefined symbol RCC_AHB1PeriphClockCmd (referred from main.o).
Not enough information to list image symbols.
Finished: 1 information, 0 warning and 4 error messages.
".\STM32F407VET6.axf" - 4 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:00


Скрины


Вложения:
файлы2.jpg
файлы2.jpg [ 203.6 Кб | Просмотров: 1195 ]
файлы1.jpg
файлы1.jpg [ 171.1 Кб | Просмотров: 1195 ]
файлы.jpg
файлы.jpg [ 118.47 Кб | Просмотров: 1195 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 15:29 
Старожил

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 529
Откуда: Киев
ошибаетесь конечно было бы желание, а так это просто регистры как и везде...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 15:53 
Старожил

Зарегистрирован: 19 апр 2016, 11:59
Сообщения: 537
В проекте есть h файлы из SPL, но нет c файлов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 15:59 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5879
engineer83, займитесь делом а не ковырянием в чужих г.либах http://mcu.goodboard.ru/viewtopic.php?id=15


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 16:23 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
Maik писал(а):
В проекте есть h файлы из SPL, но нет c файлов.


добавил пару файлов *.c, но теперь посыпалась новая гора ошибок

Код:
*** Using Compiler 'V5.06 update 1 (build 61)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'Target 1'
compiling stm32f4xx_gpio.c...
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(129): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(194): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(268): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(313): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(336): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(354): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(377): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(396): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(399): error:  #136: struct "<unnamed>" has no field "BSRRL"
    GPIOx->BSRRL = GPIO_Pin;
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(416): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(419): error:  #136: struct "<unnamed>" has no field "BSRRH"
    GPIOx->BSRRH = GPIO_Pin;
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(437): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(443): error:  #136: struct "<unnamed>" has no field "BSRRL"
      GPIOx->BSRRL = GPIO_Pin;
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(447): error:  #136: struct "<unnamed>" has no field "BSRRH"
      GPIOx->BSRRH = GPIO_Pin ;
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(461): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(476): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c(558): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c: 13 warnings, 4 errors
compiling stm32f4xx_rcc.c...
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(258): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_HSE(RCC_HSE));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(289): error:  #20: identifier "HSE_STARTUP_TIMEOUT" is undefined
    } while((startupcounter != HSE_STARTUP_TIMEOUT) && (hsestatus == RESET));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(314): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_CALIBRATION_VALUE(HSICalibrationValue));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(349): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_FUNCTIONAL_STATE(NewState));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(374): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_LSE(RCC_LSE));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(414): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_FUNCTIONAL_STATE(NewState));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(457): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_PLL_SOURCE(RCC_PLLSource));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(480): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_FUNCTIONAL_STATE(NewState));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(506): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_PLLI2SN_VALUE(PLLI2SN));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(521): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_FUNCTIONAL_STATE(NewState));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(539): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_FUNCTIONAL_STATE(NewState));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(566): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_MCO1SOURCE(RCC_MCO1Source));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(604): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_MCO2SOURCE(RCC_MCO2Source));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(711): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_SYSCLK_SOURCE(RCC_SYSCLKSource));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(764): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_HCLK(RCC_SYSCLK));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(796): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_PCLK(RCC_HCLK));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(827): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_PCLK(RCC_HCLK));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(884): error:  #20: identifier "HSI_VALUE" is undefined
        RCC_Clocks->SYSCLK_Frequency = HSI_VALUE;
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(887): error:  #20: identifier "HSE_VALUE" is undefined
        RCC_Clocks->SYSCLK_Frequency = HSE_VALUE;
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1004): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_RTCCLK_SOURCE(RCC_RTCCLKSource));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1034): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_FUNCTIONAL_STATE(NewState));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1051): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_FUNCTIONAL_STATE(NewState));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1068): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_I2SCLK_SOURCE(RCC_I2SCLKSource));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1093): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_TIMCLK_PRESCALER(RCC_TIMCLKPrescaler));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1133): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_AHB1_CLOCK_PERIPH(RCC_AHB1Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1165): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_AHB2_PERIPH(RCC_AHB2Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1193): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_AHB3_PERIPH(RCC_AHB3Periph)); 
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1245): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); 
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1288): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1327): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_AHB1_RESET_PERIPH(RCC_AHB1Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1356): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_AHB2_PERIPH(RCC_AHB2Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1381): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_AHB3_PERIPH(RCC_AHB3Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1430): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1469): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_APB2_RESET_PERIPH(RCC_APB2Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1515): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_AHB1_LPMODE_PERIPH(RCC_AHB1Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1547): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_AHB2_PERIPH(RCC_AHB2Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1575): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_AHB3_PERIPH(RCC_AHB3Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1627): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1670): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1716): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_IT(RCC_IT));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1756): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_FLAG(RCC_FLAG));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1818): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_GET_IT(RCC_IT));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c(1849): warning:  #223-D: function "assert_param" declared implicitly
    assert_param(IS_RCC_CLEAR_IT(RCC_IT));
STM32F4xx_StdPeriph_Driver\src\stm32f4xx_rcc.c: 40 warnings, 3 errors
".\STM32F407VET6.axf" - 7 Error(s), 53 Warning(s).
Target not created.
Build Time Elapsed:  00:00:03


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 16:23 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
dosikus_2 писал(а):
engineer83, займитесь делом а не ковырянием в чужих г.либах http://mcu.goodboard.ru/viewtopic.php?id=15


уважаемый dosikus, попробовал вникнуть, но наверное пока рановато, многое не понятно


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 16:33 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5879
Дык пишите что не понятно, форум и существует для запросов...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 16:35 
Старожил

Зарегистрирован: 19 апр 2016, 11:59
Сообщения: 537
Из файла stm32f4xx_conf.h
Код:
#ifdef  USE_FULL_ASSERT

/**
  * @brief  The assert_param macro is used for function's parameters check.
  * @param  expr: If expr is false, it calls assert_failed function
  *   which reports the name of the source file and the source
  *   line number of the call that failed.
  *   If expr is true, it returns no value.
  * @retval None
  */
  #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
/* Exported functions ------------------------------------------------------- */
  void assert_failed(uint8_t* file, uint32_t line);
#else
  #define assert_param(expr) ((void)0)
#endif /* USE_FULL_ASSERT */


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 16:45 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
Maik писал(а):
Из файла stm32f4xx_conf.h


т.е. нужно что-то прописать в этом файле?

dosikus_2 писал(а):
Дык пишите что не понятно, форум и существует для запросов...

попробую ещё раз и вдумчиво )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 16:49 
Старожил

Зарегистрирован: 19 апр 2016, 11:59
Сообщения: 537
Для начала создайте нормально проект. Вы явно не все файлы в него добавили, потому что этих ошибок быть не должно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 16:57 
Старожил

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 4198
Откуда: Чобля - долбаный кетайец
В принципе, при написаннии программ в любом случае разделяют программу на несколько уровней. Самый нижний уровень работает с железом. Вы можете писать его сами, если можете. Если не можете - берите готовые библиотеки. Между прочим, SPL - это тоже библиотека, и используя SPL, вы тоже уходите от этого вашего "истинно железячного".
Так вот, при любом раскладе, когда вы пишите что-то сложнее часов с будильником, вы будете раскладывать прогу на уровни абстракции. Есть три основных уровня - уровень драйверов работы с железом, уровень алгоритмов работы через драйвера, и самый верхний уровень общего алгоритма работы программы.
Те же самые часы с будильником можно разбить на этих три уровня.

1. Верхний уровень общих алгоритмов программы:
- запуск железа через их драйвера,
- запуск часов текущего времени,
- установка пользователем текущего времени,
- установка пользователем времени будильника,
- включение/выключение пользователем сигнала будильника,
- изменение пользователем яркости индикатора (например).

2. Средний уровень алгоритмов:
- отсчет текущего времени,
- формирование индикации в виде понятных чисел, управление индикацией,
- обработка нажатий кнопок,
- сравнение текущего времени с установленным временем будильника и подача звукового сигнала.

3. Нижний уровень драйверов железа:
- отсчет секундных интервалов для часов,
- формирование выходных сигналов на портах для работы индикатора,
- чтение состояния кнопок,
- генерация звукового сигнала.

В том или ином виде эти три уровня присутствуют в любой программе. Они могут называться по-разному, и могут быть разбиты на подуровни. Но тем не менее, общий принцип соблюдается , хотябы даже в неявном виде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 17:24 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2047
Вложение:
c-in-7-days.jpg
c-in-7-days.jpg [ 38.94 Кб | Просмотров: 1158 ]

Всего 7 дней !


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 22:25 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 555
Не понимаю: человек раньше писал на асме дя 8051, а сейчас пытается ваять на ХАЛе. Зачем? Да, у АРМ порог вхождения выше, но и ты не дурак. Сам переходил, представляю уровень затрат времени и усилий. Но это того стОит. Тебе тут все об этом более или менее прямо намекают.

Видя количество под...ок, которыми удостаиваются вопросы в стиле "Пишу на HAL... Не получается..." (привет, dosikus_2!), не стОит будоражить людей на этом форуме таким подходом к решению задач. Лучше напрягись, попробуй САМ настроить периферию, а если что-то не получится, тогда пиши, тогда помогут.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 23:12 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5879
Если начнет с азов , с создания проекта с необходимым минимумом, будет толк.
Но ни SPL ни калокуб в этом не помогут...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 29 июл 2019, 01:23 
Только пришел

Зарегистрирован: 31 май 2019, 23:06
Сообщения: 15
Для F4 на сайте ST есть библиотека cmsis, используя ее можно легко создать минималистичный проект без мусора, а периферией управлять через регистры.
Я хотел аналогичный метод применить для изучения H7, но для него нет cmsis на сайте. Единственный вариант, который я пока нашел - создавать проект в кубе и из него копировать нужные файлы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 29 июл 2019, 01:28 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5879
avf12, вы имеете ввиду хэдеры описания регистров периферии ? Ибо CMSIS лежит и всегда лежал на сайте арм .
А хэдеры можно всегда выдрать из паков кейл или SES ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 29 июл 2019, 01:42 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 1240
avf12 писал(а):
Я хотел аналогичный метод применить для изучения H7, но для него нет cmsis на сайте. Единственный вариант, который я пока нашел - создавать проект в кубе и из него копировать нужные файлы.

STM32Cube MCU Package for STM32H7.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 29 июл 2019, 02:00 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2047
Да где угодно можно взять. В том же кубе

STM32Cube_FW_H7_V1.5.0\Drivers\CMSIS


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 30 июл 2019, 10:51 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
Сижу разбираюсь с вашими советами. Давайте поначалу поговорим о железе.
Вот такая плата у меня с ибея
Вложение:
HTB1V_cEdZrI8KJjy0Fhq6zfnpXa8.jpg
HTB1V_cEdZrI8KJjy0Fhq6zfnpXa8.jpg [ 101.85 Кб | Просмотров: 1002 ]

Вот такой адаптер
Вложение:
Free-shipping-ST-Link-V2-stlink-mini-STM8STM32-STLINK-simulator-download-programming-With-Cover.jpg_640x640.jpg
Free-shipping-ST-Link-V2-stlink-mini-STM8STM32-STLINK-simulator-download-programming-With-Cover.jpg_640x640.jpg [ 68.71 Кб | Просмотров: 1002 ]

Подскажите, нужно ли покупать 20пиновый неоригинальный ST_link? Есть в нём какое-то преимущество кроме просто удобного разъема? Может более стабильная работа или больше функций?
Вложение:
HTB1Kc81RpXXXXagXpXXq6xXFXXXI.jpg
HTB1Kc81RpXXXXagXpXXq6xXFXXXI.jpg [ 55.49 Кб | Просмотров: 1002 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 30 июл 2019, 12:26 
Старожил

Зарегистрирован: 02 ноя 2015, 19:21
Сообщения: 682
Откуда: Санкт-Петербург
engineer83 писал(а):
Подскажите, нужно ли покупать 20пиновый неоригинальный ST_link? Есть в нём какое-то преимущество кроме просто удобного разъема? Может более стабильная работа или больше функций?
Вложение:
HTB1Kc81RpXXXXagXpXXq6xXFXXXI.jpg

смысла нет.
если хочется что-то купить, лучше уж тогда купить неоригинальный jlink последней модели.

P.S. у самого такой стлинк валяется с момента приобретения уже года 3.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 30 июл 2019, 13:07 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
Atomic-dm писал(а):
если хочется что-то купить, лучше уж тогда купить неоригинальный jlink последней модели.

да тут дело не в том, что деньги жмут. В любом начинании помимо неполного понимания работы, не очень хочется ещё ловить глюки оборудования )
А почему именно jlink?
Вот он?


Вложения:
HTB1WiqFdaSWBuNjSsrbq6y0mVXaJ.jpg
HTB1WiqFdaSWBuNjSsrbq6y0mVXaJ.jpg [ 118.44 Кб | Просмотров: 981 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 30 июл 2019, 14:34 
Старожил

Зарегистрирован: 19 апр 2016, 11:59
Сообщения: 537
Вы уже разобрались с ошибками при компиляции? Если нет, не имеет значения какой отладчик - шить все равно нечего. Для этой платы простого ST-Link с первой картинки больше чем достаточно. Создал для вас рабочий проект блинкера. Не кейл, им не пользуюсь.
Извлечь архивы в одну папку. Из-за ограничения форума файлы пришлось разделить на 2 архива.


Вложения:
SPL.7z [220.63 Кб]
Скачиваний: 78
STM32F407VGT_Blink.7z [106.06 Кб]
Скачиваний: 81
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 30 июл 2019, 16:15 
Заглядывает иногда

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 120
Уважаемый, Maik и Dosikus, спасибо за проделанную работу. Но кейл мне нравится, останусь на нём.
Уже разобрался. Заново создал проект, скачал пакет с сайта ST с библиотеками CMSIS, SPL. Вручную поперетаскивал файлы, прописал их.
Всё запустилось, светодиод моргает. Правда с низкой скоростью, нужно освоить настройку тактовой частоты.
И ещё, вот такое окно всё время вылазит при запуске Кейла 5.17
Что-то можно сделать?


Вложения:
aa.jpg
aa.jpg [ 45.01 Кб | Просмотров: 956 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 30 июл 2019, 21:45 
Старожил

Зарегистрирован: 02 ноя 2015, 19:21
Сообщения: 682
Откуда: Санкт-Петербург
engineer83 писал(а):
Что-то можно сделать?

я бы для начала советовал учить английский и перевести эту фразу See Build Output for details
потом лесть в настройки проекта , и смотреть в владках слова PDSC . а там по ситуации.
P.S. кейлов не пользуюсь, но думаю там все должно быть просто. видимо какой-то дефайн лишний стоит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 31 июл 2019, 02:05 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5879
engineer83 писал(а):
Всё запустилось, светодиод моргает. Правда с низкой скоростью, нужно освоить настройку тактовой частоты.

Все там же http://mcu.goodboard.ru/viewtopic.php?id=11

engineer83 писал(а):
И ещё, вот такое окно всё время вылазит при запуске Кейла 5.17
Что-то можно сделать?


Выкладывай проект посмотрю .
Кстати уже Keil v5.28a выложен...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 44 ]  На страницу 1, 2  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB