Перейти к содержанию
    

Keil 5.38 Разместить константу по заданному адресу во Flash

Всем добрый день.

Вопрос, как разместить константу по заданному адресу во Flash ?
В Keil 4 работало так 
unsigned const int CONST123 __attribute__ ( (at(0x08080A00)) ) = 123; 
Keil 5.38 перестал понимать директиву "at". Как теперь сделать то же самое?

Долго гуглил, но простой внятный ответ не нашёл.

Заранее спасибо ому кто подскажет!

 

const.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, MiklPolikov said:

Keil 5.38 перестал понимать директиву "at"

Лейл чихать на эту и другие подобные директивы.

Смотрите какой компилятор используете (armcc или armclang) и ищите ответ на сайте arm.com или на форуме

https://community.arm.com/support-forums/

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Данные в памяти размещает линкер. У keil линкером команует так называемый скаттер-файл. Заводите в нём секцию по нужному адресу и размещаете в ней свою константу.

 

А ещё, пятой точкой чую, что фигню какую-то хотите сделать и вам это не надо 🙂

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

51 minutes ago, VladislavS said:

чую, что фигню какую-то хотите сделать

Хотя мой Keil нормально всё делает. Согласен, что фигнёй попахивает.

image.thumb.png.c2d0a938ea9bb1b41299f9297bc99b10.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что за шрифт в редакторе, если не секрет? Узкий, моноширинный, без засечек, нолик перечёркнутый - лепота...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 часов назад, MiklPolikov сказал:

Keil 5.38 перестал понимать директиву "at". Как теперь сделать то же самое?

image.png.c9048feb3269a2508eb4c7202708b127.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Obam said:

А что за шрифт в редакторе, если не секрет? Узкий, моноширинный, без засечек, нолик перечёркнутый - лепота...

Позволю себе поделиться своим шрифтом: Fira Code. По картинке только кликните, иначе слегка размытая.

image.thumb.png.01d832184661cdcbadd95e9288d0267f.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

image.png.8298c36e60105d34d29014fe9de6dff0.pngimage.png.7b8dfae53c054e0979b5d46ffb990ede.png 

Оно, конечно, стильно-модно-молодёжно.  Но неподготовленный читатель поначалу будет запинаться об это. Сужу по себе после прочтения приведенного отрывка кода) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 minutes ago, tgruzd said:

Но неподготовленный читатель поначалу будет запинаться об это.

Нормально) Через некоторое время он станет подготовленным. В крайнем случае, исходник можно открыть с другим шрифтом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 hours ago, Obam said:

А что за шрифт в редакторе, если не секрет? Узкий, моноширинный, без засечек, нолик перечёркнутый - лепота...

Iosevka

image.thumb.png.9bd4ffe81bde5c8ea08d4c27a59f98cc.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 hours ago, VladislavS said:

А ещё, пятой точкой чую, что фигню какую-то хотите сделать и вам это не надо 🙂

Речь идет о данных, которые хранятся в памяти, и изменяются программой.  Поэтому пишутся по определенному адресу, в верхних адресах. 

Логика работы такова, что данные должны быть предустановлены. Поэтому, нельзя просто оставить там пустую память 0x00 или 0xFF, а нужно что бы начальное значение было сразу после программирования. 
(и установить начальное значение при первом запуске то же нельзя, не буду объяснять все тонкости логики)

В старом Keil 4 было очень удобно,  в одну строчку получалось и задать адрес и значение, записанное по нему.  И при прошивке получавшегося HEX файла по нужному адресу сразу было нужное значение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...