Статистика
Время:
Зарегистрированных: 86039
Последним зарегистрирован: Edward68
Рекорд посещаемости: 12585
Групп пользователей: 4
 Группы:
[Admin] [Cоучастник] [Автор] [Модератор]
 Сейчас на сайте
 Всего: 350
 Гостей: 345
 Анонимных: 0
 Пользователей: 5
 Зарегистрированные:
ovsx Werewolf Papan spectrum29 svnnvs
Страницы: (3) [1] 2 3  ( Перейти к первому непрочитанному сообщению ) Ответить Новая тема Новый опрос

> CooCox CoIDE stm32f303cb, Вопросы чайника )))
bulat
Сообщение: # 828950   Sep 23 2019, 03:46 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 4495
Пользователь №: 91830
Регистрация: 5-April 12
Место жительства: башкортостан



Скачал CooCox CoIDE,из доступных мне стм самая простая STM32F303CBT6,его и выбрал,при попытке компиляции кода
CODE
#include "stm32f30x.h"
#include "stm32f30x_gpio.h"
#include "stm32f30x_rcc.h"


int main(void)
{
 int i;
 /* Initialize Leds mounted on STM32 board */
 GPIO_InitTypeDef  GPIO_InitStructure;
 /* Initialize LED which connected to PC13, Enable the Clock*/
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
 /* Configure the GPIO_LED pin */
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_Init(GPIOC, &GPIO_InitStructure);

 while (1)
 {
   /* Toggle LED which connected to PC13*/
   GPIOC->ODR ^= GPIO_Pin_13;

   /* delay */
   for(i=0;i<0x100000;i++);
 }
}


появились ошибки-
[cc] C:\CooCox\CoIDE\workspace\Example_GPIO\main.c:13:26: error: 'RCC_APB2Periph_GPIOC' undeclared (first use in this function)
и т д
библиотека stm32f303_rcc.h включёна
PMEmail Poster
Top
romanetz
Сообщение: # 828954   Sep 23 2019, 04:25 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5217
Пользователь №: 99518
Регистрация: 13-March 13




Дефайны проверьте


--------------------
То. что нельзя запрограммировать на ассемблере и vhdl - приходится паять.
PMEmail Poster
Top
ARM
Сообщение: # 828955   Sep 23 2019, 04:30 PM
Quote Post


Соучастник
***

Группа: Cоучастник
Сообщений: 448
Пользователь №: 113659
Регистрация: 23-November 15




Попробуйте изменить код строки инициализации нужного GPIO:
GPIO - GPIO_Init(GPIOA, &"name");
"name".GPIO_Mode = GPIO_Mode_Out_PP;
"name".GPIO_Pin = GPIO_Pin_13;
"name".GPIO_Speed = GPIO_Speed_50MHz;

Да, и как сказал romanetz строка GPIO_InitTypeDef "name";, попробуйте имя без нижнего подчеркивания сделать

Это сообщение отредактировал ARM - Sep 23 2019, 04:37 PM
PMEmail Poster
Top
bulat
Сообщение: # 828963   Sep 23 2019, 06:06 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 4495
Пользователь №: 91830
Регистрация: 5-April 12
Место жительства: башкортостан



Этот кококс и свои примеры при копиляции выдает ошибки,качал тут
PMEmail Poster
Top
vladlen
Сообщение: # 828968   Sep 23 2019, 06:36 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2000
Пользователь №: 70096
Регистрация: 31-August 10




Нет в h файле дефайна для RCC_APB2Periph_GPIOC.

Возможно, нужно заменить агрумент функции на RCC_AHBPeriph_GPIOC, для которого есть дефайн.
PM
Top
bulat
Сообщение: # 828970   Sep 23 2019, 06:48 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 4495
Пользователь №: 91830
Регистрация: 5-April 12
Место жительства: башкортостан



