MiklPolikov 0 2 марта, 2023 Опубликовано 2 марта, 2023 · Жалоба Всем добрый день. Вопрос, как разместить константу по заданному адресу во Flash ? В Keil 4 работало так unsigned const int CONST123 __attribute__ ( (at(0x08080A00)) ) = 123; Keil 5.38 перестал понимать директиву "at". Как теперь сделать то же самое? Долго гуглил, но простой внятный ответ не нашёл. Заранее спасибо ому кто подскажет! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 55 2 марта, 2023 Опубликовано 2 марта, 2023 · Жалоба 2 hours ago, MiklPolikov said: Keil 5.38 перестал понимать директиву "at" Лейл чихать на эту и другие подобные директивы. Смотрите какой компилятор используете (armcc или armclang) и ищите ответ на сайте arm.com или на форуме https://community.arm.com/support-forums/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 2 марта, 2023 Опубликовано 2 марта, 2023 · Жалоба Данные в памяти размещает линкер. У keil линкером команует так называемый скаттер-файл. Заводите в нём секцию по нужному адресу и размещаете в ней свою константу. А ещё, пятой точкой чую, что фигню какую-то хотите сделать и вам это не надо 🙂 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 55 2 марта, 2023 Опубликовано 2 марта, 2023 · Жалоба 51 minutes ago, VladislavS said: чую, что фигню какую-то хотите сделать Хотя мой Keil нормально всё делает. Согласен, что фигнёй попахивает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 2 марта, 2023 Опубликовано 2 марта, 2023 · Жалоба А что за шрифт в редакторе, если не секрет? Узкий, моноширинный, без засечек, нолик перечёркнутый - лепота... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tgruzd 11 2 марта, 2023 Опубликовано 2 марта, 2023 · Жалоба 11 часов назад, MiklPolikov сказал: Keil 5.38 перестал понимать директиву "at". Как теперь сделать то же самое? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 3 марта, 2023 Опубликовано 3 марта, 2023 · Жалоба 2 hours ago, Obam said: А что за шрифт в редакторе, если не секрет? Узкий, моноширинный, без засечек, нолик перечёркнутый - лепота... Позволю себе поделиться своим шрифтом: Fira Code. По картинке только кликните, иначе слегка размытая. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tgruzd 11 3 марта, 2023 Опубликовано 3 марта, 2023 · Жалоба Оно, конечно, стильно-модно-молодёжно. Но неподготовленный читатель поначалу будет запинаться об это. Сужу по себе после прочтения приведенного отрывка кода) 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 3 марта, 2023 Опубликовано 3 марта, 2023 · Жалоба 29 minutes ago, tgruzd said: Но неподготовленный читатель поначалу будет запинаться об это. Нормально) Через некоторое время он станет подготовленным. В крайнем случае, исходник можно открыть с другим шрифтом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 55 3 марта, 2023 Опубликовано 3 марта, 2023 · Жалоба 9 hours ago, Obam said: А что за шрифт в редакторе, если не секрет? Узкий, моноширинный, без засечек, нолик перечёркнутый - лепота... Iosevka Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 3 марта, 2023 Опубликовано 3 марта, 2023 · Жалоба 23 hours ago, VladislavS said: А ещё, пятой точкой чую, что фигню какую-то хотите сделать и вам это не надо 🙂 Речь идет о данных, которые хранятся в памяти, и изменяются программой. Поэтому пишутся по определенному адресу, в верхних адресах. Логика работы такова, что данные должны быть предустановлены. Поэтому, нельзя просто оставить там пустую память 0x00 или 0xFF, а нужно что бы начальное значение было сразу после программирования. (и установить начальное значение при первом запуске то же нельзя, не буду объяснять все тонкости логики) В старом Keil 4 было очень удобно, в одну строчку получалось и задать адрес и значение, записанное по нему. И при прошивке получавшегося HEX файла по нужному адресу сразу было нужное значение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 3 марта, 2023 Опубликовано 3 марта, 2023 · Жалоба <q>Iosevka </q> Да ужжж, не признать шрифт ежедневно созерцаемый - это суметь надо (((-8Ж Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zuse 0 16 июля Опубликовано 16 июля · Жалоба Подниму тему, дабы не создавать похожую. Есть МК Cortex-M4F (1921ВК035) у которого имеется 64 кБ flash (IROM1 Start: 0x0 Size: 0x10000), старший килобайт которой я хочу отвести под хранение настроек. В Кeil 5.25 пишу такую строчку: const char MASS[1024] __attribute__((at(0xfc00))); В ответ на это компилятор выдает ошибку Error: L6220E: Load region LR IROM1 size (65652 bytes) exceeds limit (65536 bytes). Region contains 59018 bytes of padding and 0 bytes of veneers (total 59018 bytes of linker generated content). Я в упор не понимаю, что не нравится компилятору. Буду очень благодарен за подсказку Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 43 16 июля Опубликовано 16 июля · Жалоба 1 hour ago, Zuse said: const char MASS[1024] __attribute__((at(0xfc00))); Самое плохое, что можно придумать. Читайте, как в используемом линковщике создавать сегменты, а в компиляторе размещать переменные в этом сегменте. Щас подтянутся знатоки Кайла и покажут сие в картинках. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zuse 0 17 июля Опубликовано 17 июля · Жалоба 13 hours ago, tonyk_av said: Самое плохое, что можно придумать. Читайте, как в используемом линковщике создавать сегменты, а в компиляторе размещать переменные в этом сегменте. Щас подтянутся знатоки Кайла и покажут сие в картинках. Пока знатоки не подтянулись, поясните, пожалуйста, почему использованная запись это "самое плохое, что можно придумать" ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться