Petr писал(а): * | 2014-ноя-12 19:42 |
Пример и инструкция по размещению программы для DSP-ядра внутри Flash-памяти контроллера 1901ВЦ1Т.
Здравствуйте!
Обнаружил ошибку при работе программы "DSP_ASCII_2_FILE_Conv".
Делаю тестовый проект, результат компиляции (out-файл) обрабатываю последовательно с помощью программы hex500.exe (получаю hex-файл), а затем - программой DSP_ASCII_2_FILE_Conv.exe (получаю результирующий h-файл).
Данный процесс работал нормально, но в какой-то момент я скомпилировал код, запустил обработку и обнаружил, что результирующий h-файл имеет слишком большой размер (более 8 Мб), при том, что промежуточный hex-файл имеет вполне обычный размер в 18 кБ. Оказалось, что в ошибочном h-файле по сравнению с обычным добавилась одна дополнительная секция размером 964561 элементов! Мало того, элементы данной секции не укладываются в размерность uint16_t, а имеют 5 цифр в шестнадцатеричной записи (например, 0xAEB99).
Что интересно, ошибочный h-файл генерируется для моего проекта только при определённых уровнях оптимизации, при других уровнях генерируется нормальный h-файл.
Пример, состоящий из out- и hex-файла своего проекта, которые генерируют ошибочный h-файл, прикладываю к сообщению.
Версия CCS: 3.3.38.2
Есть предложение к автору программы "DSP_ASCII_2_FILE_Conv": если решите исправить данную ошибку, то нельзя ли ещё добавить в программу возможность передавать имя обрабатываемого файла в командной строке - это позволило бы автоматически создавать результирующий h-файл сразу после компиляции проекта.
Если на исправление/добавление новых возможностей нет времени, может быть, имеет смысл поделиться исходниками проекта "DSP_ASCII_2_FILE_Conv", я мог бы сделать необходимые доработки?