[an error occurred while processing this directive]
|
помоему у меня дело в
>> - кто инитит систему? в частности стек кто инитит?
где об этом почитать и вообще как это надо делать (особенно относительно стека)
я работаю не с ДСК-платой, соответственно эмулятора Дижаг нет(
проц -5502
модель памяти - large (но вообще это пофиг)
подключена rts55x.lib
настройки проекта:
["Compiler" Settings: "my_custom"]
Options=-mg -as -o3 -fr".\my_custom" -ml -mn -v5510:2
["Linker" Settings: "my_custom"]
Options=-c -m".\my_custom\sina5502.map" -o".\my_custom\sina5502.out" -x -l"rts55x.lib"
проблема более подробно:
проект полностью на Си с асм-файлом таблицы инициализации адресов процедур обработки векторов прерываний
о проекте: сам проект - радиомодем- принимает по UART пакеты, кодирует и выдает обкатанный сигнал на модулятор (ЦАП)
принимает поток из эфира (АЦП), демодулирует, декодирует пакеты, выдает по UART/
в симуляторе отлажен полный путь : от приема UART (чтение из файла) до передачи принятых пакетов по UART
между модулятором и демодулятором написана симуляция канала передачи. все исправно фунициклирует (в симуляторе)
.
перетаскиваю на проц- не работает... конкретно: напр. процедура подсчета CRC пакета ,которая имеет уровень вложенности 3 выдает некорректные результаты, вернее корректные, но ипшет его совсем не туда куда должна была бы..
файл линковщика:
-stack 0x2000 /* primary stack size */
-sysstack 0x3000 /* secondary stack size */
-c
MEMORY {
DATA(RWI): origin = 0x6000, len = 0x9F00
PROG: origin = 0x0100, len = 0x5F00
VECT: origin = 0xFF00, len = 0x0100
}
SECTIONS
{
.trcinit: {} > PROG
frt: {} > PROG
.text: {} > PROG
.cinit: {} > PROG
.pinit: {} > PROG
.sysinit: {} > PROG
.bss: {} > DATA
.far: {} > DATA
.const: {} > DATA
.switch: {} > DATA
.sysmem: {} > DATA
.cio: {} > DATA
.sysheap: {} > DATA
.sysstack {} > DATA
.stack: {} > DATA
.dmaMem: {} > DATA
.vectors: {} > VECT
}
E-mail: info@telesys.ru