Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

STM8. Мелкие вопросы

Вс ноя 18, 2018 15:50:44

Доброго времени суток! В данной теме хочу разбирать мелкие вопросы, дабы не плодить новые посты.

Вопрос номер один. недавно начал изучать STM8S103F3. раньше дело имел только с ATMEGA и ATTINY. Итого имеем: STM8S103F3 на отладочной платке с Алиэкспресса, программатор STLINK V2, IAR 3.10.4 использую библиотеку SPL., вроде бы все понятно. но ради интереса считал FLASH с коктроллера с помощью утилиты STVP. Удивило что в прошивке прописаны полные пути к stm8s_tim4.c, stm8s_spi.c, stm8s_clk.c, stm8s_gpio.c (я использую их). собственно вопрос: какого лешего они делают в прошивке? и занимают около 450 байт, что немало для такого тощего МК.

Грешил на
Код:
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
- закомментировал, ничего не изменилось

скрин и прошивку прилагаю

СпойлерИзображение
Вложения
out.7z
(4.51 KiB) Скачиваний: 149

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 16:07:14

Тема уже есть. viewtopic.php?f=62&t=35768

khomych писал(а):Удивило что в прошивке прописаны полные пути к stm8s_tim4.c, stm8s_spi.c, stm8s_clk.c, stm8s_gpio.c
Заливаете отладочную прошивку? Но даже в ней путей к файлам быть не должно.

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 16:26:54

прошу прошения за дублирование темы.

прошивку заливаю свою. вот и не могу понять откуда там пути берутся

подключил stm8s_flash.c, использую пару функций с этого файла и тут же путь к нему появился в прошивке

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 16:39:59

khomych, выкладывай проект что-ли? В угадайку играть интереса никакого нет.

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 16:42:20

Такую же хрень наблюдал разгребая многие прошивки для стм32 ляпанные на SPL.
Да и пути в прошивке это мелочи, код что компилится из SPL это нечто .Вывод -однозначно в топку эту г.либу.

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 16:55:18

Такую же хрень наблюдал разгребая многие прошивки для стм32 ляпанные на SPL
страшно представить что генерируется c использованием HAL

выкладываю проект.
с моего говнокода сильно не смейтесь )))
Вложения
disp.zip
(247.22 KiB) Скачиваний: 147

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 17:26:52

У тебя две ветки - Release и Debug. В Debug надо ставить минимальную оптимизацию и добавление отладочной информации. В Release максимальную оптимизацию и без отладочной информации. Ты работал только с Debug. Но, даже в этом режиме никаких путей ни в hex, ни в bin не попадает. Ты какой версией IAR пользуешься? Имеет смысл на крайнюю 3.10.4 перейти, если это не так. Немного подправил настройки проекта. Код не смотрел, не люблю ужастики на ночь :)
Вложения
disp_.zip
(243.41 KiB) Скачиваний: 145

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 18:08:48

IAR крайней версии 3.10.4
проект скомпилировал, залил. те же пути в прошивке. SPL веселит :))) буду думать дальше

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 18:27:31

Ты что-то конкретно путаешь. Прикладываю bin скомпилированный с твоего проекта. Где там пути?
Вложения
disp_bin.zip
(2.3 KiB) Скачиваний: 147

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 19:18:27

dosikus писал(а):Такую же хрень наблюдал разгребая многие прошивки для стм32 ляпанные на SPL.
Хотите сказать что библиотека добавляет пути к файлам? :)))

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 20:07:31

Мурик, завтра будешь ткнут носом. Все материалы на работе.

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 20:12:34

такс. разобрался со своими тараканами :)))

Во первых, нужно было поставить галочку "Erase" (Options->Stlink->Download)это и вынесло мне мозг. и во вторых закомментировать
Код:
#define USE_FULL_ASSERT    (1)
в файле stm8s_conf.h иначе в конце прошивки добавляется инфа с путями файлов

Код:
#define USE_FULL_ASSERT    (1)

/* Exported macro ----------*/
#ifdef  USE_FULL_ASSERT

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


в подключаемых файлах stm8s_tim4.c, stm8s_spi.c и т.д. происходит обращение к макросу "assert_param(expr)" вот отсюда и берутся пути к файлам

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 20:27:37

khomych, стоит ли с стм8 использовать эту хрень? В них и так памяти с гулькиннос...

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 20:38:05

та я вот тоже мысляю по этому поводу
стоит ли с стм8 использовать эту хрень?
:beer:

Re: STM8. Мелкие вопросы

Вс ноя 18, 2018 21:21:46

khomych писал(а):закомментировать
Код:
#define USE_FULL_ASSERT    (1)
в файле stm8s_conf.h
В аналогичном файле для STM32 эта строка по умолчанию закомментирована. Видимо в ST для STM8 забыли это сделать.

Re: STM8. Мелкие вопросы

Пн ноя 19, 2018 07:06:41

Веселые картинки для Мурика...

Изображение

Изображение

Re: STM8. Мелкие вопросы

Пт ноя 23, 2018 16:34:57

В данной теме хочу разбирать мелкие вопросы, дабы не плодить новые посты.

А какое STM8 имеет отношение к ARM?

Добавлено after 2 minutes 28 seconds:
собственно вопрос: какого лешего они делают в прошивке?

Не используйте говнолиб, действуйте по мануалу и не будет путей.
Ответить