1. Изо всех сил стараюсь не кормить троллей. 2. Продаю импортные ЭК - https://shop.fulcrum.ru/buy
-
- Хоба!.. Проблема имеет более, чем одно решение. Нашёл у себя такую непонятку, датированную 2022 годом. Toчкa oпopы(334 знак., 11.04.2025 12:32, ссылка)
- P.P.S. Пост вылез вверх из-за редактирования потери приложенного файла. Оказывается, там ещё во время оно было что-то забаговано, см. приложенный "шот" с Телесисек. Желающие - могут покопать скрипты линкера. Сейчас мне не досуг в этом птичьем языке разбираться. Попробую сборку от klen. Если не попустит - поставлю все переменные глобальными. Toчкa oпopы(79 знак., 11.04.2025 00:14, ссылка, ссылка)
- Локальные переменные это стек, а указатель стека устанавливает
стартап, его смотреть и править откуда он берет его? - Andreas(10.04.2025 10:54)
- Если правильно понимаю, локальные переменные функции main не
обязаны быть в стеке. Указатель стека - инициализируется на RAMEND
(старший адрес внутреннего ОЗУ), как обычно и делается. - Toчкa oпopы(10.04.2025 11:10)
- Тогда смотреть в .map файле выхлопа в какую секцию компилер кладет
эти переменные и в скрипте линкера ее размещение смотреть. Если
переменных немного, завести под них отдельную секцию и в .ld явно
указать, куда ее класть. - Andreas(10.04.2025 11:26)
- При определении, указать аттрибут. - mse homjak(10.04.2025 14:12)
- Тогда смотреть в .map файле выхлопа в какую секцию компилер кладет
эти переменные и в скрипте линкера ее размещение смотреть. Если
переменных немного, завести под них отдельную секцию и в .ld явно
указать, куда ее класть. - Andreas(10.04.2025 11:26)
- Если правильно понимаю, локальные переменные функции main не
обязаны быть в стеке. Указатель стека - инициализируется на RAMEND
(старший адрес внутреннего ОЗУ), как обычно и делается. - Toчкa oпopы(10.04.2025 11:10)
- Не обижайтесь, если что. Попробуйте Arduino IDE в качестве среды с
AVR-GCC 12 или даже 14, какой там найдётся? Мне очень понравилось.
Писал свой код bare metal. Очень хорошо работает оптимизация -O3
-flto (нужно только ручками в конфигурационном файле самой IDE
прописать). Отладка, правда, не работает (я не выяснял даже, есть
ли?). Nikolay_Po(296 знак., 10.04.2025 09:44)
- makefile - добавил в стартовое сообщение. Toчкa oпopы(350 знак., 10.04.2025 10:10)
- У вашей среды вообще есть "тулчейн" - папки с библиотеками, со
скриптами линкера .ld? - Nikolay_Po(10.04.2025 10:45)
- Нет, наверное. Это WinAVR. Всё в makefile, как я понимаю. - Toчкa oпopы(10.04.2025 11:13)
- А указатель стека каким значением инициализируется? - reZident(10.04.2025 10:43)
- У вашей среды вообще есть "тулчейн" - папки с библиотеками, со
скриптами линкера .ld? - Nikolay_Po(10.04.2025 10:45)
- makefile - добавил в стартовое сообщение. Toчкa oпopы(350 знак., 10.04.2025 10:10)
- Настроить параметры памяти ИДЕ mse homjak(1 знак., 10.04.2025 00:02, картинка)
- Спасибо, но - нет. Пишу в Programmers Notepad, имею только
исходники и makefile. Toчкa oпopы(155 знак., 10.04.2025 09:10)
- Ну, дык... mse homjak(215 знак., 10.04.2025 10:16)
- "-section-start=", кажется, - тоже попробовал. Так же
безрезультатно. - Toчкa oпopы(10.04.2025 11:12)
- Ну, ХЗ... Вот мап-файло. mse homjak(1062 знак., 10.04.2025 11:22)
- "-section-start=", кажется, - тоже попробовал. Так же
безрезультатно. - Toчкa oпopы(10.04.2025 11:12)
- Покажите скрипт линкера. - Nikolay_Po(10.04.2025 09:45)
- Ну, дык... mse homjak(215 знак., 10.04.2025 10:16)
- Спасибо, но - нет. Пишу в Programmers Notepad, имею только
исходники и makefile. Toчкa oпopы(155 знак., 10.04.2025 09:10)