|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
||||||
iar ругается на структуру24.05.2016, 14:32. Показов 3747. Ответов 12
Метки нет (Все метки)
Привет.
написал файл .h в нем структура вида:
0
|
||||||
| 24.05.2016, 14:32 | |
|
Ответы с готовыми решениями:
12
IAR размещает структуру по непонятным адресам вне ОЗУ IAR Internal Error: нужна помощь по IAR и по C++ компилятор ругается на структуру |
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
|
|
| 24.05.2016, 14:49 | |
|
Именно через extern и надо: в .h описываете тип структуры и пишете extern ..., в .c - без extern определяете переменную. После изменения .h ничего менять не придётся.
0
|
|
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
|
| 24.05.2016, 15:26 | |
|
Можете показать пример? А то когда используешь
#pragma pack(push,1) typedef struct node{ } mem_card; #pragma pack(pop) extern mem_card Info; ругается указатель на структуру index_mem = (uint8_t *)&mem_card; Error[Pe254]: type name is not allowed
0
|
|
|
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 4
|
|||||||
| 24.05.2016, 15:30 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
|
| 25.05.2016, 14:45 | |
|
Взял адрес от элемента структуры uint16_t * p = &Info.number; (number элемент структуры) компилятор выдал предупреждение Warning[Pa039]: use of address of unotygned structure member
0
|
|
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
| 25.05.2016, 15:37 | |
|
а вопрос в чем?
0
|
|
|
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 11
|
||
| 25.05.2016, 15:42 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
|
| 25.05.2016, 20:18 | |
|
Почему медленно с чем связано(mcu stm32f429)? выровнять структуру надо в нее пишу данные из usb vcp . После принятия данных пишу структуру eeprom очень удобно указываешь Адрес структуры и записываешь в память. После есть необходимость менять определенные элементы структуры и записывать их в eeprom. Каждый раз переписывать всю память eeprom где находится структура мягко говоря не правильно. По этой причине нужно вычислить адрес элемента в eeprom который нужно перезапесать. Для этой цели хотел сделать следующей алгоритм брать адрес начало структуры и адрес элемента их разница даст количество байт. Динное количество байт писать в адрес eeprom с учетом начального адреса расположения структуры в eeprom. Но вот компилятор выдал предупреждения. Как можно решить по другому?
0
|
|
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
|
| 26.05.2016, 13:43 | |
|
Скажите какие есть средства выравнять структуру?
0
|
|
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
| 26.05.2016, 13:53 | |
|
#pragma pack?
0
|
|
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 430
|
|
| 26.05.2016, 13:59 | |
|
orm999 говорит что #pragma pack плохо. Просто не всегда получается выравнивать подбором элементов структуры.
0
|
|
|
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 11
|
||||||||
| 26.05.2016, 14:16 | ||||||||
Медленоо в два раза потому что из флешки данные читаются словами и если Вы прочитывете данные члена упакованной структуры, адрес которого не выровнен по слову ядро прочитает два слова вместо одного: [..] слова {..} - невыровненный член структуры
0
|
||||||||
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
| 26.05.2016, 14:48 | |
|
если нужно выровнять поля так, как будет лучше процессору - ничего не надо делать, компиляторы сами это делают сразу. другое дело, если нужно кастомное выравнивание или его отсутствие. тут кроме прагма пак или сырого массива байт с ручным вытаскиванием байтов и слов (что куда хуже прагмы!) сложно что-то придумать. посему - если реально нужно - пусть будет прагма. если сомневаешься - значит не нужно.
опять же, применительно к вашей задаче. память еепром настолько ценна, что нужно экономить несколько потерянных из-за выравнивания байт? а чтобы не перезаписывать неизменившиеся данные, можно просто байт за байтом пройтись по озу и еепром и записать только то, что изменилось. никакой проблемы.
0
|
|
| 26.05.2016, 14:48 | |
|
Помогаю со студенческими работами здесь
13
масм ругается на структуру WNDCLASSEX Почему vk ругается на бесплатные хостинги? На какие не ругается? Объявить динамическую структуру данных, выделить память под указатель на структуру объявить динамическую структуру данных, выделить память под указатель на структуру
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|