mantech 53 3 июля, 2022 Опубликовано 3 июля, 2022 · Жалоба Приветствую. Есть такая проблемка - не могу задать компилятору адрес расположения структуры. В примерах есть такое, но с использованием sections, но это требует правки скрипта линкера, чего не хотелось бы... #define USBH0_DRAM_START 0x40000000 USBH_HandleTypeDef hUsbHostHS; - здесь она будет располагаться там, где удобно компилятору Можно ли как-то задать адрес USBH0_DRAM_START , где будет располагаться данная структура, как вот здесь задано: uint8_t* setup_request=((uint8_t*)USBH0_DRAM_START); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 3 июля, 2022 Опубликовано 3 июля, 2022 · Жалоба On 7/3/2022 at 5:20 PM, mantech said: Приветствую #define hUsbHostHS (*((volatile USBH_HandleTypeDef*) 0x40000000)) Может так ? Посмотрите в зоголовочнике, описывающем регистры вашего МК как описываются всякие там таймеры и прочие SPI. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 229 3 июля, 2022 Опубликовано 3 июля, 2022 · Жалоба 1 минуту назад, dimka76 сказал: #define hUsbHostHS (*((volatile USBH_HandleTypeDef*) 0x40000000)) Может так ? Посмотрите в зоголовочнике, описывающем регистры вашего МК как описываются всякие там таймеры и прочие SPI. Можно, конечно, но есть одно "но": размещением в памяти ведает линкер и, боюсь, что его объехать не удастся, т.к. если ему явно не объяснить через его скрипт, что по адресу 0x40000000 вы хотите разместить структуру hUsbHostHS, то он легко может поместить туда что-нибудь другое на своё усмотрение. Единственный вариант - если этот диапазон адресов будет скрыт от линкера (для гарантированной защиты от конфликтов совместного доступа) и можно применить такую конструкцию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 3 июля, 2022 Опубликовано 3 июля, 2022 · Жалоба В 03.07.2022 в 17:47, makc сказал: то он легко может поместить туда что-нибудь другое на своё усмотрение. Нет, это адресное пространство для него закрыто, тут все будет норм... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 229 3 июля, 2022 Опубликовано 3 июля, 2022 · Жалоба 1 минуту назад, mantech сказал: Нет, это адресное пространство для него закрыто, тут все будет норм... Тогда решение @dimka76 должно вполне вам подойти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 4 июля, 2022 Опубликовано 4 июля, 2022 · Жалоба В 03.07.2022 в 17:45, dimka76 сказал: Может так ? Спасибо! Частично работает, но где-то подглючивает все равно, скорее всего еще какие-то косяки моего портирования)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться