|
1 / 1 / 0
Регистрация: 02.05.2016
Сообщений: 16
|
||||||
STM8,IAR,STM8S_StdPeriph_Lib03.05.2016, 15:49. Показов 11875. Ответов 24
Метки нет (Все метки)
Месяц назад начал изучать микроконтроллеры,сначала AVR (Arduino),сейчас STM8 (IAR).
Написал несколько простеньких программ без проблем все работает. Проблемы начались после смены библиотеки IAR на STM (STM8S_StdPeriph_Lib). Компиляция заканчивалась вот такой ошибкой Error[Li005]: no definition for "assert_failed" [referenced from C:\Users\111\Documents\Debug\Obj\stm8s_g pio.o]. Оказывается все функции библиотеки используют для проверки своих аргументов макрос assert_param и в программе необходимо реализовать функцию assert_failed
В чем дело,подскажите пожалуйста ?
0
|
||||||
| 03.05.2016, 15:49 | |
|
Ответы с готовыми решениями:
24
Прерывания STM8 в IAR Ошибки IAR компилятора для stm8 IAR, STM8. Оптимизатор, чересчур оптимизирует код |
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 03.05.2016, 18:40 | |
|
добавьте в свой проект глобальный дефайн типа такого: assert_failed(...) void(0)
нужно просто заменить эти проверки на пустое место или пустую операцию.
0
|
|
|
1 / 1 / 0
Регистрация: 02.05.2016
Сообщений: 16
|
|
| 03.05.2016, 20:28 [ТС] | |
|
так я добавил : void assert_failed(uint8_t* file, uint32_t line)
Добавлено через 27 минут может вы не поняли, проблему с ошибкой я решил добавив void assert_failed(uint8_t* file, uint32_t line) "Теперь появилась другая ерунда не выполняется функция Delay()" ее я вроде тоже решил (поменял настройки оптимизации в компиляторе с High на Medium) сейчас почему то светодиод не загорается Добавлено через 23 минуты и так все вопросы решены 1. ошибка при компиляции Error[Li005]:no definition for "assert_failed" решение - запись в "main.c" строки " void assert_failed(uint8_t* file, uint32_t line) " 2. не выполнение программой функции "Delay()" решение - изменение настроек в IAR Options\C/C++Compiler\Optimizations с High на Medium 3 не загорался светодиод решение - замена строки "GPIO_WriteHigh(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins)" на "GPIO_WriteReverse(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS)" Добавлено через 12 минут может я скажу глупость, но похоже оптимизатор убрал "Delay()" поскольку это цикл "for (unsigned long delay_count=0; delay_count<20000; delay_count++)", а цикл для Optimizations High слишком жирно так сказать.
0
|
|
| 03.05.2016, 21:13 | |
|
Не по теме:
0
|
|
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
|
||||||||
| 04.05.2016, 00:14 | ||||||||
NOP это ассемблерная nop(нет операции), команда не стандартизированная и у каждого компилятора будет свой синтаксис а вообще делать задержки на циклах, не есть гут, для этого таймеры есть Добавлено через 2 минуты
1
|
||||||||
|
1 / 1 / 0
Регистрация: 02.05.2016
Сообщений: 16
|
|||
| 04.05.2016, 10:04 [ТС] | |||
|
Добавлено через 9 минут Building configuration: sssssssssssss - Debug Updating build tree... main.c Warning[Pe223]: function "NOP" declared implicitly C:\Users\111\Documents\src\main.c 7 Linking Error[Li005]: no definition for "NOP" [referenced from C:\Users\111\Documents\Debug\Obj\main.o] Error while running Linker Total number of errors: 1 Total number of warnings: 1
0
|
|||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
|
|||
| 04.05.2016, 10:14 | |||
|
https://www.iar.com/support/re... ntrinsics/ я лично не с IAR ни с STM8 не работал подожди, через недельку вернется Виталич, он зело петрит и в том и в другом
1
|
|||
|
1 / 1 / 0
Регистрация: 02.05.2016
Сообщений: 16
|
|||
| 04.05.2016, 12:10 [ТС] | |||
|
Добавлено через 13 минут поделках и вникать во все тонкости программирования нет желания или лень просто.
0
|
|||
|
Модератор
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
|
||
| 04.05.2016, 12:15 | ||
потом пойдет и схемотехника и программированието что по началу кажется сложным потом пойдет на автомате вот например зачем вставляется NOP в цикл? если есть хоть одна функция, то оптимизатор не имеет права выкидывать цикл
0
|
||
|
1 / 1 / 0
Регистрация: 02.05.2016
Сообщений: 16
|
||
| 04.05.2016, 13:21 [ТС] | ||
|
смог стать Биллом Гейтсем.
0
|
||
|
1 / 1 / 0
Регистрация: 02.05.2016
Сообщений: 16
|
|
| 06.05.2016, 17:22 [ТС] | |
|
видимо вот такая команда "asm("nop")"
0
|
|
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
| 09.05.2016, 22:34 | |
|
Не по теме: Извиняюсь, только с самолёта. К дискуссии не готов сегодня vit1737, для начала разговора посмотрите моё видео https://www.youtube.com/watch?v=KLV86Kbo2o4
1
|
|
|
1 / 1 / 0
Регистрация: 02.05.2016
Сообщений: 16
|
|
| 10.05.2016, 09:14 [ТС] | |
|
я смотрел это видео
для создание проектов я использую шаблон вот отсюда http://we.easyelectronics.ru/S... l-spl.html сейчас стоит вопрос продолжать использовать SPL или пользоваться библиотекой IAR
0
|
|
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
| 10.05.2016, 09:26 | |
|
SPL - проще, но бинарный код получается больше плюс есть ошибки (не много и исправляются)
IAR(овская) библиотека - требует глубокого изучения мануалов по STM8 Я пишу на SPL, а затем потихоньку заменяю SPL функции на свои и кладу эти функции к себе в загашник.
1
|
|
|
1 / 1 / 0
Регистрация: 02.05.2016
Сообщений: 16
|
|
| 10.05.2016, 13:04 [ТС] | |
|
Проектирование программно-аппаратных средств,насколько я понимаю, требует знание,как самого "железа",
так и языка программирования.Изучить всю и сразу документацию скорей всего не получится,поэтому на первом этапе, мне кажется,нужно сделать выписки из документации самого необходимого,что то вроде шпаргалок по STM8,по СИ и IAR.
0
|
|
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
| 10.05.2016, 13:37 | |
|
Вот Вам в Ваш загашник по IAR:
В IAR есть два стандартных профиля для проекта debug и release (можно добавить еще сколько угодно), так вот в релезовом профиле в настройки компилятора можно добавить метку "NDEBUG" и при создании бинарника из него будет исключена отладочная информация, что добавит памяти. Справедливо для всех яров!
1
|
|
|
1 / 1 / 0
Регистрация: 02.05.2016
Сообщений: 16
|
|
| 10.05.2016, 15:27 [ТС] | |
|
Добавит памяти где? В микроконтроллере?
А что разве отладочная информация компилируется вместе с основной программой в один BIN файл ?
0
|
|
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
| 10.05.2016, 15:36 | |
|
ДА!
Пример: Считыватель карт мифаре. Опции оптимизации одинаковые.
0
|
|
|
1 / 1 / 0
Регистрация: 02.05.2016
Сообщений: 16
|
|
| 10.05.2016, 16:00 [ТС] | |
|
758 байт лишних как я понял
0
|
|
|
0 / 0 / 0
Регистрация: 13.05.2017
Сообщений: 6
|
|
| 16.05.2017, 22:07 | |
|
Витальич, Доброго времени суток. Можно Вас попросить поделиться библой RFCard и RC522 (наберусь наглости - да весь проект, приведённый в скриншоте, если он не коммерческий)?
Не очень хочется повторять уже пройденную работу.
0
|
|
| 16.05.2017, 22:07 | |
|
Помогаю со студенческими работами здесь
20
МК STM8. Литература
STM8 мусор во Flash Книга по микроконтроллерам STM8 Книга по микроконтроллерам STM8 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|