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

 
 
> ATxMEGA и EERPOM
Navovvol
сообщение Oct 13 2011, 11:47
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 105
Регистрация: 9-09-11
Пользователь №: 67 080



Пытаюсь написать подпрограммы записи и чтения внутренней EEPROM на асме
Нифига не получается, не могу понять почему.
Вот что сказано в даташите:

30.11.5.1. Загрузка страничного буфера EEPROM

Данная команда предназначена для записи одного байта в страничный буфер EEPROM.

Запишите в регистр NVM CMD команду загрузки страничного буфера EEPROM
Запишите в регистр NVM ADDR0 адрес, по которому выполняется запись.
Запишите в регистр NVM DATA0 данные, подлежащие записи. Это приведет к запуску исполнения команды.

30.11.5.4. Запись страницы EEPROM

Данная команда предназначена для записи загруженного страничного буфера EEPROM в одну страницу EEPROM. Запись выполняется только тех ячеек, которые предварительно были загружены в страничный буфер EEPROM.

Запишите в регистр NVM CMD команду записи страницы EEPROM.
Запишите в регистр NVM ADDR адрес подлежащей записи страницы EEPROM.
Установите бит CMDEX в регистре NVM CTRLA с использованием привязанной ко времени последовательности CCP.

Флаг BUSY регистра NVM STATUS равен единице вплоть до завершения операции.


И вот что я нагородил :

Код
.macro stsi     ; Запись в порт IO
       ldi r16,@1
       sts @0,r16
.endm

stsi NVM_CMD,0x33
stsi NVM_ADDR0,0
stsi NVM_DATA0,0b10101010

stsi NVM_ADDR0,0
stsi NVM_CMD,0x34
stsi CPU_CCP,0xD8
stsi NVM_CTRLA,1


после этого устанавливается флаг NVMBUSY, когда он снимается жму ALT+6 смотрю на EEPROM и DATA MAPPED_EEPROM, там везде FF. Че не так делаю ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Юрий_СВ
сообщение Oct 17 2011, 18:13
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 4-05-08
Пользователь №: 37 272



По идее, считать ревизию контроллера можно чем угодно, а не только JTAG.

Можно попытаться вывести на порт.
Находится она в MCU.REVID (младшие 4 бита).
0-ревизия A, 1 - B, ... и т.д.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Oct 17 2011, 18:56
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Юрий_СВ @ Oct 17 2011, 21:13) *
По идее, считать ревизию контроллера можно чем угодно, а не только JTAG.

Можно попытаться вывести на порт.
Находится она в MCU.REVID (младшие 4 бита).
0-ревизия A, 1 - B, ... и т.д.


Да, Вы совершенно правы... проще чем два байта переслать - всего один байт:
Код
#include "usart_driver.h"

// USARTE0, 9600, 2 MHz
PORTE.DIRSET=(1<<3);
USART_Format_Set(&USARTE0, USART_CHSIZE_8BIT_gc, USART_PMODE_DISABLED_gc, 0);
USART_Tx_Enable(&USARTE0);
USART_SetMode(&USARTE0, 0);
unsigned short uart_divider;
uart_divider=2000000/16/9600/4-1;
USART_Baudrate_Set(&USARTE0, uart_divider, 0);
unsigned char i=MCU.REVID&15;
USART_PutChar(&USARTE0, i+'A');


Что-то типа такого...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Navovvol   ATxMEGA и EERPOM   Oct 13 2011, 11:47
- - Юрий_СВ   Делаю так : (предварительно включаю отображение EE...   Oct 13 2011, 13:05
|- - Navovvol   Цитата(Юрий_СВ @ Oct 13 2011, 17:05) Дела...   Oct 13 2011, 13:22
|- - Юрий_СВ   Цитата(Navovvol @ Oct 13 2011, 16:22) Это...   Oct 13 2011, 13:44
|- - _Артём_   Цитата(Юрий_СВ @ Oct 13 2011, 16:44) NVM....   Oct 13 2011, 13:56
|- - Юрий_СВ   Цитата(_Артём_ @ Oct 13 2011, 16:56) Проб...   Oct 13 2011, 14:13
||- - _Артём_   Цитата(Юрий_СВ @ Oct 13 2011, 17:13) Не з...   Oct 13 2011, 15:11
||- - Юрий_СВ   Цитата(_Артём_ @ Oct 13 2011, 18:11) Из d...   Oct 13 2011, 15:22
|- - Navovvol   Цитата(_Артём_ @ Oct 13 2011, 17:56) Проб...   Oct 14 2011, 05:44
|- - _Артём_   Цитата(Navovvol @ Oct 14 2011, 08:44) В д...   Oct 14 2011, 11:55
|- - Navovvol   Цитата(_Артём_ @ Oct 14 2011, 15:55) Посм...   Oct 14 2011, 12:17
|- - _Артём_   Цитата(Navovvol @ Oct 14 2011, 15:17) Oli...   Oct 14 2011, 12:40
|- - Navovvol   Цитата(_Артём_ @ Oct 14 2011, 16:40) Это ...   Oct 16 2011, 15:58
|- - _Артём_   Цитата(Navovvol @ Oct 16 2011, 18:58) Что...   Oct 16 2011, 19:01
|- - Navovvol   Цитата(_Артём_ @ Oct 16 2011, 23:01) Врод...   Oct 17 2011, 10:13
|- - _Артём_   Цитата(Navovvol @ Oct 17 2011, 13:13) 4-а...   Oct 17 2011, 11:29
- - Navovvol   Я запускал только в симуляторе. Всё это дело пишет...   Oct 13 2011, 16:53
|- - Юрий_СВ   Цитата(Navovvol @ Oct 13 2011, 19:53) Я з...   Oct 13 2011, 20:17
- - Navovvol   А в симуляторе AVR Studio 5 для AtXmega вообще воз...   Oct 14 2011, 11:41
- - Navovvol   Считал REV.H через JTAG. ))   Oct 18 2011, 12:54


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

 


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


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