STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: STM32 новичку в ARM что к чему

Сообщение Satyr »

sx386 писал(а):Или можно вобще никуда не подключать ?

Можно, если от него вобще никуда не идет дорожка.
Иначе надо. Подтяжка очень слабая, наводок запросто может хватить для глюков
спящий
Потрогал лапой паяльник
Сообщения: 303
Зарегистрирован: Сб янв 08, 2011 13:48:41

Re: STM32 новичку в ARM что к чему

Сообщение спящий »

Я хочу купить принтер, подскажите марку принтера ,чтобы можно было схему на медь перенести, с корпусом СТМ32?

Авр у меня и на старом получался ,а вот СТМ32....
The_D
Встал на лапы
Сообщения: 108
Зарегистрирован: Пт июл 06, 2012 14:28:17
Откуда: Россия. г.Смоленск

Re: STM32 новичку в ARM что к чему

Сообщение The_D »

Как вы переносить собираетесь?
ЛУТ, фоторезист, а может напрямую на текстолите печатать? И чем старый не устраивает?
спящий
Потрогал лапой паяльник
Сообщения: 303
Зарегистрирован: Сб янв 08, 2011 13:48:41

Re: STM32 новичку в ARM что к чему

Сообщение спящий »

ЛУТ старый у меня вообще мазал,тоесть принтер надо покупать в любом случае. Ну беру я в основном для Лута.
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: STM32 новичку в ARM что к чему

Сообщение ChipKiller »

подскажите марку принтера ,чтобы можно было схему на медь перенести, с корпусом СТМ32?
хватало как старого HP-6P, так и Samsung-1440. В любом случае желательно, чтобы бумагу поменьше "крутило" ....
Galizin
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Ср окт 15, 2008 09:33:03
Откуда: Воронеж

Re: STM32 новичку в ARM что к чему

Сообщение Galizin »

спящий писал(а):А как избавлялся от бумаги? У меня оставалась между дорожек(

Наклеиваю скотч и аккуратно отдираю.
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: STM32 новичку в ARM что к чему

Сообщение ChipKiller »

Galizin писал(а):Наклеиваю скотч и аккуратно отдираю.
... как вариант можно бросить плату в электролит (раствор серной кислоты) - хорошо съедает мелованную пленку
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: STM32 новичку в ARM что к чему

Сообщение amv2000 »

Кто работает в IAR может подскажет при компиляции пишет:
Building configuration: Led_Tim - Debug
Updating build tree...
8 file(s) deleted.
Updating build tree...
main.c
startup_stm32f10x_md_vl.s
system_stm32f10x.c
Linking
c.out
Total number of errors: 0
Total number of warnings: 0
Ошибок нет, однако каких то 8 файлов удаляет, что это означает ?
makser
Открыл глаза
Сообщения: 71
Зарегистрирован: Пт апр 24, 2009 11:25:34
Откуда: Rus

Re: STM32 новичку в ARM что к чему

Сообщение makser »

Все нормально.
Удаляет файлы предыдущей сборки.
Аватара пользователя
amv2000
Опытный кот
Сообщения: 717
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Re: STM32 новичку в ARM что к чему

Сообщение amv2000 »

Понятно, спасибо за объяснение.
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: STM32 новичку в ARM что к чему

Сообщение TripleKill »

Создаю новый проект для F3 discovery. Хочу понять, что нужно с нуля.
На данный момент есть вот это:
Изображение

Кейл ругается на
"F3proj.axf: Error: L6218E: Undefined symbol assert_param (referred from stm32f30x_rcc.o)."

Я знаю, что это макрос, но не могу понять, как его добавить, т.е. где он находится.
Не подскажете?
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение urry »

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


stm32f4xx_conf.h
/* Exported macro ----------*/
#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 */


#ifdef  USE_FULL_ASSERT

/**
  * @brief  Reports the name of the source file and the source line number
  *   where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t* file, uint32_t line)
{
  /* User can add his own implementation to report the file name and line number,
     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

  /* Infinite loop */
  while (1)
  {}
}
#endif
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: STM32 новичку в ARM что к чему

Сообщение TripleKill »

Скопировал **conf.h в папку с проектом, в include paths в настройках проекта добавил. Та же история... Что ещё нужно поменять?
Почему-то кейл отказывается обрабатывать этот файл, хоть и в настройках он прописан.
Единственный способ скомпилить проект - явно прописать #include "stm32f30x_conf.h" во всех С-файлах StdPeriph (stm32f30x_rcc.c, stm32f30x_syscfg.c и т.д.). Но они же для всех должны быть одинаковыми, и менять их нельзя!
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 новичку в ARM что к чему

Сообщение dosikus »

TripleKill писал(а):Единственный способ скомпилить проект - явно прописать

Единственный способ - скачать архив этой вашей SPL и смотреть как устроены проекты.
Где можно узреть , что помимо тырканья методом тыка с исходниками и хэдерами , существуют еще и дефайны препроцессора .
Путь к stm32f30x_conf.h - должен быть прописан как и к прочим хэдерам этой срани.
В препроцессоре должен быть объявлен дефайн USE_STDPERIPH_DRIVER .
Ибо включает в stm32f30x.h эту срань. :

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

#ifdef USE_STDPERIPH_DRIVER
  #include "stm32f30x_conf.h"
#endif /* USE_STDPERIPH_DRIVER */