Я тоже туда добрался,подменил-все равно ошибки сыпятся,попробую переустановить,жаль оф сайт http://www.coocox.org пропал,приходится качать с файлообменников
А вы в какой среде программируете? желательно бесплатной,мне бы попробовать

Это сообщение отредактировал bulat - Sep 23 2019, 06:49 PM
PMEmail Poster
Top
vladlen
Сообщение: # 828971   Sep 23 2019, 06:52 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2000
Пользователь №: 70096
Регистрация: 31-August 10




На попробовать, бесплатный Keil_v5 есть на офсайте.
Ограничение по размеру в 16кБ для кода.

ps: перепроверил, пишут даже до 32кБ.

Это сообщение отредактировал vladlen - Sep 23 2019, 06:54 PM
PM
Top
bulat
Сообщение: # 828973   Sep 23 2019, 07:07 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 4495
Пользователь №: 91830
Регистрация: 5-April 12
Место жительства: башкортостан



спасибо!Но 32 мне мало...
PMEmail Poster
Top
vladlen
Сообщение: # 828974   Sep 23 2019, 07:11 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2000
Пользователь №: 70096
Регистрация: 31-August 10




Найдите "таблетку" и будет больше wink.gif
PM
Top
romanetz
Сообщение: # 828977   Sep 23 2019, 07:36 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5217
Пользователь №: 99518
Регистрация: 13-March 13




Щаз вроде все на platformio и visual studio code перепрыгивают


--------------------
То. что нельзя запрограммировать на ассемблере и vhdl - приходится паять.
PMEmail Poster
Top
bulat
Сообщение: # 828979   Sep 23 2019, 07:45 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 4495
Пользователь №: 91830
Регистрация: 5-April 12
Место жительства: башкортостан



5 часов в Гугле и скомпилировалось...
CODE
#include "stm32f30x.h"
#include "stm32f30x_gpio.h"
#include "stm32f30x_rcc.h"


int main(void)
{
int i;
/* Initialize Leds mounted on STM32 board */
GPIO_InitTypeDef  GPIO_InitStructure;
/* Initialize LED which connected to PC13, Enable the Clock*/
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);
/* Configure the GPIO_LED pin */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);

while (1)
{
  /* Toggle LED which connected to PC13*/
// GPIO_Pin_13^= GPIO_Pin_13;
 GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_SET);
  /* delay */
  for(i=0;0x100000;i++);
  GPIO_WriteBit(GPIOC,GPIO_Pin_13,Bit_RESET);
  /* delay */
     for(i=0;0x100000;i++);
}
}

Program Size:
text data bss dec hex filename
1294 0 0 1294 50e Example_Blink_303.elf

BUILD SUCCESSFUL
-это 1294 байта что ли? много...
PMEmail Poster
Top
bulat
Сообщение: # 828980   Sep 23 2019, 07:49 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 4495
Пользователь №: 91830
Регистрация: 5-April 12
Место жительства: башкортостан



С исходником из 1 поста все ошибки(я не все назвал тогда)-
CODE

main.c:12:25: error: 'RCC_APB2Periph_GPIOC' undeclared (first use in this function)
main.c:15:33: error: 'GPIO_Mode_Out_PP' undeclared (first use in this function)
main.c:17:20: error: 'amp' undeclared (first use in this function)
main.c:17:23: error: expected ')' before ';' token
main.c:22:27: error: 'gt' undeclared (first use in this function)
main.c:22:30: error: 'ODR' undeclared (first use in this function)
main.c:25:21: error: expected ')' before ';' token
main.c:10:20: warning: variable 'GPIO_InitStructure' set but not used [-Wunused-but-set-variable]
PMEmail Poster
Top
romanetz
Сообщение: # 828996   Sep 23 2019, 09:47 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5217
Пользователь №: 99518
Регистрация: 13-March 13




QUOTE (bulat @ Sep 23 2019, 11:45 PM)
BUILD SUCCESSFUL
-это 1294 байта что ли? много...

