Таймер не работает
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
Блин, я бы Вас понял, если бы не тот момент что гугл на -g3 выдает немецкую автоматическую винтовку( Мне пока такое сложно к сожалению(
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755500#p3755500"]Почитываю! По чуток чтобы каши не было. вот тебя все утро жду спать не ложусь) Анализатора у меня не ма к сожалению, я занимаюсь ремонтом пром оборудования, а контроллерами занимаюсь первую неделю к сожалению.[/uquote]
Вы не с того начали, так сложно будет.
Так правильно
Так нет, никогда так не пишите.
Вы не с того начали, так сложно будет.
Так правильно
Код: Выделить всё
#define FMC_BANK1 ((LCTDef *)(uint32_t)(0x60000000 | 0x00000000))
FMC_BANK1->RAM = Data;
__DSB();
Так нет, никогда так не пишите.
Код: Выделить всё
((LCTDef *)(uint32_t)(0x60000000 | 0x00000000))->RAM = Command;//LCD_IO_WriteData(Parameters[i]);
как только отвлечетесь и займетесь чем-то другим понять будет сложнее, тогда как первая конструкция останется простой и понятной.Вот это сокращение мне очень нравиться! Его кажется даже понять стало легче, спасибо большое!
После нас - хоть потоп (с) Лойсо
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
FMC_BANK1->RAM = RGBCode;
__DSB();
Так тоже работает.
((LCTDef *)(uint32_t)(0x60000000 | 0x00000000))->RAM = Command; Но это же тоже самое, что оно не работает то
__DSB();
Так тоже работает.
((LCTDef *)(uint32_t)(0x60000000 | 0x00000000))->RAM = Command; Но это же тоже самое, что оно не работает то
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755504#p3755504"]Блин, я бы Вас понял, если бы не тот момент что гугл на -g3 выдает немецкую автоматическую винтовку( Мне пока такое сложно к сожалению([/uquote]
Окей, подробнее.
Все конструкции вида GPIOC->ODR это макросы препроцессора (#define), для компилятора это просто числа и строки в которые они разворачиваются.
вы пишете
компилятор это видит как
Никакого макроса VAR он не знает. если попробуете посмотреть значение этого макроса - отладчик скажет, что не знает такого символа. Тоже самое происходит, когда вы пытаетесь посмотреть содержимое регистров, обращаясь к ним через макросы CMSIS.
Но. У компилятора GCC есть "уровень отладки 3" при котором в исполняемый файл попадают все определенные макросы и их можно будет смотреть.
Собирать нужно как-то так
Это почти как обычно, но добавился тот самый ключ. После сборки с ним можно будет в watchlist добавить любые регистры
не тоже самое
Окей, подробнее.
Все конструкции вида GPIOC->ODR это макросы препроцессора (#define), для компилятора это просто числа и строки в которые они разворачиваются.
вы пишете
Код: Выделить всё
#define VAR 10
int v = VAR;
компилятор это видит как
Код: Выделить всё
int v = 10;
Никакого макроса VAR он не знает. если попробуете посмотреть значение этого макроса - отладчик скажет, что не знает такого символа. Тоже самое происходит, когда вы пытаетесь посмотреть содержимое регистров, обращаясь к ним через макросы CMSIS.
Но. У компилятора GCC есть "уровень отладки 3" при котором в исполняемый файл попадают все определенные макросы и их можно будет смотреть.
Собирать нужно как-то так
Код: Выделить всё
arm-none-eabi-gcc -g3 -c -mcpu=cortex-m3 -mthumb main.cЭто почти как обычно, но добавился тот самый ключ. После сборки с ним можно будет в watchlist добавить любые регистры
Но это же тоже самое, что оно не работает то
не тоже самое
Код: Выделить всё
__DSB();После нас - хоть потоп (с) Лойсо
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
Владислав, а если все настройки сунуть в low_level_init.cpp, и вызывать только функции типа WritePixel();, они будут находить адресата? И файл "stm32f412zx.h", надо подключать в обоих документах или только в low_level_init.cpp?
Добавлено after 1 minute 52 seconds:
__DSB(); У меня была, просто без нее ни чего не менялось и я ее упростил(
Добавлено after 48 seconds:
А про макросы я понял, спасибо большое!
Добавлено after 1 minute 52 seconds:
__DSB(); У меня была, просто без нее ни чего не менялось и я ее упростил(
Добавлено after 48 seconds:
А про макросы я понял, спасибо большое!
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
bevice, у ТС Iar, не забивай ему мозги GCC-ной мутью.
Re: Таймер не работает
[uquote="VladislavS",url="/forum/viewtopic.php?p=3755514#p3755514"]bevice, у ТС Iar, не забивай ему мозги GCC-ной мутью.[/uquote]
Так он неделю назад начал, может сейчас плюнет на иар и будет нормальным компилятором собирать. Бесплатным, без ограничений, с официальной поддержкой arm.com
Тем более, что подвижки в правильную сторону у ТС имеются.
Так он неделю назад начал, может сейчас плюнет на иар и будет нормальным компилятором собирать. Бесплатным, без ограничений, с официальной поддержкой arm.com
Тем более, что подвижки в правильную сторону у ТС имеются.
После нас - хоть потоп (с) Лойсо
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755513#p3755513"]Владислав, а если все настройки сунуть в low_level_init.cpp,[/uquote]В low_level_init стоит перенести все настройки микроконтроллера, которые выполняются один раз при старте: тактирование, GPIO, FSMC. Всё что касается каких-то внешних железок написать в соответствующих файлах, типа lcd.cpp - так что-то типа библиотеки получится.
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755513#p3755513"]и вызывать только функции типа WritePixel();, они будут находить адресата?[/uquote]Чего???
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755513#p3755513"]И файл "stm32f412zx.h", надо подключать в обоих документах или только в low_level_init.cpp?[/uquote]Его нужно подключать там где необходимо его содержимое. Ты же не просто потому что у него красивое имя подключаешь.
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755513#p3755513"]__DSB(); У меня была, просто без нее ни чего не менялось и я ее упростил([/uquote]Я думаю, барьер тут вообще не причём. Надо бы разобраться с тем что и как ты в индикатор пихаешь.
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755513#p3755513"]А про макросы я понял, спасибо большое![/uquote]Везёт, даже я ничего не понял
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755513#p3755513"]и вызывать только функции типа WritePixel();, они будут находить адресата?[/uquote]Чего???
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755513#p3755513"]И файл "stm32f412zx.h", надо подключать в обоих документах или только в low_level_init.cpp?[/uquote]Его нужно подключать там где необходимо его содержимое. Ты же не просто потому что у него красивое имя подключаешь.
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755513#p3755513"]__DSB(); У меня была, просто без нее ни чего не менялось и я ее упростил([/uquote]Я думаю, барьер тут вообще не причём. Надо бы разобраться с тем что и как ты в индикатор пихаешь.
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755513#p3755513"]А про макросы я понял, спасибо большое![/uquote]Везёт, даже я ничего не понял
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755513#p3755513"]__DSB(); У меня была, просто без нее ни чего не менялось и я ее упростил([/uquote]
Это для синхронизации.
Это для синхронизации.
После нас - хоть потоп (с) Лойсо
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
Я так понял можно сделать так, чтобы макросы при компиляции не упрощались и их можно было бы смотреть в отладчике.
Про адресата я имею в виду, если функция в одном файле, то из другого ее можно вызвать? Когда я занимался опенгл, надо было переменные, чтобы использовать по всему проекту как то особенно объявлять, кажется public int i; хотя могу ошибаться, 15 лет прошло
Про адресата я имею в виду, если функция в одном файле, то из другого ее можно вызвать? Когда я занимался опенгл, надо было переменные, чтобы использовать по всему проекту как то особенно объявлять, кажется public int i; хотя могу ошибаться, 15 лет прошло
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
[uquote="bevice",url="/forum/viewtopic.php?p=3755516#p3755516"]Так он неделю назад начал, может сейчас плюнет на иар и будет нормальным компилятором собирать.[/uquote]Вот не вот этих ЛОЗУНГОВ. У меня есть опыт сборки проектов разными компиляторами. Для новичка IAR будет лучше. Из-под него рабочий код проще получить.
[uquote="bevice",url="/forum/viewtopic.php?p=3755516#p3755516"]Бесплатным, без ограничений, с официальной поддержкой arm.com[/uquote]Что-то мне подсказывает, что у ТС Iar тоже бесплатный. А что имеется в виду под официальной поддержкой arm.com?
[uquote="bevice",url="/forum/viewtopic.php?p=3755516#p3755516"]Бесплатным, без ограничений, с официальной поддержкой arm.com[/uquote]Что-то мне подсказывает, что у ТС Iar тоже бесплатный. А что имеется в виду под официальной поддержкой arm.com?
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755513#p3755513"]а если все настройки сунуть в low_level_init.cpp, и вызывать только функции типа WritePixel();, они будут находить адресата? И файл "stm32f412zx.h", надо подключать в обоих документах или только в low_level_init.cpp?[/uquote]
Сначала разберитесь с тем как работает компилятор, это важная тема.
Вы сейчас сразу за все хватаетесь, очень много всего нового и не сразу понятного - так накосячить можно в тысячах мест.
Добавлено after 5 minutes 7 seconds:
[uquote="VladislavS",url="/forum/viewtopic.php?p=3755526#p3755526"][uquote="bevice",url="/forum/viewtopic.php?p=3755516#p3755516"]Так он неделю назад начал, может сейчас плюнет на иар и будет нормальным компилятором собирать.[/uquote]Вот не вот этих ЛОЗУНГОВ. У меня есть опыт сборки проектов разными компиляторами. Для новичка IAR будет лучше. Из-под него рабочий код проще получить.
[uquote="bevice",url="/forum/viewtopic.php?p=3755516#p3755516"]Бесплатным, без ограничений, с официальной поддержкой arm.com[/uquote]Что-то мне подсказывает, что у ТС Iar тоже бесплатный. А что имеется в виду под официальной поддержкой arm.com?[/uquote]
У меня тоже есть опыт сборки разными компиляторами. Ничего сложного в сборке любым нет. Если, конечно, вы не программист-накликал-в-форму-мышкой. С каких пор новичку проще иар? Мне вот кажется, что Clion будет порядком удобнее. Там хотя бы нормальная IDE а не блокнот с компилятором.
Под официальной поддежркой понимается, что arm-none-eabi-gcc сейчас тянет ARM.
https://developer.arm.com/tools-and-sof ... /downloads
Сначала разберитесь с тем как работает компилятор, это важная тема.
Вы сейчас сразу за все хватаетесь, очень много всего нового и не сразу понятного - так накосячить можно в тысячах мест.
Добавлено after 5 minutes 7 seconds:
[uquote="VladislavS",url="/forum/viewtopic.php?p=3755526#p3755526"][uquote="bevice",url="/forum/viewtopic.php?p=3755516#p3755516"]Так он неделю назад начал, может сейчас плюнет на иар и будет нормальным компилятором собирать.[/uquote]Вот не вот этих ЛОЗУНГОВ. У меня есть опыт сборки проектов разными компиляторами. Для новичка IAR будет лучше. Из-под него рабочий код проще получить.
[uquote="bevice",url="/forum/viewtopic.php?p=3755516#p3755516"]Бесплатным, без ограничений, с официальной поддержкой arm.com[/uquote]Что-то мне подсказывает, что у ТС Iar тоже бесплатный. А что имеется в виду под официальной поддержкой arm.com?[/uquote]
У меня тоже есть опыт сборки разными компиляторами. Ничего сложного в сборке любым нет. Если, конечно, вы не программист-накликал-в-форму-мышкой. С каких пор новичку проще иар? Мне вот кажется, что Clion будет порядком удобнее. Там хотя бы нормальная IDE а не блокнот с компилятором.
Под официальной поддежркой понимается, что arm-none-eabi-gcc сейчас тянет ARM.
https://developer.arm.com/tools-and-sof ... /downloads
Последний раз редактировалось bevice Сб дек 14, 2019 10:32:51, всего редактировалось 1 раз.
После нас - хоть потоп (с) Лойсо
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755523#p3755523"]Про адресата я имею в виду, если функция в одном файле, то из другого ее можно вызвать?[/uquote]А как ты думаешь библиотеки пишут? Конечно можно. Читаем что такое объявление и определение переменных и функций.
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755523#p3755523"]Я так понял можно сделать так, чтобы макросы при компиляции не упрощались и их можно было бы смотреть в отладчике.
Про адресата я имею в виду, если функция в одном файле, то из другого ее можно вызвать? Когда я занимался опенгл, надо было переменные, чтобы использовать по всему проекту как то особенно объявлять, кажется public int i; хотя могу ошибаться, 15 лет прошло[/uquote]
Если интересно как устроено - скажите, расскажу.
Если нужно чтобы работало: в файле заголовка объявляете функцию, в коде пишете реализацию этой функции. Там где будете использовать - подключаете заголовок, в котором объявление и пользуетесь.
foo.h
foo.c
main.c
Переменные глобальные можно в другом файле использовать, если объявить их
extern
foo1.c
foo2.c foo3.c итд:
теперь во всех этих файлах видно одну и ту же переменную
Про адресата я имею в виду, если функция в одном файле, то из другого ее можно вызвать? Когда я занимался опенгл, надо было переменные, чтобы использовать по всему проекту как то особенно объявлять, кажется public int i; хотя могу ошибаться, 15 лет прошло[/uquote]
Если интересно как устроено - скажите, расскажу.
Если нужно чтобы работало: в файле заголовка объявляете функцию, в коде пишете реализацию этой функции. Там где будете использовать - подключаете заголовок, в котором объявление и пользуетесь.
foo.h
Код: Выделить всё
void my_foo(); // это заголовок
foo.c
Код: Выделить всё
void my_foo() {
// тут реализация
}main.c
Код: Выделить всё
#include "foo.h" // подключаете заголовок
void main(){
my_foo(); // пользуетесь функцией
}
Переменные глобальные можно в другом файле использовать, если объявить их
extern
foo1.c
Код: Выделить всё
int some_var = 0;
..
foo2.c foo3.c итд:
Код: Выделить всё
extern int some_var;
теперь во всех этих файлах видно одну и ту же переменную
Последний раз редактировалось bevice Сб дек 14, 2019 10:40:25, всего редактировалось 1 раз.
После нас - хоть потоп (с) Лойсо
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
Во, это вы хорошо расписали, спасибо!
По поводу таймингов, они же все слизаны с примера, или были подставлены в пример для проверки и он не тупит, по моему я где то конкретно накосячил просто.
Добавлено after 9 minutes 34 seconds:
Господа, не могли бы вы еще мне подсказать, есть некая система когда мы имеем некий буфер, отрисовываем там картинку, выкидываем на экран а в это время рисуем уже другую, тут это неприменимо?
По поводу таймингов, они же все слизаны с примера, или были подставлены в пример для проверки и он не тупит, по моему я где то конкретно накосячил просто.
Добавлено after 9 minutes 34 seconds:
Господа, не могли бы вы еще мне подсказать, есть некая система когда мы имеем некий буфер, отрисовываем там картинку, выкидываем на экран а в это время рисуем уже другую, тут это неприменимо?
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
[uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]С каких пор новичку проще иар?[/uquote]Во-первых, у Iar нет таких степеней свободы. Во-вторых, настройки по умолчанию рабочие и их можно вообще не трогать по началу. В-третьих, он многое "прощает" при опитмизации. На GCC не дай бог пропустил где volatile и всё, считай код потёрт.
[uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]Мне вот кажется, что Clion будет порядком удобнее.[/uquote]Представляю как новичок сможет её настроить для сборки и отладки STM32. Угумс. И с бесплатностью что-то как-то....
[uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]Там хотя бы нормальная IDE а не блокнот с компилятором.[/uquote]Простая IDE с минимумом настроек и свистоперделок для новичка самое то. Меньше степеней свободы, меньше отвлекающих факторов. Ты же видишь как он в двух строчках кода разобраться не может, а тут ещё IDE настрой, компиялтор настрой...
[uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]Под официальной поддежркой понимается, что arm-none-eabi-gcc сейчас тянет ARM.[/uquote]И чего? IAR - рабочая лошадка уже десятки лет без всяких "тянет ARM". Заметь, я не говорю, что GCC плохой. Просто на IAR проще получить рабочий результат именно новичку.
[uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]Мне вот кажется, что Clion будет порядком удобнее.[/uquote]Представляю как новичок сможет её настроить для сборки и отладки STM32. Угумс. И с бесплатностью что-то как-то....
[uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]Там хотя бы нормальная IDE а не блокнот с компилятором.[/uquote]Простая IDE с минимумом настроек и свистоперделок для новичка самое то. Меньше степеней свободы, меньше отвлекающих факторов. Ты же видишь как он в двух строчках кода разобраться не может, а тут ещё IDE настрой, компиялтор настрой...
[uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]Под официальной поддежркой понимается, что arm-none-eabi-gcc сейчас тянет ARM.[/uquote]И чего? IAR - рабочая лошадка уже десятки лет без всяких "тянет ARM". Заметь, я не говорю, что GCC плохой. Просто на IAR проще получить рабочий результат именно новичку.
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
У меня вообще была мечта скачать новую VS и писать под ней, 15 лет уж не виделись, но у меня только ssd на 126г, и она вместе с дистрибьютивом столько же весит, вот так остался без мечты)
Re: Таймер не работает
[uquote="VladislavS",url="/forum/viewtopic.php?p=3755544#p3755544"][uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]С каких пор новичку проще иар?[/uquote]Во-первых, у Iar нет таких степеней свободы. Во-вторых, настройки по умолчанию рабочие и их можно вообще не трогать по началу. В-третьих, он многое "прощает" при опитмизации. На GCC не дай бог пропустил где volatile и всё, считай код потёрт.
[uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]Мне вот кажется, что Clion будет порядком удобнее.[/uquote]Представляю как новичок сможет её настроить для сборки и отладки STM32. Угумс. И с бесплатностью что-то как-то....
[uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]Там хотя бы нормальная IDE а не блокнот с компилятором.[/uquote]Простая IDE с минимумом настроек и свистоперделок для новичка самое то. Меньше степеней свободы, меньше отвлекающих факторов. Ты же видишь как он в двух строчках кода разобраться не может, а тут ещё IDE настрой, компиялтор настрой...[/uquote]Под официальной поддежркой понимается, что arm-none-eabi-gcc сейчас тянет ARM. [/uquote]И чего? IAR - рабочая лошадка уже десятки лет без всяких "тянет ARM". Заметь, я не говорю, что GCC плохой. Просто на IAR проще получить рабочий результат именно новичку.[/uquote]
* не нужно пропускать volatile там где он нужен и с оптимизацией-по умолчанию ничего страшного не случится. Если иар позволяет такие фокусы даже со включенной на полную оптимизацией - оптимизатор у него не работает.
* New project -> Get from Version Control. Пишем адрес шаблона. Готово. Еще в одном окне выбрать какой отладчик.
Да она не бесплатная, но стоит как 1/100 иара, при этом является вменяемой IDE и быстро работает. Но если так не нравится - Code::Block почти без настроек работает. Буквально вчера пробовал.
* Да я вижу, что человек плавает в простейших вещах. Но на галочках иара у него понимание как устроено и не появится.
Рабочий код новичку получить с GCC ваще просто, у меня например к гитлабу автосборщики прикручены - коммитите код, он его сам собирает, ваще нажимать ничего не нужно. Есть docker-сборщик, которому нужно только указать в какой папке у вас лежат исходники, тут тоже кроме докера ничего не потребуется.
В общем вы где-то в 90х потерялись, вместе с IAR
Добавлено after 41 second:
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755553#p3755553"]У меня вообще была мечта скачать новую VS и писать под ней, 15 лет уж не виделись, но у меня только ssd на 126г, и она вместе с дистрибьютивом столько же весит, вот так остался без мечты)[/uquote]
Хотите научу из блокнота и другого любого редактора код собирать?
[uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]Мне вот кажется, что Clion будет порядком удобнее.[/uquote]Представляю как новичок сможет её настроить для сборки и отладки STM32. Угумс. И с бесплатностью что-то как-то....
[uquote="bevice",url="/forum/viewtopic.php?p=3755527#p3755527"]Там хотя бы нормальная IDE а не блокнот с компилятором.[/uquote]Простая IDE с минимумом настроек и свистоперделок для новичка самое то. Меньше степеней свободы, меньше отвлекающих факторов. Ты же видишь как он в двух строчках кода разобраться не может, а тут ещё IDE настрой, компиялтор настрой...[/uquote]Под официальной поддежркой понимается, что arm-none-eabi-gcc сейчас тянет ARM. [/uquote]И чего? IAR - рабочая лошадка уже десятки лет без всяких "тянет ARM". Заметь, я не говорю, что GCC плохой. Просто на IAR проще получить рабочий результат именно новичку.[/uquote]
* не нужно пропускать volatile там где он нужен и с оптимизацией-по умолчанию ничего страшного не случится. Если иар позволяет такие фокусы даже со включенной на полную оптимизацией - оптимизатор у него не работает.
* New project -> Get from Version Control. Пишем адрес шаблона. Готово. Еще в одном окне выбрать какой отладчик.
Да она не бесплатная, но стоит как 1/100 иара, при этом является вменяемой IDE и быстро работает. Но если так не нравится - Code::Block почти без настроек работает. Буквально вчера пробовал.
* Да я вижу, что человек плавает в простейших вещах. Но на галочках иара у него понимание как устроено и не появится.
Рабочий код новичку получить с GCC ваще просто, у меня например к гитлабу автосборщики прикручены - коммитите код, он его сам собирает, ваще нажимать ничего не нужно. Есть docker-сборщик, которому нужно только указать в какой папке у вас лежат исходники, тут тоже кроме докера ничего не потребуется.
В общем вы где-то в 90х потерялись, вместе с IAR
Добавлено after 41 second:
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755553#p3755553"]У меня вообще была мечта скачать новую VS и писать под ней, 15 лет уж не виделись, но у меня только ssd на 126г, и она вместе с дистрибьютивом столько же весит, вот так остался без мечты)[/uquote]
Хотите научу из блокнота и другого любого редактора код собирать?
После нас - хоть потоп (с) Лойсо
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Таймер не работает
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755538#p3755538"]По поводу таймингов, они же все слизаны с примера, или были подставлены в пример для проверки и он не тупит, по моему я где то конкретно накосячил просто.[/uquote]Извини, но забивание настроек FF-ми моя чуйка отказывается принять как корректную.
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755538#p3755538"]Господа, не могли бы вы еще мне подсказать, есть некая система когда мы имеем некий буфер, отрисовываем там картинку, выкидываем на экран а в это время рисуем уже другую, тут это неприменимо?[/uquote]Ну почему же. Есть такая штука - DMA. Но тебе пока рановато вводить в проект новые сущности/неопределённости, разберись пока с тем что есть.
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755553#p3755553"]У меня вообще была мечта скачать новую VS и писать под ней[/uquote]Нормальное желание. VS + VisualGDB - отличная штука. Последняя опять таки не бесплатна, но судя по пользованию IAR тебя эти условности не тяготят...
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755538#p3755538"]Господа, не могли бы вы еще мне подсказать, есть некая система когда мы имеем некий буфер, отрисовываем там картинку, выкидываем на экран а в это время рисуем уже другую, тут это неприменимо?[/uquote]Ну почему же. Есть такая штука - DMA. Но тебе пока рановато вводить в проект новые сущности/неопределённости, разберись пока с тем что есть.
[uquote="TEPEM",url="/forum/viewtopic.php?p=3755553#p3755553"]У меня вообще была мечта скачать новую VS и писать под ней[/uquote]Нормальное желание. VS + VisualGDB - отличная штука. Последняя опять таки не бесплатна, но судя по пользованию IAR тебя эти условности не тяготят...
Последний раз редактировалось VladislavS Сб дек 14, 2019 11:16:00, всего редактировалось 1 раз.
- TEPEM
- Нашел транзистор. Понюхал.
- Сообщения: 153
- Зарегистрирован: Чт дек 05, 2019 16:28:11
- Откуда: Самара
Re: Таймер не работает
Есть же способ обратится к функциям находящимся в low_level_init.cpp из майна основного?
#include "foo.h" // подключаете заголовок
void main(){
my_foo(); // пользуетесь функцией
}
Так не выходит, при попытке приинклудить low_level_init.cpp он ошибку кидает(
Я полазил по англоязычным сайтам и нашел несколько регистровых настроек FSMC, одна из них подошла, FFFFFFFFF мне тоже не понравились(
Вот так у меня, и в примере я ее вставлял вместо того что там было и все быстро работало
#include "foo.h" // подключаете заголовок
void main(){
my_foo(); // пользуетесь функцией
}
Так не выходит, при попытке приинклудить low_level_init.cpp он ошибку кидает(
Извини, но забивание настроек FF-ми моя чуйка отказывается принять как корректную.
Я полазил по англоязычным сайтам и нашел несколько регистровых настроек FSMC, одна из них подошла, FFFFFFFFF мне тоже не понравились(
Вот так у меня, и в примере я ее вставлял вместо того что там было и все быстро работало
Код: Выделить всё
FSMC_Bank1->BTCR[0] &= 0x00000000;
FSMC_Bank1->BTCR[0] |= 1 << 14| 1 << 12 | 0x01 << 4 | 0x00 << 2 | 1 << 0;
FSMC_Bank1->BTCR[1] &= 0x00000000;
FSMC_Bank1->BTCR[1] |= 0x00 << 28 | 0x0000 << 20 | 0x0f << 8 | 0x01;
FSMC_Bank1E->BWTR[0] &= 0x00000000;
FSMC_Bank1E->BWTR[0] |= 0x00 << 28 | 0x0000 << 20 | 0x03 << 8 | 0x00;