реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Универсальный порт для Cortex-Mx (GCC) залит в репозиторий.
esaulenka
сообщение Apr 24 2017, 10:38
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Тем не менее, боевой проект собрался компилятором 5.4 2016q3 (windows, скачан с arm.com) с галкой LTE и успешно работает.
6-я версия тоже работает, но требует некрасивых танцев вокруг шаблонов.

Да, ещё и на аналогичные грабли с таблицей векторов наступил.


PS что хорошо, размер бинарника уменьшился килобайт на 5. С учётом того, что свободного места у нас осталось впритык, идея LTO требует всяческого развития.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Apr 24 2017, 11:37
Сообщение #32


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Да, сейчас попробовал, смог собрать с LTO. Добавил __attribute__((used)) к os_context_switch_hook() и __init_system_timer(). Сложность в том, что os_context_switch_hook() объявлена в os_kernel.h, и для того, чтобы добавить к ней этот атрибут, придётся что-то придумывать для всех компиляторов и поддерживаемых контроллеров.
Надо будет попробовать всё же сделать *.S файл, возможно, это позволит обойтись без залезания в общий код оси.

А таблица векторов у меня давно уже с этим атрибутом.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Apr 24 2017, 12:11
Сообщение #33


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Можно просто в scmRTOS_TARGET.h добавить

Код
extern "C" {
    extern stack_item_t* os_context_switch_hook(stack_item_t* sp)    __attribute__((used));
    extern void __init_system_timer()                                 __attribute__((used));
};


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Apr 24 2017, 12:24
Сообщение #34


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Да, так компилируется, но выдаёт warning про "redundant redeclaration". Неаккуратно как-то.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Apr 25 2017, 22:02
Сообщение #35


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Для проверки вынес PendSV_Handler() в ассемблерный файл. Всё прекрасно собралось с LTE, без внесения изменений в общие файлы оси. Выигрыш на моём тестовом проекте небольшой, но есть (text/data):
  • без LTE (-02)...: 5948/468
  • с LTE (-02)......: 5704/464
  • без LTE (-0s)...: 5576/468
  • c LTE (-0s)......: 5536/464

Ещё чуть потестирую, и, наверное, залью в develop. Потому как от этого никакого вреда, окромя пользы sm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Aug 1 2017, 08:01
Сообщение #36


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(AHTOXA @ Apr 26 2017, 03:02) *
Ещё чуть потестирую, и, наверное, залью в develop. Потому как от этого никакого вреда, окромя пользы sm.gif

Залил в develop. Теперь LTE работает.

---
Проверил на небольшом проекте (text/data):

Без LTE: 25320 13956
...с LTE: 23432 13948

Неплохо.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
WHALE
сообщение Jan 19 2018, 06:09
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Поправьте, пожалуйста, название файла описания порта.
На данный момент осталось старое название файла scmRTOS.ru.CortexM3.GCC,
хотя внутри уже название корректное Cortex-M/GCC.
С уважением.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jan 19 2018, 14:43
Сообщение #38


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Так этот документ только про M3. Это тогда надо и содержание править, а не только название. Когда появится время - обязательно займусь.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 3 2018, 08:24
Сообщение #39


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Доработал документ, выложил: scmRTOS.ru.CortexMx.GCC.pdf.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 23 2018, 07:16
Сообщение #40


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Moderator: Про перенос векторов теперь тут - https://electronix.ru/forum/index.php?showtopic=146314


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th April 2024 - 00:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01464 секунд с 7
ELECTRONIX ©2004-2016