Каждая инструкция 16 бит, а некоторые - все 32. Ну, правда, и толку с них намного больше (303 серия - cortex m4, с аппаратным fpu) - попробуйте на атмеге поделить два флоата друг на друга - заряжаешь, и можно идти курить.
Порою извращенцы встречаются, которые готовы стм32 на ассемблере кодить.

Это сообщение отредактировал romanetz - Sep 23 2019, 09:48 PM


--------------------
То. что нельзя запрограммировать на ассемблере и vhdl - приходится паять.
PMEmail Poster
Top
bulat
Сообщение: # 829011   Sep 24 2019, 05:15 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 4495
Пользователь №: 91830
Регистрация: 5-April 12
Место жительства: башкортостан



Всем спасибо,тему можно закрыть!
Буду втихаря разбираться сам(прикручу дисплейчик какой нибудь)
PMEmail Poster
Top
vladlen
Сообщение: # 829014   Sep 24 2019, 08:36 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2000
Пользователь №: 70096
Регистрация: 31-August 10




Забавно, 32кБ Вам малоsmile.gif
Даже интересно, что такого Вы успели сочинить, что Вам 32кБ уже не хватает?

Минутка горькой правды.
Корень проблемы, которая в начальном сообщении и за которую Вы заплатили пятью часами жизни, в банальной невнимательности.
Внимательнее будьте wink.gif
PM
Top
bulat
Сообщение: # 829029   Sep 24 2019, 11:25 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 4495
Пользователь №: 91830
Регистрация: 5-April 12
Место жительства: башкортостан



Может для вас 32 кб это предел мечтаний,мне мало...
Я когда скачал баском авр там было ограничение 2 кб,вроде норм,но потом оказалось мало
Сейчас и 32 кб не хватает
Как видите простое переключение портом занимает более килобайта
Я не от нех... делать занялся стм,в планах проект,первое-добавить дисплей st7735 либо ili9341,а там эти 32 кб съест только библиотека со шрифтами
Тему можно закрыть!
PMEmail Poster
Top
Flight
Сообщение: # 829044   Sep 24 2019, 05:02 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 10391
Пользователь №: 20099
Регистрация: 16-April 07
Место жительства: Россия



QUOTE (bulat @ Sep 24 2019, 01:25 PM)
Как видите простое переключение портом занимает более килобайта

Посмотри в сторону CMSIS.. Это не так сложно как кажется с первого раза.
PMEmail PosterUsers Website
Top
vladlen
  Сообщение: # 829057   Sep 24 2019, 06:13 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2000
Пользователь №: 70096
Регистрация: 31-August 10




QUOTE (bulat @ Sep 24 2019, 11:25 AM)
...простое переключение портом занимает более килобайта...
Само переключение не большое:
GPIOx->BSRR = (uint32_t)GPIO_PIN_x
GPIOx->BRR = (uint32_t)GPIO_PIN_x

Но оно под слоем абстракций, чтобы проект был независим от железа, по-моему.

QUOTE (bulat @ Sep 24 2019, 11:25 AM)
Может для вас 32 кб это предел мечтаний,мне мало...
Я уже даже не мечтаю, чтобы столько места занимать чем-то хоть мало мальски полезным.


Это сообщение отредактировал bulat - Nov 00 2019, 12:34 PM
PM
Top
romanetz
Сообщение: # 829062   Sep 24 2019, 07:32 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5217
Пользователь №: 99518
Регистрация: 13-March 13




Для Си всё равно будут накладные расходы, таблица векторов прерываний, очистка стека/оперативной памяти в начале программы. Надо startup курить и дизассемблер прошивки, что там куда. Опять же, настройки оптимизации компилятора какие использованы.
GPIO->BSRR=const вообще в одну ассемблерную команду помещается (ну хорошо, в две)

Это сообщение отредактировал romanetz - Sep 24 2019, 07:34 PM


