Jump to content

    
Sign in to follow this  
tremor

Вопрос по C

Recommended Posts

4 minutes ago, jcxz said:

Это IAR. Явное задание имени секции или абсолютного адреса для переменной. И в других компиляторах есть аналоги.

если Вам необходимо искать аналоги решения на другой "платформе", я бы сказал Вы используете плохое решние

Share this post


Link to post
Share on other sites
3 минуты назад, slavka012 сказал:

Замечательно. Аналоги, конечно, есть, но непереносимые. В чьих либах так написано?

Это не либы, а хидер описания регистров периферии. Написано так у меня. И у многих других.

3 минуты назад, Integro сказал:

если Вам необходимо искать налоги решения на другой "платформе", я бы сказал Вы используете плохое решние

Вы обратите внимание кому отвечаете. Мне "решения на другой платформе" не нужны. Это не я об этом беспокоюсь.

Share this post


Link to post
Share on other sites
1 minute ago, jcxz said:

Это не либы, а хидер описания регистров периферии. Написано так у меня. И у многих других.

Тут хорошо смотрелась бы ссылка на github на одного из "многих" :smile:

Share this post


Link to post
Share on other sites
6 minutes ago, jcxz said:

Вы обратите внимание кому отвечаете.

У вас закончились аргументы? :))))))

Может просто согласитесь с:

8 minutes ago, Integro said:

если Вам необходимо искать аналоги решения на другой "платформе", я бы сказал Вы используете плохое решние

 

Share this post


Link to post
Share on other sites
6 минут назад, aaarrr сказал:

Тут хорошо смотрелась бы ссылка на github на одного из "многих" :smile:

Ссылка на дистрибутив IAR пойдёт? Так как в хидерах периферии, идущих с ним в комплекте, сделано так же.

 

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

Может просто согласитесь с:

Конечно нет. Какой в этом смысл?

Share this post


Link to post
Share on other sites
1 minute ago, jcxz said:

Ссылка на дистрибутив IAR пойдёт?

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

Share this post


Link to post
Share on other sites
4 минуты назад, aaarrr сказал:

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

Видимо TI тоже пытаются действовать тем же макаром. Потому что в CCS - похожая картина. Разве что там не абсолютные адреса, а именованные секции для линкёра.

 

PS: Да и каким образом так можно подсадить? Как?

PSS: И вообще речь о другом шла: не надо говорить за всех, когда не знаешь как у других. И достаточно чтобы хоть у кого-то одного было не так.

Share this post


Link to post
Share on other sites
6 minutes ago, jcxz said:

Разве что там не абсолютные адреса, а именованные секции для линкёра.

Еще лучше...

 

4 minutes ago, jcxz said:

Да и каким образом так можно подсадить? Как?

Через повышение трудоемкости переноса имеющегося проекта на альтернативный тулчейн.

Share this post


Link to post
Share on other sites
9 минут назад, aaarrr сказал:

Через повышение трудоемкости переноса имеющегося проекта на альтернативный тулчейн.

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

Мне кажется что важнее - сама разработка ПО. И ведётся она как правило в пределах одного проекта на одном инструменте. А отлаживать ПО с IO-портами заданными как я привёл гораздо удобнее, чем с заданными через #define. Именно потому так и сделано.

Share this post


Link to post
Share on other sites
7 minutes ago, jcxz said:

А отлаживать ПО с IO-портами заданными как я привёл гораздо удобнее, чем с заданными через #define.

а вот удобство отладки должна предоставлять Вам ваша любимая среда разработки но никак не хидер на MCU

Share this post


Link to post
Share on other sites

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

Если же мы говорим про библиотеки от поставщиков чипов, то у большинства (т.е. у вменяемых :) ) сделано именно так.

22 minutes ago, jcxz said:

 А отлаживать ПО с IO-портами заданными как я привёл гораздо удобнее, чем с заданными через #define. Именно потому так и сделано.

С этим в общем-то можно было бы теоретически согласится, но на практике отлаживая в эклипсе чип у которого регистры через дефайны определены (NXP) , не замечал никаких проблем и неудобств.

Share this post


Link to post
Share on other sites
27 минут назад, slavka012 сказал:

С этим в общем-то можно было бы теоретически согласится, но на практике отлаживая в эклипсе чип у которого регистры через дефайны определены (NXP) , не замечал никаких проблем и неудобств.

В IAR-е всё что задано #define - не видно в окне Watch. А вот заданное как объект данных - видно. Это главное преимущество многократно перевешивает все умозрительные выгоды от переносимости куда-то неведомо куда.

 

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

Если же мы говорим про библиотеки от поставщиков чипов, то у большинства (т.е. у вменяемых :) ) сделано именно так.

Никакие "библиотеки от поставщиков чипов" не использую. И смысла в них не вижу.

 

PS: Да и переносить части своего ПО приходилось неоднократно. Причём - между разными МК и разными компиляторами в том числе. Проблем тоже не испытывал. Так как в своём ПО всегда отделяю нижний уровень работы с железом от более высоких, программных уровней.

Share this post


Link to post
Share on other sites
7 minutes ago, jcxz said:

Никакие "библиотеки от поставщиков чипов" не использую. И смысла в них не вижу.

Ага, ведь куда надежнее и быстрее написать свои!)

Share this post


Link to post
Share on other sites
13 minutes ago, jcxz said:

В IAR-е всё что задано #define - не видно в окне Watch. А вот заданное как объект данных - видно.

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

Share this post


Link to post
Share on other sites
15 минут назад, Integro сказал:

Ага, ведь куда надежнее и быстрее написать свои!)

Конечно. Ведь свои баги ищутся быстрее и проще чем чужие.

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

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

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

Вот даже глядя на данную тему - вы и не знали других методов задания портов IO. Видимо потому, что не даёте себе труда "копаться". А я знаю. И не один способ.  :)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this