но всё равно проверь как у тебя объявлена переменная куда ты считываешь значение из флеши. я
подозреваю что оно у тебя интеджер. Для пик16 будет что-то вроде такого в асме
MOVF 0x40,W
MOVW Yaddres,F
если всё как у - unsigned char
И вообще сто раз подумай прежде чем применять интеджер на пиках и прочих 8-битниках -
раздувается размер кода и снижается быстродействие.
Sapienti sat
а разве мало для указателя с размером ОЗУ в камне с гулькин....
const long *ttt = 0x90;
void main(void) { long dat; dat = *ttt; }
теперь вопрос, чего ты ожидаешь?
в dat записалось то, что находится по адресу 0x90 в ПЗУ, а там есть что-то? причем там не просто что-то должно быть, а таблица retlw'ов (!!) (ну, почти), если ее там нет, то ты и будешь получать переполнение стека и прочее, потому как будет переход (гляди дизассемблированный hex или в листинге ищи, но там вряд ли, не помню) хрен знает куда, может на ф-цию, может еще на чтонить, если на не используемую область, то когда дошагает до конца памяти, то опять начнет с нуля, а там твоя прога и опять - до переполнения стека.
ключевые слова - констовый указатель у пикси 16-битный, о его формате пару слов сказано, детальнее ищи в
мануале.
Интересная штука получается
Автор: nic (---.interstar.net.ua)
Дата: 31/05/2005 13:05
По адресу 0x20e стоит call 0x4b,а там стоит запись в PCL адреса 0x90.Вроде всё правильно,если
бы по адресу 0x90 была команда RETLW X.А там находится массив из 0x3fff.Во дела...
Нету там RETLW,см.ниже(-)
Автор: nic (---.interstar.net.ua)
Дата: 31/05/2005 13:10
nic, расскажите нам, что хочется получить в итоге?
ok'
Автор: nic (---.interstar.net.ua)
Дата: 31/05/2005 13:48
Мне нужно прочитать лонговую константу находящуюся по фиксированному адресу.При компиляции я эту
константу не знаю,она будет вноситься непосредственно в hex-файл(установка серийного номера).Вот
для чего всё это нужно.
Как разместить?
Автор: nic (---.interstar.net.ua)
Дата: 31/05/2005 14:06
const long *ttt = 0x90;//обьявили указатель
Как в ячейку 0х90 разместить нужный код?
Блин,ну надо же...
Автор: nic (---.interstar.net.ua)
Дата: 31/05/2005 14:10
Если используется RETLW то компилятор действительно должен знать константу:-(((А тогда я не пол
учу того чего хотел:-(((Надо ж так лохануться...Извините ребята за отнятое время,задача не разре
шима.
блин, #pragma location или @
Автор: pal (---.sovintel.ru)
Дата: 31/05/2005 14:11