Easyelectronics.ru

Электроника для всех
Текущее время: 17 сен 2019, 11:45

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

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

Зарегистрирован: 16 дек 2013, 16:38
Сообщения: 112
Добрый день всем!
Так получилось, что я ушлый железячник, и программирование - это больше хобби. Любил писать на ассемблере 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 Кб | Просмотров: 904 ]
файлы1.jpg
файлы1.jpg [ 171.1 Кб | Просмотров: 904 ]
файлы.jpg
файлы.jpg [ 118.47 Кб | Просмотров: 904 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32F4xx нужна помощь
СообщениеДобавлено: 28 июл 2019, 15:29 
Старожил

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


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

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


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

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


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

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


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


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

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


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

Зарегистрирован: 19 апр 2016, 11:59
Сообщения: 436
Из файла 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
Сообщения: 112
Maik писал(а):
Из файла stm32f4xx_conf.h


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

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

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


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

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


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

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

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

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

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

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


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

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

Всего 7 дней !


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

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

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


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

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


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

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


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

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


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

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

STM32Cube MCU Package for STM32H7.


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

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

STM32Cube_FW_H7_V1.5.0\Drivers\CMSIS


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

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

Вот такой адаптер
Вложение:
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 Кб | Просмотров: 711 ]

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


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

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

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

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


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

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

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


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

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


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

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


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

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

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


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

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

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

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


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


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

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


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

Сейчас этот форум просматривают: Nosaer


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

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

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