--------------------
То. что нельзя запрограммировать на ассемблере и vhdl - приходится паять.
PMEmail Poster
Top
romanetz
Сообщение: # 829063   Sep 24 2019, 07:36 PM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5217
Пользователь №: 99518
Регистрация: 13-March 13




QUOTE (Flight @ Sep 24 2019, 09:02 PM)
QUOTE (bulat @ Sep 24 2019, 01:25 PM)
Как видите простое переключение портом занимает более килобайта

Посмотри в сторону CMSIS.. Это не так сложно как кажется с первого раза.

У SPL не такой большой оверхед, как принято считать, местами тот же CMSIS и есть


--------------------
То. что нельзя запрограммировать на ассемблере и vhdl - приходится паять.
PMEmail Poster
Top
P32L
Сообщение: # 829081   Sep 24 2019, 09:44 PM
Quote Post


Соучастник
****

Группа: Cоучастник
Сообщений: 829
Пользователь №: 104521
Регистрация: 4-January 14
Место жительства: RUS35,29



QUOTE (bulat @ Sep 24 2019, 11:25 AM)
Может для вас 32 кб это предел мечтаний,мне мало...

А чем Вас Keil не устраивает? Есть и ломаные версии и все работает.Могу ссылку дать.
PMEmail Poster
Top
bulat
Сообщение: # 829083   Sep 24 2019, 10:04 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 4495
Пользователь №: 91830
Регистрация: 5-April 12
Место жительства: башкортостан



А чем кокос хуже? вам доплачивают за рекламу кейла? biggrin.gif
Никакого кейла качать не буду-один раз скачал,спросил-"почему нет окна колонки где написано "Target 1 и Source Group 1" " ,никто не ответил на такой вопрос,посоветовали скачать System Workbench for STM32: free IDE-
QUOTE
По сути тот же кокос но уже полностью настроенный готовый к употреблению.


Тут более менее разобрался,изучаю SPI,в кейле так и искал бы эту колонку "Target 1 и Source Group 1"-я по английски только "ханды хох" понимаю
PMEmail Poster
Top
P32L
Сообщение: # 829116   Sep 25 2019, 08:01 AM
Quote Post


Соучастник
****

Группа: Cоучастник
Сообщений: 829
Пользователь №: 104521
Регистрация: 4-January 14
Место жительства: RUS35,29



Ну тут каждый сам для себя выбирает)) Я тоже ставил кокос и сейчас установлен,но разбираться стал с кейлом,он мне вроде как больше понравился.
PMEmail Poster
Top
romanetz
Сообщение: # 829120   Sep 25 2019, 09:42 AM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5217
Пользователь №: 99518
Регистрация: 13-March 13




А где самую последнюю версию кокоса взять? У меня от 2017 года лежит инстальник, может, что-то новее существует?


--------------------
То. что нельзя запрограммировать на ассемблере и vhdl - приходится паять.
PMEmail Poster
Top
Linkoln
Сообщение: # 829176   Sep 25 2019, 10:50 PM
Quote Post


Соучастник
***

Группа: Cоучастник
Сообщений: 376
Пользователь №: 75882
Регистрация: 24-January 11




На сайте ST.com есть STM32Cube IDE - там встроенный С -компилятор (на шару).
А дальше хоть HAL хоть LL или CMSIS /
все что душе ближе.
В Keil и IAR очень отладчик уж классный .
Кто что больше любит .
PMEmail Poster
Top
vitalik_b
Сообщение: # 829182   Sep 26 2019, 12:48 AM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7589
Пользователь №: 35582
Регистрация: 3-August 08
Место жительства: Украина, Харьков



QUOTE (vladlen @ Sep 24 2019, 07:36 AM)
Забавно, 32кБ Вам малоsmile.gif
Даже интересно, что такого Вы успели сочинить, что Вам 32кБ уже не хватает?

