Do you have a question? Post it now! No Registration Necessary
- Den Y. Borisov
January 26, 2004, 6:11 am

Здраствуйте Andy,
*24.01.04* *4:06:22* Вы писали в *RU.EMBEDDED*
сообщение к *Den Y. Borisov*
о *"Re: PIC ICSP-Load Configuration?"*.
AG>> Для переключения в Configuration memory space служит сама команда Load
AG>> Configuration. А за ней должны следовать 14 бит данных. В спецификации
AG>> рекомендуется подавать 0x3fff. Что это за данные?
>> Эта команда подготовит это число к записи по адресу 2000h.
>> Т. е. если следующей командой будет команда программирования
>> Program Memory, то содержимое ячейки с адресом 2000h не изменится
>> (нули останутся нулями, а единицы заменяться единицами).
AP> Hе правильно:
AP> $ DS30324B.PDF
AP> $ PIC16F7X
AP> $ FLASH Memory Programming Specification
AP> $ 2.3.1.1 Load Configuration (@page 5)
AP> $ After receiving th Load Configuration command, the PC will be set to
AP> $ 0x2000 and the data sent with the command discarded...
AP> Т.е. эти данные просто игнорируются и не влияют на содержимое по адресу
AP> 0x2000. А перед 'Program Memory' необходимо честно делать 'Load Data for
AP> Memory' с реальными данными.
А для PIC16F630/676/870/871/872/873/874/876/877 так, как написал я:
> After receiving this command, the program counter
> (PC) will be set to 0x2000. Then, by applying 16 cycles
> to the clock pin, the chip will load 14 bits in a "data
> word," as described above, which will be programmed
> into the configuration memory.
А для 627A/628A/648A так:
> The Load Configuration command advances the PC to
> the start of configuration memory (0x2000-0x200F),
> and loads the data for the first ID location.
Так что согласно документации, эта команда работает
на разных моделях по-разному :( .
Hо, в любом случае, откуда возьмутся данные,
которые потом нужно будет программировать
по команде *Program Memory*?
Из последней команды передачи данных -
в данном случае *Load Configuration*.
Как бы то ни было, конечно *Load Data For Program Memory*
делать нужно перед каждой *Program Memory* (так спокойнее :) ).
А по этому обыкавшемуся уже ;) адресу 2000h
хранится *ID Location 0*, которым наверное никто не пользуется,
и что окажется в этом *ID Location 0* после программирования
в большинстве случаев неважно ;) .
С уважением, Den
*24.01.04* *4:06:22* Вы писали в *RU.EMBEDDED*
сообщение к *Den Y. Borisov*
о *"Re: PIC ICSP-Load Configuration?"*.
AG>> Для переключения в Configuration memory space служит сама команда Load
AG>> Configuration. А за ней должны следовать 14 бит данных. В спецификации
AG>> рекомендуется подавать 0x3fff. Что это за данные?
>> Эта команда подготовит это число к записи по адресу 2000h.
>> Т. е. если следующей командой будет команда программирования
>> Program Memory, то содержимое ячейки с адресом 2000h не изменится
>> (нули останутся нулями, а единицы заменяться единицами).
AP> Hе правильно:
AP> $ DS30324B.PDF
AP> $ PIC16F7X
AP> $ FLASH Memory Programming Specification
AP> $ 2.3.1.1 Load Configuration (@page 5)
AP> $ After receiving th Load Configuration command, the PC will be set to
AP> $ 0x2000 and the data sent with the command discarded...
AP> Т.е. эти данные просто игнорируются и не влияют на содержимое по адресу
AP> 0x2000. А перед 'Program Memory' необходимо честно делать 'Load Data for
AP> Memory' с реальными данными.
А для PIC16F630/676/870/871/872/873/874/876/877 так, как написал я:
> After receiving this command, the program counter
> (PC) will be set to 0x2000. Then, by applying 16 cycles
> to the clock pin, the chip will load 14 bits in a "data
> word," as described above, which will be programmed
> into the configuration memory.
А для 627A/628A/648A так:
> The Load Configuration command advances the PC to
> the start of configuration memory (0x2000-0x200F),
> and loads the data for the first ID location.
Так что согласно документации, эта команда работает
на разных моделях по-разному :( .
Hо, в любом случае, откуда возьмутся данные,
которые потом нужно будет программировать
по команде *Program Memory*?
Из последней команды передачи данных -
в данном случае *Load Configuration*.
Как бы то ни было, конечно *Load Data For Program Memory*
делать нужно перед каждой *Program Memory* (так спокойнее :) ).
А по этому обыкавшемуся уже ;) адресу 2000h
хранится *ID Location 0*, которым наверное никто не пользуется,
и что окажется в этом *ID Location 0* после программирования
в большинстве случаев неважно ;) .
С уважением, Den
Site Timeline
- » подключить pc клавиатуру к атмел c51
- — Next thread in » Microcontrollers (Russian)
-
- » Убил выход, или не убил?
- — Previous thread in » Microcontrollers (Russian)
-
- » По моему это гениально
- — Newest thread in » Microcontrollers (Russian)
-
- » TLYp vs lgy
- — The site's Newest Thread. Posted in » Electronics (Polish)
-
- » Regulator ładowania aku 12V-12V / ogranicznik pr ądu
- — The site's Last Updated Thread. Posted in » Electronics (Polish)
-