|
Библиотеки для STM32 |
|
|
|
 |
Ответов
(15 - 29)
|
Mar 4 2017, 04:59
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
QUOTE (scifi @ Mar 3 2017, 22:26)  Интересно, чем так страшен стартап? +1. QUOTE (scifi @ Mar 3 2017, 22:26)  Вот, к примеру, мой: <...> Или вот.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Mar 4 2017, 14:27
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(jcxz @ Mar 4 2017, 13:43)  А что в этом неправильного? Это основная задача линкера - распределять адресное пространство. Точно так же можно в icf-файле IAR определить адресные пространства периферии. Неправильно, что то, что можно и НУЖНО делать преносимыми средствами языка, делается непереносимыми средствами инструмента. Появляется нахренненужная привязка и инструменту. Точнее, конечно, "нужная", но только тексасу пытающемуся таким образом подсадить недалеких потребителей и на свои инструменты, и свои контролеры. Такая же фигня в общем и у IAR - хидеры ваяют со своими "расширениями" с той же целью.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 4 2017, 15:08
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(zltigo @ Mar 4 2017, 09:27)  Неправильно, что то, что можно и НУЖНО делать преносимыми средствами языка, делается непереносимыми средствами инструмента. Появляется нахренненужная привязка и инструменту. Точнее, конечно, "нужная", но только тексасу пытающемуся таким образом подсадить недалеких потребителей и на свои инструменты, и свои контролеры. Такая же фигня в общем и у IAR - хидеры ваяют со своими "расширениями" с той же целью. Agreed 100%
--------------------
|
|
|
|
|
Mar 4 2017, 15:42
|
Профессионал
    
Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528

|
Цитата(pitt @ Mar 4 2017, 22:08)  Agreed 100% Так-то оно так, да вот беда - в С не предусмотрено стандартных средств для назначения объектам реальных адресов. Впрочем для процессоров где периферия отображается в общее с памятью адресное пространство (типа ARM или MSP430) эти средства не особо нужны, можно обойтись указателями на регистры периферии.
--------------------
Russia est omnis divisa in partes octo.
|
|
|
|
|
Mar 5 2017, 07:04
|
Знающий
   
Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839

|
Что-то я не понял про привязку. У меня таблица векторов выглядит так: Код __attribute__ ((section(".isr_vectors"))) void (* const __vectors[])(void) = { &_estack, /* The initial stack pointer */ Reset_Handler, /* Reset Handler */ NMI_Handler, /* NMI Handler */ HardFault_Handler, /* Hard Fault Handler */ ......................... В скрипте линкера прописывается куда положить какую секцию и собственно все.
|
|
|
|
|
Mar 5 2017, 20:34
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Шаманъ @ Mar 5 2017, 09:04)  Что-то я не понял про привязку. У меня таблица векторов выглядит так: В скрипте линкера прописывается куда положить какую секцию и собственно все. Разговор был про назначение адресов памяти регистрам периферии. Кто-то делает это в си-шных хидерах, кто-то - через линкер. Принципиальной разницы нет. Имхо. Цитата(Genadi Zawidowski @ Mar 5 2017, 12:12)  А есть люди, кто этот массив частично описывают в программе, частично собирают в скрипте линкера. Вот я глядя в исходник и ошибся, считая сто там ошибка (неполная таблица). Скорее такие люди просто надёргали кусков отовсюду, не разбираясь и не понимая.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|