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

/me надел пенсне

В целом порицая немотивированную привязку к IAR'у, не могу не заметить что в эклипсе отладочная информация в регистрах показывается исходя из данных svd-файлов, которые никоим образом не имеют отношения к дефайнам в заголовочных файлах.

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


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

5 minutes ago, jcxz said:

"Копаться в даташитах" нужно по-любому. Иначе что-то более-менее стоящее (на чужих либах) написать невозможно. Имхо. Так что адреса оттуда переносятся автоматом в процессе изучения периферии МК и по мере необходимости.

согласен копаться надо, но переносятся они отнюдь не автоматом, а вручную. Если вам когда-то понадобится перейти на другой чип, в пределах одной платформы и от одного производителя (и я удивлюсь, если вам это ни разу не надо было делать) то все исходники надо будет перепроверять на соответсвие адресов или менять их. Как бы зачем. Ну это дело хозяйское, конечно.

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


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

6 минут назад, Kabdim сказал:

В целом порицая немотивированную привязку к IAR'у, не могу не заметить что в эклипсе отладочная информация в регистрах показывается через данные из svd-файлов, которые никоим образом не имеют отношения к дефайнам в заголовочных файлах.

Хех! Значит оппоненты даже и тех инструментов, коими пользуются, сами толком не знают.  :biggrin:

В IAR-е как раз никаких доп.файлов не нужно - как прописал в .h так оно и видно в Watch. Что очень удобно.

 

4 минуты назад, slavka012 сказал:

согласен копаться надо, но переносятся они отнюдь не автоматом, а вручную. Если вам когда-то понадобится перейти на другой чип, в пределах одной платформы и от одного производителя (и я удивлюсь, если вам это ни разу не надо было делать) то все исходники надо будет перепроверять на соответсвие адресов или менять их. Как бы зачем. Ну это дело хозяйское, конечно.

И переходил и перепроверял. И даже как-то делал это с таймером в руках - затрачиваемое время ничтожно. А "автоматом" - это значит просто в процессе изучения. Где само изучение занимает на порядки больше времени, чем написание хидера. Который кстати бывает делаю просто копипастом из даташита, с последующей правкой. Да - и ещё есть такое понятие как "моторная память", тоже вещь полезная  ;)

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


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

6 минут назад, jcxz сказал:

В IAR-е как раз никаких доп.файлов не нужно - как прописал в .h так оно и видно в Watch. Что очень удобно.

Т.е. поправив эти заголовочные файлы я могу завалить IAR в чтение запрещенной области данных? Так себе преимущество.

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


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

1 hour ago, jcxz said:

Это что так действительно необходимо? Сегодня отлаживать этот проект на IAR-е, завтра на GCC, послезавтра в CCS?

Сегодня отлаживать один проект в IAR'е, а завтра на основе него сделать другой в GCC - вполне может понадобиться.

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


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

22 минуты назад, Kabdim сказал:

Т.е. поправив эти заголовочные файлы я могу завалить IAR в чтение запрещенной области данных? Так себе преимущество.

Это можно сделать поправив любую переменную в работающем проекте. Хоть в IAR хоть в GCC. Вас это не смущает?

21 минуту назад, aaarrr сказал:

Сегодня отлаживать один проект в IAR'е, а завтра на основе него сделать другой в GCC - вполне может понадобиться.

Кто-ж спорит. Только насколько часто это нужно делать? Я вот припоминаю пару таких случаев за последние ~ 10 лет. Как-то не сильно это напрягает....

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


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

Заканчиваем холивары. Если автор получил ответ на свой вопрос то тему закрываем.

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


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

On 11/8/2018 at 5:01 AM, tremor said:

Разъясните эту строчку:

((GPIO_TypeDef *) GPIOF_BASE)

Понимаю, что структура, понимаю что указатель, но как-то странно написано.

обычно пишут так: char *p;

А тут заморочено, то ли присвоение значения указателю, то ли что.

Вполне логичная конструкция.

Только это не объявление указателя а приведение типов.

GPIOF_BASE это обычная беззнаковая константа объявленая через #define

GPIO_Typedef это тип, к указателю на который мы хотим привести константу

А все вместе приведение типа (беззнакового целого) к типу указателя на структуру.

Тоесть мы говорим что результат операции это теперь указатель на структуру такого-то типа, а значение этого указателя - та самая константа.

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


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

Я думаю реально пора закрывать, пока тут не набилось сотни три сообщений с разжеванием этой хитрой конструкции от каждого заходящего...

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


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

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...