реклама на сайте
подробности

 
 
> Xmega64A1 rev.H, LOCKBIT
zombi
сообщение Jan 25 2012, 10:56
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Кто знает почему:
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
zombi
сообщение Jan 25 2012, 12:04
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Написал две подпрограммы для чтения LOCKBITS.
Первая (работает) :
Код
RD_LA:
    lds    R16,(NVM_LOCKBITS)
    ret

Вторая (не работает) :
Код
RD_LB:
    lds    R16,(NVM_STATUS)
    sbrc    R16,NVM_NVMBUSY_bp
    rjmp    PC-3

    ldi    R16,0
    sts    (NVM_ADDR1),R16
    sts    (NVM_ADDR2),R16
    ldi    R16,0x07    ; <- address
    sts    (NVM_ADDR0),R16

    ldi    R16,NVM_CMD_READ_FUSES_gc
    sts    (NVM_CMD),R16

    ldi    R16,CCP_IOREG_gc
    sts    (CPU_CCP),R16
    ldi    R16,NVM_CMDEX_bm
    sts    (NVM_CTRLA),R16

    lds    R16,(NVM_DATA0)
    ret

По идее в результате выполнения обоих подпрограмм в R16 должно быть состояние LOCKBIT.
Но почему то вторая этого не делает !!!
Причем она же (вторая) читает все FUSEBYTE отлично (при соответствующем NVM_ADDR0).
В чём может быть дело?

PS. И более того, похоже что после выполнения второй программы при NVM_ADDR0=0x07 состояние NVM_DATA0 вообще не изменяется. Вот что в нём было до выполнения то и осталось.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016