Содержимое хэдера stm32f30x_conf.h :
Спойлер

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

/* Define to prevent recursive inclusion ----------*/
#ifndef __STM32F30X_CONF_H
#define __STM32F30X_CONF_H

/* Includes ----------*/
/* Comment the line below to disable peripheral header file inclusion */
#include "stm32f30x_adc.h"
#include "stm32f30x_can.h"
#include "stm32f30x_crc.h"
#include "stm32f30x_comp.h"
#include "stm32f30x_dac.h"
#include "stm32f30x_dbgmcu.h"
#include "stm32f30x_dma.h"
#include "stm32f30x_exti.h"
#include "stm32f30x_flash.h"
#include "stm32f30x_gpio.h"
#include "stm32f30x_syscfg.h"
#include "stm32f30x_i2c.h"
#include "stm32f30x_iwdg.h"
#include "stm32f30x_opamp.h"
#include "stm32f30x_pwr.h"
#include "stm32f30x_rcc.h"
#include "stm32f30x_rtc.h"
#include "stm32f30x_spi.h"
#include "stm32f30x_tim.h"
#include "stm32f30x_usart.h"
#include "stm32f30x_wwdg.h"
#include "stm32f30x_misc.h"  /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */

/* Exported types ----------*/
/* Exported constants ----------*/
/* Uncomment the line below to expanse the "assert_param" macro in the
   Standard Peripheral Library drivers code */
/* #define USE_FULL_ASSERT    1 */

/* Exported macro ----------*/
#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 */

#endif /* __STM32F30X_CONF_H */


В итоге каждая либа видит stm32f30x_conf.h, ибо хэдер stm32f30x.h прописан в хэдере каждой либы.

Ненужные либы закомментировать
А лучше выкинуть их на и юзать CMSIS ...
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: STM32 новичку в ARM что к чему

Сообщение TripleKill »

Во, точно, я ж эту тему видел в настройках когда-то. Просто они были из других проектов переделаны.
В дефайнах препроцессора и пытался как раз прописать, только пробовал USE_FULL_ASSERT - короче, не то пробовал(
Спасибо большое!
Аватара пользователя
menzoda
Вымогатель припоя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Re: STM32 новичку в ARM что к чему

Сообщение menzoda »

Минимально (если охота Си) нужно:
1. Объявление стека и кучи (в одном регионе памяти или в разных)
2. Таблица векторов прерываний (все прерывания кроме reset можно сделать пустышками с бесконечным циклом)
3. Обработчик прерывания reset, который просто вызывает __main
4. Определение функции __user_initial_stackheap, которая возвращает указатели на стек/кучу (есть некоторые особенности в зависимости от того располагаются ли они в разных регионах памяти или в одном).

Ну и собственно сама функция main.
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: STM32 новичку в ARM что к чему

Сообщение TripleKill »

Без StdPeriph оно вполне себе компилилось, проблема только вот в дефайне была)
stemplar
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Вт ноя 27, 2012 17:50:35

Re: STM32 новичку в ARM что к чему

Сообщение stemplar »

drakon писал(а):спаял устройство, которое на борту имеет стабилизатор на 3,3в и запитал от внешнего источника питания. потом подключил к STM32VLDISCOVERY ( SWDIO, SWCLK, GND). прошиваться не хотело. потом я подключил вывод DISCOVERY 3.3В (на котором реально 3В, вся DISCOVERY питается от 3В) и все определилось. потом попробовал уменьшить напряжение внешнего источника питания так, чтобы на мк было 3В, при этом тоже все прошивается.

Повезло..
Я делал проще - питал платку на время доработки от STM32VLDISCOVERY - отказывалось шить, с сотого пинка зашило и снова в отказ. Перепропаял, перепроверил - SWDIO на земле внутри кристалла...черт его знает как так вышло. Тоска-печаль..код надо подправить, а SWD не пашет..
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение urry »

Без StdPeriph оно вполне себе компилилось, проблема только вот в дефайне была)

Справедливости ради хочу отметить, что этот джентльменский набор входит во все стеки, которые я видел - избавляясь от него, Вы обрекаете себя при портировании под себя этих самых стеков на дополнительную работу.
При инсталляции кейла инклюды прописываются (в опциях проекта вкладка с/с++)- необязательно тянуть их в каждый свой проект, главное, не забыть потом, что частота кварца изменилась, скажем. :)
И последнее, в кейле есть уже откомпилированный набор в виде объектного кода, (но у меня только для 10х серии
STM32F10xR.LIB) - включив в проект, можно не тянуть туда сишные файлы.
stemplar
Первый раз сказал Мяу!
Сообщения: 29
Зарегистрирован: Вт ноя 27, 2012 17:50:35

Re: STM32 новичку в ARM что к чему

Сообщение stemplar »

stemplar писал(а):Повезло..
Я делал проще - питал платку на время доработки от STM32VLDISCOVERY - отказывалось шить, с сотого пинка зашило и снова в отказ. Перепропаял, перепроверил - SWDIO на земле внутри кристалла...черт его знает как так вышло. Тоска-печаль..код надо подправить, а SWD не пашет..

К слову, коллеги..кто делал сетевой вольтметр?
Дико скачут показания, как оптимальнее выйти из ситуации - городить RC интегрирующую цепь или поставить программно выборку из АЦП не непрерывно, а с интервалом, скажем, пол секунды?
Ответить

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