.ref _c_int00 ; Стандартный COFF startup применяет .cinit и вызывает main после отключения раннего watchdog. .sect "codestart" ; Boot ROM передаёт управление двухсловному переходу по аппаратному адресу слова 0x33FFF6. LB flash_boot_start ; Переходит к короткой подготовке C28x во Flash, сохраняя точный размер аппаратного входа два слова. .text ; Последовательность взята из штатного TI DSP2833x_CodeStartBranch.asm и размещается в секторе основного кода. flash_boot_start: ; Отключает watchdog до возможной длительной обработки таблиц инициализации C, а не только после входа в main. SETC OBJMODE ; Выбирает C28x object mode, требуемый стандартным COFF startup процессора F28335. EALLOW ; Разрешает запись защищённого регистра WDCR перед запуском C runtime. MOVZ DP, #7029h>>6 ; Адрес слова WDCR=0x7029 из карты F28335; DP выбирает соответствующую страницу по 64 слова. MOV @7029h, #0068h ; Значение 0x0068 содержит контрольные биты WDCHK=101 и WDDIS=1, как официальный TI startup. EDIS ; Возвращает защиту системных регистров перед переходом в библиотечную инициализацию. LB _c_int00 ; Применяет штатную ROM-модель инициализации и затем запускает текущий main 167. .end ; Завершает модуль, не добавляя произвольных данных рядом с CSM-паролями сектора A.