

msalov
Свой-
Posts
502 -
Joined
-
Last visited
Reputation
0 ОбычныйAbout msalov
-
Rank
Знающий
- Birthday 10/20/1984
Контакты
-
Сайт
Array
Информация
-
Город
Array
Recent Profile Visitors
-
Программатор Renesas RL78
msalov replied to msalov's topic in Все остальные микроконтроллеры
Добрый день. Могу сказать, что протокол программирования един, и он реализован в моей программе. Т.е. отладчик загружает прошивку по известному протоколу, а потом делает сброс или что-то подобно для последующей отладки. А во с не есть нюансы. Спецификации протокола нет в свободном доступе, но отладка не так проста ещё и по причине использования отладочного монитора в отлаживаемом мк.для каждого чипа версия монитора отлична и поставляется в бинарном виде. Таким образом отладчик свой пока невозможно сделать. -
Программатор Renesas RL78
msalov replied to msalov's topic in Все остальные микроконтроллеры
Пишите на -
отследить изменение переменной.
msalov replied to jenya7's topic in Программирование
Программа пишется не для компилятора, а в первую очередь для того, кто будет её читать в будущем. Возможно и для будущего вас. -
отследить изменение переменной.
msalov replied to jenya7's topic in Программирование
Адрес 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]) да и ошибку допустить будет сложнее в первом случае, вот и вся премудрость. -
отследить изменение переменной.
msalov replied to jenya7's topic in Программирование
Нет, разное происходит. При таком варианте у вас может быть проблема с невыровненным доступом. Идеальный вариант - объявить упакованную структуру. которая разложит байты пакета согласно логического содержания, ну а дальше оперировать полями этой структуры. __packed struct packet { ... uint32_t ref; ... }; struct packet *old_packet; struct packet *new_packet; if (old_packet->ref != new_packet->ref) { do_stuff(); } __packed зависит от вашего компилятора. -
Встречный вопрос: зачем? Например что бы обновлялась версия/дата сборки при каждой пересборке. Делается это так: .PHONY: FORCE FORCE: timestamp.o: FORCE %.o: %.c $(CC) ...
-
Простейший источник тока для светодиода
msalov replied to ViKo's topic in Схемотехника
Ну собственно любой adjustable ldo и резистор. -
Ядро тактируется от XT2? Если да, питание достаточное для ядра? XT2DRIVEx выставлен верно?
-
опознать разъем
msalov replied to cant_101's topic in В помощь начинающему
Kycon KPPX-4P Hosiden TCP0546-715267 -
Программатор Renesas RL78
msalov replied to msalov's topic in Все остальные микроконтроллеры
Благодаря kuber-у "проблема" с RL78/G10 разрешилась. Начиная с версии rl78flash-v0.4 в состав входит отдельная программа rl78g10flash специально для RL78/G10. -
diff/patch
msalov replied to SM's topic in GNU/OpenSource средства разработки
Видимо никак :( http://linux.die.net/man/1/patch Как обходной путь, можно скрипты вызывать не './foo.sh' а '$(SHELL) ./foo.sh' -
Написал драйвер для USB-UART преобразователя на upd78f0730, что даёт возможность наладить связь с МК на указанных платах. Возможно и на других тоже. Если кто-то попробует - просьба отписаться о результатах, как отрицательных, так и положительных. Если есть какие-либо замечания или рекомендации, так же хотелось бы их узнать. Ссылка на исходники: https://github.com/msalau/upd78f0730-driver
-
Как с помощью #define определить позицию бита
msalov replied to ViKo's topic in Программирование
Для этих целей есть Find First Set (ffs). Или вот ещё -> "Number of leading zeros algorithms" -
расположить массив в памяти (Си)
msalov replied to Метценгерштейн's topic in Программирование
Такие объёмы памяти на стеке не выделяются. Если это константы - добавьте ключевое слово const, если нет - выделяйте при помощи malloc/calloc. -
Мультиплексирование сигналов RS-485/RS-232
msalov replied to kazak11's topic in Цифровые схемы, высокоскоростные ЦС
Можно парой сдвоенных оптореле (или 4мя одиночными), например LCC110.