-
Унификация Stable
released this
2025-07-17 11:02:34 +03:00 | 9 commits to master since this releaseБиблиотека
- библиотека .c/.h переписана под универсальные дефайны intX_t uintX_t
- добавлены комменты к debug_tools.c/.h
- добавлен пример debug_vars.c
- фикс перевод float в iq
- фикс кривых проверок на наличие uint8_t
Приложение:
- сделано задание размера короткого имени
- фикс поиска вручнуб добавленных переменных в debug_vars.c
- добавлена бета поддержка stm:+
- парс переменных из файла преокта Keil или makefile CubeIDE
- запись в utf-8 для STM, вместо cp1251 для TMS
- другой размер int (32 бита, вместо 16 бит) для STM
Downloads
-
Первый релиз Pre-Release
released this
2025-07-15 15:55:52 +03:00 | 14 commits to master since this releaseDebugTools - Просмотр переменных через терминалку
Модуль состоит из трех файлов:
- debug_tools.c - реализация считывания переменных
- debug_tools.h - объявление всякого для считывания переменных
- debug_vars.c - определение массива считываемых переменных
Этот модуль предоставляет функциональность для чтения значений переменных во встроенной системе, включая работу с IQ-форматами, защиту доступа и проверку диапазонов памяти.
Для чтения переменных можно использовать функции:
int Debug_ReadVar(int var_ind, long *return_long); int Debug_ReadVarName(int var_ind, DebugVarName_t name_ptr);
Переменные доступные для чтения определяются в debug_vars.c (их можно прописывать вручную или генерировать через DebugVarEdit):
// Определение массива с указателями на переменные для отладки int DebugVar_Qnt = 5; #pragma DATA_SECTION(dbg_vars,".dbgvar_info") // pointer_type iq_type return_iq_type short_name DebugVar_t dbg_vars[] = {\ {(char *)&freqTerm, pt_float, t_iq_none, t_iq10, "freqT" }, \ {(char *)&ADC_sf[0][0], pt_int16, t_iq_none, t_iq_none, "ADC_sf00" }, \ {(char *)&ADC_sf[0][1], pt_int16, t_iq_none, t_iq_none, "ADC_sf01" }, \ {(char *)&ADC_sf[0][2], pt_int16, t_iq_none, t_iq_none, "ADC_sf02" }, \ {(char *)&ADC_sf[0][3], pt_int16, t_iq_none, t_iq_none, "ADC_sf03" }, \ {(char *)&Bender[0].KOhms, pt_uint16, t_iq, t_iq10, "Bend0.KOhm" }, \ {(char *)&Bender[0].Times, pt_uint16, t_iq_none, t_iq_none, "Bend0.Time" }, \ };
DebugVarEdit - Настройка переменных для терминалки
DebugVarEdit — графическое приложение для Windows, предназначенное для настройки и генерации отладочных переменных (
debug_vars.c
) на основе исходного C-проекта. Работает сmakefile
проекта, сохраняет изменения в XML и позволяет удобно редактировать переменные и их типы через интерфейс.Программа — один исполняемый файл
DebugVarEdit.exe
, не требующий установки и дополнительных зависимостей.Требуется Windows 7 или новее.
Как использовать приложение
-
Запустите DebugVarEdit.exe.
-
Укажите пути:
- Путь к XML — новый или существующий файл настроек переменных;
- Путь к проекту — путь к корню проека (папка, которая является корнем для проекта в Code Composer);
- Путь к makefile — путь к
makefile
относительно корня проекта; - Путь для debug_vars.c — папка, куда будет сгенерирован файл
debug_vars.c
с переменными.
-
Нажмите Сканировать переменные:
- Программа проанализирует исходники, указанные в makefile, и найдёт все переменные.
- Результат сохранится в двух XML-файлах:
structs.xml
— информация обо всех структурах и typedef;<ваш_файл>.xml
— список всех найденных переменных.
-
Нажмите Добавить переменные:
- В левой таблице отображаются все найденные переменные.
Для добавления переменной в проект дважды кликните по ней или нажмите кнопку>
, чтобы переместить в правую таблицу. - В правой таблице находятся переменные, выбранные для использования.
Чтобы убрать переменную из проекта, переместите её обратно в левую таблицу двойным кликом или кнопкой<
. - После выбора переменных нажмите Применить, чтобы обновить основной список переменных и включить их в проект.
- В левой таблице отображаются все найденные переменные.
-
Настройте параметры выбранных переменных:
- En — включение или отключение переменной для генерации;
- Base Type — базовый тип переменной (например, int8, uint16 и т.д.);
- IQ Type — формат IQ, если применимо;
- Return Type — формат возвращаемого значения (IQ-тип или целочисленный);
- Shortname — короткое имя переменной для для терминалки.
Все параметры выбираются из выпадающих списков, которые можно настроить, чтобы отображались только нужные опции.
-
Нажмите Сгенерировать файл для создания файла
debug_vars.c
с выбранными переменными.
Возможности
- Загрузка и сохранение настроек переменных в XML-файлах.
- Автоматическое определение исходных файлов с переменными для удобства работы.
- Редактирование переменных: включение, короткого имени и типов через удобные списки.
- Подсветка ошибок при вводе (неправильные имена, слишком длинные короткие имена).
- Быстрая фильтрация переменных по столбцам.
- Автоматическая генерация файла debug_vars.c с выбранными переменными.
- Возможность сразу открыть сгенерированный файл в редакторе.
- Умное автодополнение имён переменных и полей структур.
Пример XML-файла
<project proj_path="C:/myproj" makefile_path="Debug/Makefile" structs_path="debugVars/structs.xml"> <variables> <var name="g_myvar"> <enable>true</enable> <show_var>true</show_var> <shortname>myv</shortname> <pt_type>pt_float</pt_type> <iq_type>t_iq24</iq_type> <return_type>t_iq24</return_type> <type>float</type> <file>Src/main/main.c</file> <extern>true</extern> <static>false</static> </var> </variables> </project>
Downloads