Минутка горькой правды.
Корень проблемы, которая в начальном сообщении и за которую Вы заплатили пятью часами жизни, в банальной невнимательности.
Внимательнее будьте wink.gif

Мало, если оборачивать какой либо код как независимый модуль. Тот же самый код взаимодействия с дисплеем обернуть в модуль, т.е. чтобы обращаться к нему не через тупой putchar, а в виде создания объекта GUI в рабочей области.

А если делать по ардунски, монолитно, где весь код связан с друг другом и единожды написав его добавить что то уже практически невозможно, то да, на такой код и 2 кБ хватит. Тоже касается и каких либо устройств без кнопок дисплеев, тем же контроллером RGB подсветки в какой либо говно колонке JBL, там памяти много не уйдет.


--------------------
TDA - The Digital Audio
Если плоскогубцы выскользнули из рук, то они обязательно упадут именно в то место, где смогут принести наибольшие потери. Закон Мэрфи.
PMEmail Poster
Top
vladlen
Сообщение: # 829187   Sep 26 2019, 01:46 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2000
Пользователь №: 70096
Регистрация: 31-August 10




Сформулирую проще, покажите пример своего творчества, в котором уже не хватает 32кБ?

(Ну хотя бы что-то, что вы уже написали сами и оно не влазит в эти 32к.
Пока что только абстрактные обсуждения.)
PM
Top
bulat
Сообщение: # 829189   Sep 26 2019, 05:39 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 4495
Пользователь №: 91830
Регистрация: 5-April 12
Место жительства: башкортостан



Не надо передергивать-я имел ввиду не хватает памяти в Bascom AVR 32 кб-
QUOTE
Я когда скачал баском авр там было ограничение 2 кб,вроде норм,но потом оказалось мало
Сейчас и 32 кб не хватает

Прекрасно зная что начнется флуд и обсирание той конструкции даю ссылку тынц
И вот еще что-почему вас так раздражает то что я хочу изучить кокос?
Я же по русски написал-когда я скачал кейл и сразу проблема никто не стал помогать с решением одной маленькой проблемы-"почему нет окна колонки где написано "Target 1 и Source Group 1" ",посоветовали скачать System Workbench for STM32: free IDE,
QUOTE
По сути тот же кокос но уже полностью настроенный готовый к употреблению.
,теперь скачал кокос и вы мне предлагаете опять скачать кейл,я его вчера только ставил а толку-нет того окна хоть тресни,снова удалил
МНЕ НЕ НУЖЕН ЭТОТ КЕЙЛ!!

Это сообщение отредактировал bulat - Sep 26 2019, 05:45 AM

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение
PMEmail Poster
Top
bulat
Сообщение: # 829190   Sep 26 2019, 06:13 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 4495
Пользователь №: 91830
Регистрация: 5-April 12
Место жительства: башкортостан



А вот та тема ,как видите по сей день никто ничего не ответил по тому вопросу
Буду изучать кокос и точка!
Втихаря... angry.gif
PMEmail Poster
Top
romanetz
Сообщение: # 829194   Sep 26 2019, 06:51 AM
Quote Post


Дедушка
*******

Группа: Cоучастник
Сообщений: 5217
Пользователь №: 99518
Регистрация: 13-March 13




Напрасно, кокос как проект уже закрыли. Жаль, имхо, при всей своей кривоте довольно удобная штука была. Eclipse, кстати, на основе которого был сделан кокос - живее всех живых и за последние 1 лет сильно лучше стал (где-то есть версия от 2009 года и свежая с сайта 2019-09 - небо и земля)


--------------------
То. что нельзя запрограммировать на ассемблере и vhdl - приходится паять.
PMEmail Poster
Top

Настройки темыСтраницы: (3) [1] 2 3  Ответить Шустрый ответ Новая тема Новый опрос


 




    banner DIPTRACE - САМЫЙ ЛУЧШИЙ ТАКСИРОВЩИК ПЕЧАТНЫХ ПЛАТ
Portal-X