[an error occurred while processing this directive]
|
С CCS идут примеры - смотрите что бы типа vectors.asm был в нем таблица векторов - в нее свои значения и вперед.
Но 54 55 как раз и в этом месте отличаются - разный у них подход к прерываниям у 54 там инструкция лежит - а у 55 адрес "куды"
В 54 все просто было - ложишь вектора - это посредством линковщика - т.е. cmd файла для него - а потом в регистре меняешь адрес где таблица лежит - до резете все работает - потому как по резету этот чудо региср заливается значением по умолчанию.
или вот подробнее - говориться в vectors.asm что он в секции .vec должен быть. Потом линковщику говориться секцию .vec положить в такой то адрес. Потом по старту системы в регистр вот так примерно
// --- PMST ---
PMST=0xa4;// clkOff=1,OVLY=1,MP/MC=0,IPTR=1 -> vectors table 0x0080
// --- INT ---
IFR = IFR; // clear all int
IMR = 0x0c18; // t0int & B0rint & B1rint & B1xint enable
asm(" rsbx intm"); // INTM = 0 -> enable all unmasked int
И еще одно - в CCS 2.0 точно была таблица для 5402 неправильная! - точнее надписи были неправильные - так что как ни смешно пришлось читать мануал для 5402 :)
в 55 там хитрее - но принцип тотже - положил таблицу - перебил регистр на новое значение - это если кратко.
E-mail: info@telesys.ru