Перейти к содержанию
    

msalov

Свой
  • Постов

    502
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о msalov

  • Звание
    Знающий
    Знающий
  • День рождения 20.10.1984

Контакты

  • Сайт
    Array

Информация

  • Город
    Array

Посетители профиля

3 594 просмотра профиля
  1. Добрый день. Могу сказать, что протокол программирования един, и он реализован в моей программе. Т.е. отладчик загружает прошивку по известному протоколу, а потом делает сброс или что-то подобно для последующей отладки. А во с не есть нюансы. Спецификации протокола нет в свободном доступе, но отладка не так проста ещё и по причине использования отладочного монитора в отлаживаемом мк.для каждого чипа версия монитора отлична и поставляется в бинарном виде. Таким образом отладчик свой пока невозможно сделать.
  2. Программа пишется не для компилятора, а в первую очередь для того, кто будет её читать в будущем. Возможно и для будущего вас.
  3. Адрес 0x0F сгодится для указателя на uint8_t, но не сгодится для uint32_t. Будущему вам будет проще читать if (old_packet->ref != new_packet-<ref) нежели if (new_packet[0] != old_packet[0] || new_packet[1] != old_packet[1] || new_packet[2] != old_packet[2] || new_packet[3] != old_packet[3]) да и ошибку допустить будет сложнее в первом случае, вот и вся премудрость.
  4. Нет, разное происходит. При таком варианте у вас может быть проблема с невыровненным доступом. Идеальный вариант - объявить упакованную структуру. которая разложит байты пакета согласно логического содержания, ну а дальше оперировать полями этой структуры. __packed struct packet { ... uint32_t ref; ... }; struct packet *old_packet; struct packet *new_packet; if (old_packet->ref != new_packet->ref) { do_stuff(); } __packed зависит от вашего компилятора.
  5. Встречный вопрос: зачем? Например что бы обновлялась версия/дата сборки при каждой пересборке. Делается это так: .PHONY: FORCE FORCE: timestamp.o: FORCE %.o: %.c $(CC) ...
  6. Ну собственно любой adjustable ldo и резистор.
  7. Ядро тактируется от XT2? Если да, питание достаточное для ядра? XT2DRIVEx выставлен верно?
  8. Благодаря kuber-у "проблема" с RL78/G10 разрешилась. Начиная с версии rl78flash-v0.4 в состав входит отдельная программа rl78g10flash специально для RL78/G10.
  9. Видимо никак :( http://linux.die.net/man/1/patch Как обходной путь, можно скрипты вызывать не './foo.sh' а '$(SHELL) ./foo.sh'
  10. Написал драйвер для USB-UART преобразователя на upd78f0730, что даёт возможность наладить связь с МК на указанных платах. Возможно и на других тоже. Если кто-то попробует - просьба отписаться о результатах, как отрицательных, так и положительных. Если есть какие-либо замечания или рекомендации, так же хотелось бы их узнать. Ссылка на исходники: https://github.com/msalau/upd78f0730-driver
  11. Для этих целей есть Find First Set (ffs). Или вот ещё -> "Number of leading zeros algorithms"
  12. Такие объёмы памяти на стеке не выделяются. Если это константы - добавьте ключевое слово const, если нет - выделяйте при помощи malloc/calloc.
  13. Можно парой сдвоенных оптореле (или 4мя одиночными), например LCC110.
×
×
  • Создать...