-
- Не вижу смысла в микроконтроллерах применять malloc вообще. Ведь тебя же не смущает что программа зашита во флешь по жестко заданным адресам? Почему для переменных должно быть по другому? Глобальные переменные размещены статически, локальные - в Михаил Е.(324 знак., 02.02.2012 16:18)
- Я использую malloc в микроконтроллере. Этот микроконтроллер может по сетке отдавать клиенту HTML страничку с показаниями измерений в реальном времени. Причем, количество ОДНОВРЕМЕННО подключенных клиентов ограниченно ТОЛЬКО физическим объемом USSR(448 знак., 03.02.2012 12:46, )
- А чем микроконтроллеры отличаются от программ на PC? В момент исполнения тоже всё по фиксированным адресам и т.п. Про много программ -- чушь. У разных программ разные адресные пространства (если говорить о unix, например, отдельный процесс мало fk0(724 знак., 02.02.2012 21:49)
- Хорошо, немного по другому Михаил Е.(399 знак., 03.02.2012 11:33)
- да, встроенный не используют по причине сегментации. abivan(238 знак., 02.02.2012 08:48, ссылка)
- MISRA не рекомендует , наверное не умеет. - PlainUser(02.02.2012 10:05)
- MPLAB-X вообще работает? Я скачал, поставил. Импортировал coff. Запрограммировал. Во-первых дамп памяти, регистры процессора и т.п. в хексах не посмотреть!!! А собственно из coff он не видит половину символов, и исходников не находит. Попробовал fk0(747 знак., 02.02.2012 09:34)
- посмотри с elf, с coff у меня были проблемы. С elf у меня проблем нет. - abivan(02.02.2012 12:37)
- Сегментация (фрагментация) -- это сказочный миф (те кто не пользуют -- особенно хорошо о сегментации знают, ага). Практически же возможность фрагментации зависит от того, каким образом выделяется память в программе и от стратегии выделения памяти. fk0(2538 знак., 02.02.2012 09:23 - 09:25)
- Предложенный вариант реализован для себя, поэтому и не выкладывется "официально". abivan(1794 знак., 02.02.2012 11:38)
- Я против byte и word по следующим причинам: во-первых не стоит насильно задавать byte, об этом уже вовсю в популярных журналах пишется, иногда word быстрей. А иногда нет (8-битный контроллер скорей). Потом, byte == char, то не очевидно какая у fk0(1701 знак., 02.02.2012 23:29)
- позиция ясна, но я не вижу противоречий. Может мы по разному понимаем BYTE и WORD? abivan(1277 знак., 03.02.2012 10:39)
- Чем это лучше комбинирования в одной программе _станадартных_ (u)int8_t там, где важен размер и (u)int_fast8_t там, где важна скорость, но 8 бит достаточно — и stdint.h для второго на 8-битнике даст (un)signed char, а на 32-битнике - (un)signed =ReAl=(126 знак., 03.02.2012 13:46, )
- да ничем. Этот файл появился в 99 году на бумаге, а я уже в 88 проги писал с использованием переопределенных типов. Испоьзую переопределение и Венгерскую нотацию. Смысла переходить на новую мнемонику не вижу никакого. Слово WORD короче abivan(291 знак., 03.02.2012 14:58)
- uint_least16_t это не менее 16-и бит :) Если на другом МК нативная разрядность будет выше, то этот тип преобразуется к ней. - rezident(03.02.2012 15:06, ссылка)
- :-) в слове WORD 4 буквы, а в uint_least16_t - 14 - abivan(03.02.2012 15:47)
- Только одними заглавными буквами обычно макросы обозначают. Хотя у вас и так это макроподстановка, обозначающая тип данных. - rezident(03.02.2012 19:57)
- WORD - это 4 кнопки с шифтом, медленно и неудобно, uint_least16_t - 3 кнопки без шифта (ulh), так что не аргумент :) AD(57 знак., 03.02.2012 15:55)
- :-) в слове WORD 4 буквы, а в uint_least16_t - 14 - abivan(03.02.2012 15:47)
- uint_least16_t это не менее 16-и бит :) Если на другом МК нативная разрядность будет выше, то этот тип преобразуется к ней. - rezident(03.02.2012 15:06, ссылка)
- Я одно время тоже практиковал свой собственный заголовочный файл с переопределяемыми типами данных. Но потом как-то перешел на использование stdint.h и когда передаю коллегам части программ, написанных для МК, для отладки на PC, то дискомфорта не rezident(63 знак., 03.02.2012 13:51 - 13:53)
- да ничем. Этот файл появился в 99 году на бумаге, а я уже в 88 проги писал с использованием переопределенных типов. Испоьзую переопределение и Венгерскую нотацию. Смысла переходить на новую мнемонику не вижу никакого. Слово WORD короче abivan(291 знак., 03.02.2012 14:58)
- Чем это лучше комбинирования в одной программе _станадартных_ (u)int8_t там, где важен размер и (u)int_fast8_t там, где важна скорость, но 8 бит достаточно — и stdint.h для второго на 8-битнике даст (un)signed char, а на 32-битнике - (un)signed =ReAl=(126 знак., 03.02.2012 13:46, )
- позиция ясна, но я не вижу противоречий. Может мы по разному понимаем BYTE и WORD? abivan(1277 знак., 03.02.2012 10:39)
- Я против byte и word по следующим причинам: во-первых не стоит насильно задавать byte, об этом уже вовсю в популярных журналах пишется, иногда word быстрей. А иногда нет (8-битный контроллер скорей). Потом, byte == char, то не очевидно какая у fk0(1701 знак., 02.02.2012 23:29)
- Предложенный вариант реализован для себя, поэтому и не выкладывется "официально". abivan(1794 знак., 02.02.2012 11:38)
- Не вижу смысла в микроконтроллерах применять malloc вообще. Ведь тебя же не смущает что программа зашита во флешь по жестко заданным адресам? Почему для переменных должно быть по другому? Глобальные переменные размещены статически, локальные - в Михаил Е.(324 знак., 02.02.2012 16:18)