Является.NET Микро Платформой хороший способ запуститься со встроенного программирования?

Вам необходимо выделить копию mytype_t в куче для каждого его экземпляра, который вы добавляете в связанный список. Обратите внимание на значение &myt в каждом вызове g_list_append(): оно будет одинаковым для каждого значения i, поскольку оно относится к одному и тому же фрагменту стековой памяти.

Вы можете сделать это с:

mytype_t *myt = g_new0 (mytype_t, 1);
myt->a = i;
l = g_list_append (l, myt);

в вашем цикле.

Обратите внимание, что вызов g_list_append() в цикле стоит O (N ^ 2), так как он должен выполнять итерацию по длине списка каждый раз, чтобы найти конец. В общем, использование связанного списка - плохая идея, а массив указателей (GPtrArray в GLib) обычно является гораздо более подходящей структурой данных.

10
задан Peter Mortensen 25 September 2012 в 17:51
поделиться

6 ответов

Это верно.NET, Микро Платформа полностью отличается. Ethernet, последовательные порты (UART), SPI, I2C и поддержка GPIOs все в одном.

И Вы используете Visual Studio 2008. Лучший IDE.

2
ответ дан 3 December 2019 в 14:12
поделиться

Если Вы интересуетесь использованием.NET, микро платформа смотрит на Тахо II из devicesolutions.net

1
ответ дан 3 December 2019 в 14:12
поделиться

Микро Платформа.NET предназначена для встроенных систем, которые содержат мощный процессор (в настоящее время ARM7, ARM9 и Blackfin).

Плата Ардуино основана на 8-разрядном микроконтроллере AVR, для которого.NET Микро Платформа даже не доступна. Рассмотрите, например, требования к памяти платформы: Это рекламируется для потребления всего приблизительно 300 КБ памяти. Ардуино имеет в общей сложности 16 КБ памяти программ + 1 КБ RAM.

Nintendo DS, с другой стороны, по крайней мере технически способна к выполнению.NET Микро Платформа.

Если Вы интересуетесь встроенным программированием для аппаратных средств, таких как Ардуино, я могу уверить Вас, что Вам не нужно (и обычно не может использовать), любая библиотека высокого уровня или операционная система. На самом деле Вы найдете, что программирование для маленького микроконтроллера будет радостью, потому что все очень просто и под Вашим полным контролем.

7
ответ дан 3 December 2019 в 14:12
поделиться

Этот ответ немного вне темы, но....

Я лично использую PIC из microchip.com. Они действительно недороги и имеют довольно много материала, встроенного с тоннами опций/версий. В то время как я хотел бы использовать Микро.NET, это, кажется, разрабатывается для микросхем более высокого уровня, которые разработаны для выполнения Ose. Для большого количества встроенных проектов, особенно в коммуникационном поле нужны микросхемы более высокого уровня (100$ + платы в небольших количествах), но много хороших встроенных проектов является маленьким материалом и только нужно в центральных процессорах за 2$. Микро.NET не предназначается для них.

1
ответ дан 3 December 2019 в 14:12
поделиться

Также проверьте другой способ: преобразовать код обработки для работы. NET micro framework http://blogs.oberon.ch/tamberg/2009-02-23/running-processing-code-on-the-dotnet-mf.html

0
ответ дан 3 December 2019 в 14:12
поделиться

Честно говоря, на вашем месте (а я, кстати, не так), я бы придерживался этого и избегал высокоуровневой абстракции платформы .NET для встроенная система. Я учился на курсах колледжа, где я впервые познакомился с концепциями встроенных систем на комплекте SunROM (похожем на плату Arduino, а также содержащем микроконтроллер ATmega32) на языке ассемблера AVR, а затем заново обучил концепциям на языке C Обладая кратким техническим пониманием .NET, я чувствую, что в платформе слишком много произвольной абстракции, чтобы это было очень разумным выбором. (Конечно, отчасти это связано с моей ненавистью к .NET и Java в целом, особенно когда они используются во встроенных системах, поэтому отнеситесь к моему предвзятому мнению с долей скептицизма.)

Встроенное программное обеспечение должно (на мой взгляд) иметь возможность использовать преимущества платформы, на которой оно работает, чтобы работать как можно быстрее и эффективнее, вместо того, чтобы делать его более абстрактным для работы на как можно большем количестве различных машин. Вместо того, чтобы упрощать комплект для разработки программного обеспечения, замедлять работу программ или добавлять ненужную сложность, я думаю, вам следует изучить концепции и реализацию с нуля, чтобы вы лучше знали, что такое "System.Watchdog". действительно есть, прежде чем вы начнете злоупотреблять одним.

8
ответ дан 3 December 2019 в 14:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: